From unknown Fri Aug 15 12:52:29 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#8730 <8730@debbugs.gnu.org> To: bug#8730 <8730@debbugs.gnu.org> Subject: Status: 23.2; unload-feature leaves hook Reply-To: bug#8730 <8730@debbugs.gnu.org> Date: Fri, 15 Aug 2025 19:52:29 +0000 retitle 8730 23.2; unload-feature leaves hook reassign 8730 emacs submitter 8730 Andreas R=C3=B6hler severity 8730 minor thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 25 01:54:00 2011 Received: (at submit) by debbugs.gnu.org; 25 May 2011 05:54:00 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QP72c-0007qk-IC for submit@debbugs.gnu.org; Wed, 25 May 2011 01:53:59 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QP72a-0007qY-9p for submit@debbugs.gnu.org; Wed, 25 May 2011 01:53:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QP72T-0007aX-KD for submit@debbugs.gnu.org; Wed, 25 May 2011 01:53:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:48061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QP72T-0007aT-Ic for submit@debbugs.gnu.org; Wed, 25 May 2011 01:53:49 -0400 Received: from eggs.gnu.org ([140.186.70.92]:40785) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QP72R-0001Qq-Ff for bug-gnu-emacs@gnu.org; Wed, 25 May 2011 01:53:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QP72P-0007Zx-7a for bug-gnu-emacs@gnu.org; Wed, 25 May 2011 01:53:47 -0400 Received: from moutng.kundenserver.de ([212.227.17.8]:62578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QP72O-0007Zk-Q4 for bug-gnu-emacs@gnu.org; Wed, 25 May 2011 01:53:45 -0400 Received: from [192.168.178.27] (brln-4db9eac5.pool.mediaWays.net [77.185.234.197]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0Lxbep-1PbHXJ2e9z-0179oI; Wed, 25 May 2011 07:53:43 +0200 Message-ID: <4DDC9961.7050500@easy-emacs.de> Date: Wed, 25 May 2011 07:53:37 +0200 From: =?ISO-8859-15?Q?Andreas_R=F6hler?= User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.17) Gecko/20110414 SUSE/3.1.10 Thunderbird/3.1.10 MIME-Version: 1.0 To: bug-gnu-emacs@gnu.org Subject: 23.2; unload-feature leaves hook Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:7ojhHB0u8PqJBzGSDF3qXUZ6+4H79KM3SCe8civmhL5 Z6qZgKAVlMO8hBgDz9CPBBWexoYFg9cZUDAyLtN9mWxj76TvCT SwSln6KQfg2LdslqzITW7mcCUionT1tqM8PCFwDD6IUCEo/hKu GkbZWFeVjUplEOeEXdIcMe6NeAJmjXLpGbJgi17JBOF/y61nOm U71g/yHTl7tHC0k4M5tXzaV6M/nwOJdp1gtsalV7pM= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -5.8 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.9 (-----) `emacs -Q': M-x python-mode M-x unload-feature RET python-mode M-x shell error in process filter: Symbol's function definition is void: python-pdbtrack-track-stack-file <<< Press Return to bury the buffer list >>> ;;;;;;;;;;; BTW an explicit call `remove-hook ...' solves the issue. Seems indicating a bug nonetheless. Cheers, Andreas -- https://code.launchpad.net/~a-roehler/python-mode/components-python-mode https://code.launchpad.net/s-x-emacs-werkstatt/ In GNU Emacs 23.2.1 (i586-suse-linux-gnu, GTK+ Version 2.22.1) of 2011-02-22 Windowing system distributor `The X.Org Foundation', version 11.0.10903000 configured using `configure '--with-pop' '--without-hesiod' '--with-kerberos' '--with-kerberos5' '--with-xim' '--enable-autodepend' '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--with-x' '--with-sound' '--with-sync-input' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-rsvg' '--with-dbus' '--without-gpm' '--with-x-toolkit=gtk' '--x-includes=/usr/include' '--x-libraries=/usr/lib:/usr/share/X11' '--with-xft' '--with-libotf' '--with-m17n-flt' '--build=i586-suse-linux' 'build_alias=i586-suse-linux' 'CC=gcc-4.3' 'CFLAGS=-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -D_GNU_SOURCE -std=gnu89 -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label -Wno-unprototyped-calls -fno-optimize-sibling-calls -DSYSTEM_PURESIZE_EXTRA=55000 -DSITELOAD_PURESIZE_EXTRA=10000 ' 'LDFLAGS=-Wl,-O2 -Wl,--hash-size=65521'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: de_DE.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Fundamental Minor modes in effect: shell-dirtrack-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC M-x s h e l l C-x o M-x e l e C-SPC M-w M-x r e p o r t - e m a c s - b u < return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... Type C-x 1 to delete the help window. Making completion list... error in process filter: run-hook-with-args: Symbol's function definition is void: python-pdbtrack-track-stack-file error in process filter: Symbol's function definition is void: python-pdbtrack-track-stack-file error in process filter: run-hook-with-args: Symbol's function definition is void: python-pdbtrack-track-stack-file error in process filter: Symbol's function definition is void: python-pdbtrack-track-stack-file <<< Press Return to bury the buffer list >>> Mark set Load-path shadows: /usr/share/emacs/site-lisp/make-regexp hides /usr/share/emacs/site-lisp/psgml/make-regexp /usr/share/emacs/site-lisp/flim/md5 hides /usr/share/emacs/site-lisp/w3/md5 /usr/share/emacs/site-lisp/ess-sas-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-d /usr/share/emacs/site-lisp/essd-els hides /usr/share/emacs/site-lisp/ess-5.13/lisp/essd-els /usr/share/emacs/site-lisp/ess-compat hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-compat /usr/share/emacs/site-lisp/ess-mode hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-mode /usr/share/emacs/site-lisp/ess-toolbar hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-toolbar /usr/share/emacs/site-lisp/ess-sp3-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp3-d /usr/share/emacs/site-lisp/ess-bugs-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-bugs-l /usr/share/emacs/site-lisp/noweb-font-lock-mode hides /usr/share/emacs/site-lisp/ess-5.13/lisp/noweb-font-lock-mode /usr/share/emacs/site-lisp/ess-noweb hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-noweb /usr/share/emacs/site-lisp/ess-rdired hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rdired /usr/share/emacs/site-lisp/ess-mouse hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-mouse /usr/share/emacs/site-lisp/ess-sp5-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp5-d /usr/share/emacs/site-lisp/ess-lsp-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-lsp-l /usr/share/emacs/site-lisp/ess-sp6w-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp6w-d /usr/share/emacs/site-lisp/ess-sas-a hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-a /usr/share/emacs/site-lisp/ess-menu hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-menu /usr/share/emacs/site-lisp/make-regexp hides /usr/share/emacs/site-lisp/ess-5.13/lisp/make-regexp /usr/share/emacs/site-lisp/ess-jags-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-jags-d /usr/share/emacs/site-lisp/ess-rd hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rd /usr/share/emacs/site-lisp/ess-trns hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-trns /usr/share/emacs/site-lisp/ess-s4-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s4-d /usr/share/emacs/site-lisp/ess-eldoc hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-eldoc /usr/share/emacs/site-lisp/ess hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess /usr/share/emacs/site-lisp/ess-inf hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-inf /usr/share/emacs/site-lisp/ess-dde hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-dde /usr/share/emacs/site-lisp/ess-rutils hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-rutils /usr/share/emacs/site-lisp/ess-bugs-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-bugs-d /usr/share/emacs/site-lisp/ess-omg-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-omg-l /usr/share/emacs/site-lisp/ess-custom hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-custom /usr/share/emacs/site-lisp/ess-sp6-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp6-d /usr/share/emacs/site-lisp/ess-xls-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-xls-d /usr/share/emacs/site-lisp/ess-s-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s-l /usr/share/emacs/site-lisp/ess-comp hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-comp /usr/share/emacs/site-lisp/noweb-mode hides /usr/share/emacs/site-lisp/ess-5.13/lisp/noweb-mode /usr/share/emacs/site-lisp/ess-arc-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-arc-d /usr/share/emacs/site-lisp/ess-font-lock hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-font-lock /usr/share/emacs/site-lisp/ess-swv hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-swv /usr/share/emacs/site-lisp/ess-sas-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sas-l /usr/share/emacs/site-lisp/ess-sta-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sta-d /usr/share/emacs/site-lisp/ess-sta-l hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sta-l /usr/share/emacs/site-lisp/ess-help hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-help /usr/share/emacs/site-lisp/ess-vst-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-vst-d /usr/share/emacs/site-lisp/ess-r-args hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-r-args /usr/share/emacs/site-lisp/mouseme hides /usr/share/emacs/site-lisp/ess-5.13/lisp/mouseme /usr/share/emacs/site-lisp/ess-roxy hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-roxy /usr/share/emacs/site-lisp/ess-site hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-site /usr/share/emacs/site-lisp/msdos hides /usr/share/emacs/site-lisp/ess-5.13/lisp/msdos /usr/share/emacs/site-lisp/ess-r-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-r-d /usr/share/emacs/site-lisp/ess-utils hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-utils /usr/share/emacs/site-lisp/ess-s3-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-s3-d /usr/share/emacs/site-lisp/ess-sp4-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-sp4-d /usr/share/emacs/site-lisp/ess-omg-d hides /usr/share/emacs/site-lisp/ess-5.13/lisp/ess-omg-d /usr/share/emacs/site-lisp/epg/epg hides /usr/share/emacs/23.2/lisp/epg /usr/share/emacs/site-lisp/epg/epa-dired hides /usr/share/emacs/23.2/lisp/epa-dired /usr/share/emacs/site-lisp/epg/epa-file hides /usr/share/emacs/23.2/lisp/epa-file /usr/share/emacs/site-lisp/epg/epg-config hides /usr/share/emacs/23.2/lisp/epg-config /usr/share/emacs/site-lisp/epg/epa hides /usr/share/emacs/23.2/lisp/epa /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4 /usr/share/emacs/site-lisp/epg/epa-mail hides /usr/share/emacs/23.2/lisp/epa-mail /usr/share/emacs/site-lisp/ruby-mode hides /usr/share/emacs/23.2/lisp/progmodes/ruby-mode /usr/share/emacs/site-lisp/nxml-mode/nxml-glyph hides /usr/share/emacs/23.2/lisp/nxml/nxml-glyph /usr/share/emacs/site-lisp/nxml-mode/nxml-mode hides /usr/share/emacs/23.2/lisp/nxml/nxml-mode /usr/share/emacs/site-lisp/nxml-mode/xmltok hides /usr/share/emacs/23.2/lisp/nxml/xmltok /usr/share/emacs/site-lisp/nxml-mode/rng-uri hides /usr/share/emacs/23.2/lisp/nxml/rng-uri /usr/share/emacs/site-lisp/nxml-mode/rng-dt hides /usr/share/emacs/23.2/lisp/nxml/rng-dt /usr/share/emacs/site-lisp/nxml-mode/nxml-outln hides /usr/share/emacs/23.2/lisp/nxml/nxml-outln /usr/share/emacs/site-lisp/nxml-mode/rng-maint hides /usr/share/emacs/23.2/lisp/nxml/rng-maint /usr/share/emacs/site-lisp/nxml-mode/rng-match hides /usr/share/emacs/23.2/lisp/nxml/rng-match /usr/share/emacs/site-lisp/nxml-mode/nxml-ns hides /usr/share/emacs/23.2/lisp/nxml/nxml-ns /usr/share/emacs/site-lisp/nxml-mode/nxml-rap hides /usr/share/emacs/23.2/lisp/nxml/nxml-rap /usr/share/emacs/site-lisp/nxml-mode/rng-valid hides /usr/share/emacs/23.2/lisp/nxml/rng-valid /usr/share/emacs/site-lisp/nxml-mode/rng-parse hides /usr/share/emacs/23.2/lisp/nxml/rng-parse /usr/share/emacs/site-lisp/nxml-mode/rng-xsd hides /usr/share/emacs/23.2/lisp/nxml/rng-xsd /usr/share/emacs/site-lisp/nxml-mode/nxml-util hides /usr/share/emacs/23.2/lisp/nxml/nxml-util /usr/share/emacs/site-lisp/nxml-mode/rng-nxml hides /usr/share/emacs/23.2/lisp/nxml/rng-nxml /usr/share/emacs/site-lisp/nxml-mode/nxml-enc hides /usr/share/emacs/23.2/lisp/nxml/nxml-enc /usr/share/emacs/site-lisp/nxml-mode/rng-pttrn hides /usr/share/emacs/23.2/lisp/nxml/rng-pttrn /usr/share/emacs/site-lisp/nxml-mode/rng-cmpct hides /usr/share/emacs/23.2/lisp/nxml/rng-cmpct /usr/share/emacs/site-lisp/nxml-mode/xsd-regexp hides /usr/share/emacs/23.2/lisp/nxml/xsd-regexp /usr/share/emacs/site-lisp/nxml-mode/rng-loc hides /usr/share/emacs/23.2/lisp/nxml/rng-loc /usr/share/emacs/site-lisp/nxml-mode/nxml-uchnm hides /usr/share/emacs/23.2/lisp/nxml/nxml-uchnm /usr/share/emacs/site-lisp/nxml-mode/nxml-parse hides /usr/share/emacs/23.2/lisp/nxml/nxml-parse /usr/share/emacs/site-lisp/nxml-mode/rng-util hides /usr/share/emacs/23.2/lisp/nxml/rng-util /usr/share/emacs/site-lisp/nxml-mode/nxml-maint hides /usr/share/emacs/23.2/lisp/nxml/nxml-maint /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/23.2/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/23.2/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/23.2/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/23.2/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/23.2/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/23.2/lisp/net/sasl /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/23.2/lisp/net/sasl-cram /usr/share/emacs/site-lisp/egg/its/thai hides /usr/share/emacs/23.2/lisp/language/thai /usr/share/emacs/site-lisp/egg/leim-list hides /usr/share/emacs/23.2/leim/leim-list Features: (shadow sort mail-extr message idna sendmail regexp-opt ecomplete rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit mailheader canlock sha1 hex-util hashcash mail-utils emacsbug ebuff-menu electric ansi-color shell pp help-mode view help-fns loadhist easymenu comint ring egg-util lpr disp-table tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 12:28:43 2011 Received: (at 8730) by debbugs.gnu.org; 1 Jun 2011 16:28:43 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QRoHi-0007Jt-A7 for submit@debbugs.gnu.org; Wed, 01 Jun 2011 12:28:42 -0400 Received: from mail-yw0-f44.google.com ([209.85.213.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QRoHg-0007Ja-Od; Wed, 01 Jun 2011 12:28:41 -0400 Received: by ywp31 with SMTP id 31so2474453ywp.3 for ; Wed, 01 Jun 2011 09:28:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=LwyFsuj4hmCBXA1OsDUXJ7DihaVqKH/Ck2RUOfkS1nA=; b=H/N1DJaNH1+ta/C4CeiNjXGGb0LEWHv1WtOExsTL78y1Toovp5ncDepgHRnVtwsUOp 2WIExOFWiIbytc+5oDNawK3GHQe2ySeP+NUxk/RX1EHlucj8gSahkU33J1vh7pUqfmE4 jrbRETeIgSqmFF7P0S70CJoa0rPZUI6T6QU8A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=ndLEERG2+gBtT64hFo85PlsbApuSU4ZtSd7Fw2KIR4A1zj+3pLGbWIvFt5j7bB2Fih 4iLhgwMG0i69B6f5z9/HZXEMb1cpf4pIlSEdr/pZ37TU77p4DG6KJccu+8fquhO6PqQP 4XV9fJK0lHEj4KOwAn/po47oMF5ZN+vv7Dxfo= Received: by 10.236.182.103 with SMTP id n67mr9222411yhm.26.1306945715117; Wed, 01 Jun 2011 09:28:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.146.82.11 with HTTP; Wed, 1 Jun 2011 09:27:55 -0700 (PDT) In-Reply-To: <4DE628AC.9000604@easy-emacs.de> References: <4DE628AC.9000604@easy-emacs.de> From: Juanma Barranquero Date: Wed, 1 Jun 2011 18:27:55 +0200 Message-ID: Subject: Re: bug#8781: 24.0.50; unload-feature don't restore default key To: =?UTF-8?Q?Andreas_R=C3=B6hler?= Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.3 (---) > M-x unload-feature python > > M-x describe-key > > sends error: > > describe-key: Symbol's function definition is void: python-backspace and > M-x python-mode > M-x unload-feature RET python-mode > M-x shell > > error in process filter: Symbol's function definition is void: python-pdbtrack-track-stack-file > <<< Press Return to bury the buffer list >>> unload-feature should surely be smarted, but for the time being, the only way to fix these is to add a python-unload-function which tries to undo the changes that unload-feature isn't smart enough to do by itself. Try the following patch. It sets [pj]ython-mode buffers to (default-value 'major-mode), and inferior-python-mode buffers to the parent of this mode (comint). It also removes the hook that causes bug#8730, and undoes a couple other changes. Removing things from after-load-alist is a bit unclean, so I've opted instead for adding an autoload cookie for `python-after-info-look'; that will avoid an error if the user does M-x python-mode M-x unload-feature python M-x info-look-symbol ;; etc. though of course python-mode will be loaded again. Not a common enough situation to be worth a cleaner fix, I think. (Though if I'm mistaken and there's a clean way to remove from after-load-alist, I'm all ears.) Juanma === modified file 'lisp/progmodes/python.el' --- lisp/progmodes/python.el 2011-05-13 12:44:48 +0000 +++ lisp/progmodes/python.el 2011-06-01 16:09:34 +0000 @@ -1915,4 +1915,5 @@ (declare-function info-lookup-maybe-add-help "info-look" (&rest arg)) +;;;###autoload (defun python-after-info-look () "Set up info-look for Python. @@ -2896,4 +2897,23 @@ (setq overlay-arrow-position nil)) +(defun python-unload-function () + "Unload the Python library." + (let* ((default-mode (default-value 'major-mode)) + (inferior-mode (or (get 'inferior-python-mode 'derived-mode-parent) + default-mode))) + (dolist (buffer (buffer-list)) + (set-buffer buffer) + (cond ((memq major-mode '(python-mode jython-mode)) + (funcall default-mode)) + ((eq major-mode 'inferior-python-mode) + (funcall inferior-mode))))) + (remove-hook 'comint-output-filter-functions 'python-pdbtrack-track-stack-file) + (setq minor-mode-alist (assq-delete-all 'python-pdbtrack-is-tracking-p + minor-mode-alist)) + (dolist (error '("^No symbol" "^Can't shift all lines enough")) + (setq debug-ignored-errors (delete error debug-ignored-errors))) + ;; continue standard unloading + nil) + (provide 'python) (provide 'python-21) From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 02 00:11:39 2011 Received: (at 8730) by debbugs.gnu.org; 2 Jun 2011 04:11:39 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QRzFy-0000Yc-LM for submit@debbugs.gnu.org; Thu, 02 Jun 2011 00:11:39 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QRzFx-0000YP-Si; Thu, 02 Jun 2011 00:11:38 -0400 Received: from 121-249-126-200.fibertel.com.ar ([200.126.249.121]:15821 helo=ceviche.home) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1QRzFs-00063v-2T; Thu, 02 Jun 2011 00:11:32 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 33FCE660DD; Thu, 2 Jun 2011 01:11:30 -0300 (ART) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key Message-ID: References: <4DE628AC.9000604@easy-emacs.de> Date: Thu, 02 Jun 2011 01:11:30 -0300 In-Reply-To: (Juanma Barranquero's message of "Wed, 1 Jun 2011 18:27:55 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, Andreas =?iso-8859-1?Q?R=F6hler?= , 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.0 (------) > Try the following patch. It sets [pj]ython-mode buffers to > (default-value 'major-mode), and inferior-python-mode buffers to the > parent of this mode (comint). I guess this part could be part of the generic unload-feature code. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 02 07:41:01 2011 Received: (at 8730) by debbugs.gnu.org; 2 Jun 2011 11:41:01 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS6Gr-0003JC-7G for submit@debbugs.gnu.org; Thu, 02 Jun 2011 07:41:01 -0400 Received: from mail-yi0-f44.google.com ([209.85.218.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS6Go-0003Ir-D5; Thu, 02 Jun 2011 07:40:59 -0400 Received: by yic13 with SMTP id 13so306898yic.3 for ; Thu, 02 Jun 2011 04:40:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=kih73KEFhF5zLoY/Uwb3/sSDEl4bspNnGzEhDusAM+U=; b=Fhdx7GwBof90M83+x8oSb1XaDHkvsKbHBba+DO9jwj0INBwMfwxLxg9LDMKQnm4StL cL7RO6XVEwTCWYB0+XilZ8MK+hLpZ387BC1dXtDkUOA2xIRFaonSSs6n5TBFBh4/fh1S tGD/2TwbhWf9CZtOTE3bL1ULdN+FBAB2riMGg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=UtP+WzOiXtYl7UhwjtKxb+t5lcAZIGjyWLV/DJb0gUnEPSP5Xn1HfEbS3lp4TiqRyR LnT6vicNumxQ07S+a7aPoN9frxuH8TPXaAm5WUuNASpm4mcvZLCH6roDJWyVloKoZASp PomMDFgkfky1b+WK4toIpT/OZ2wEhpiKARL+U= Received: by 10.236.182.103 with SMTP id n67mr742351yhm.26.1307014852295; Thu, 02 Jun 2011 04:40:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.146.82.11 with HTTP; Thu, 2 Jun 2011 04:40:12 -0700 (PDT) In-Reply-To: References: <4DE628AC.9000604@easy-emacs.de> From: Juanma Barranquero Date: Thu, 2 Jun 2011 13:40:12 +0200 Message-ID: Subject: Re: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.3 (---) On Thu, Jun 2, 2011 at 06:11, Stefan Monnier wro= te: >> Try the following patch. It sets [pj]ython-mode buffers to >> (default-value 'major-mode), and inferior-python-mode buffers to the >> parent of this mode (comint). > > I guess this part could be part of the generic unload-feature code. How can we reliably determine that a symbol represents a major mode name? Or are you proposing to go through the buffer list and checking whether their major modes are defined in the package being unloaded? =C2=A0 =C2=A0 Juanma From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 02 08:27:09 2011 Received: (at 8730) by debbugs.gnu.org; 2 Jun 2011 12:27:09 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS6zV-0004Mp-9N for submit@debbugs.gnu.org; Thu, 02 Jun 2011 08:27:09 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS6zS-0004MP-OO; Thu, 02 Jun 2011 08:27:07 -0400 Received: from 121-249-126-200.fibertel.com.ar ([200.126.249.121]:17022 helo=ceviche.home) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1QS6zN-0003td-6x; Thu, 02 Jun 2011 08:27:01 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 459D1660DD; Thu, 2 Jun 2011 09:26:59 -0300 (ART) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key Message-ID: References: <4DE628AC.9000604@easy-emacs.de> Date: Thu, 02 Jun 2011 09:26:59 -0300 In-Reply-To: (Juanma Barranquero's message of "Thu, 2 Jun 2011 13:40:12 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.0 (------) >>> Try the following patch. It sets [pj]ython-mode buffers to >>> (default-value 'major-mode), and inferior-python-mode buffers to the >>> parent of this mode (comint). >> I guess this part could be part of the generic unload-feature code. > How can we reliably determine that a symbol represents a major mode > name? We don't have to do it for all cases, but recognizing major modes defined by define-derived-mode is easy: check the `derived-mode-parent' property. > Or are you proposing to go through the buffer list and checking > whether their major modes are defined in the package being unloaded? Ah, yes, indeed, that's another solution that would work as well. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 02 10:00:37 2011 Received: (at 8730) by debbugs.gnu.org; 2 Jun 2011 14:00:37 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS8Rx-0006V0-6K for submit@debbugs.gnu.org; Thu, 02 Jun 2011 10:00:37 -0400 Received: from mail-yx0-f172.google.com ([209.85.213.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS8Rv-0006Ul-Pn; Thu, 02 Jun 2011 10:00:36 -0400 Received: by yxk30 with SMTP id 30so355523yxk.3 for ; Thu, 02 Jun 2011 07:00:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=eKRagpPLmz2pCA1jXp15dx82qP8ZnP4bAmAIquunk4U=; b=ZGWaSIL/dcTXapclkOEQqGxpNUAOk/jl/q9cvdIYr6P84KGqCVK47teHcHnRN+SWPE 39jHtGC9kJuKEMAf5A6UCrgEp1YMViCmTl4k5iNe7NxV2ENL94y6+frFJegPWmdfkQ45 OpsPjtUAWJSuvRJWqNC2gZMHQJXmDq3cjLsk8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=Ssoglg/RdsOnAyj0qJ5Mw/zdcYVM5aE4bdattUM1UxkEqW+nH76KBLgWypLqcZnEBN MM7MiiOupYT+x5luLUXGxsxMdfw6Bc1V1yeVkLZKuZjGx3ItbTR8DN7IDndJB6LARce/ clpRmSD/ijOEk8EDroqHDWeUzdibD8Md7dld0= Received: by 10.236.145.162 with SMTP id p22mr935942yhj.160.1307023230109; Thu, 02 Jun 2011 07:00:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.146.82.11 with HTTP; Thu, 2 Jun 2011 06:59:50 -0700 (PDT) In-Reply-To: References: <4DE628AC.9000604@easy-emacs.de> From: Juanma Barranquero Date: Thu, 2 Jun 2011 15:59:50 +0200 Message-ID: Subject: Re: bug#8730: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.3 (---) On Thu, Jun 2, 2011 at 14:26, Stefan Monnier wro= te: >> Or are you proposing to go through the buffer list and checking >> whether their major modes are defined in the package being unloaded? > > Ah, yes, indeed, that's another solution that would work as well. I prefer that, because it is more thorough. There's no point in a buffer keeping a major mode that is going to be undefined. But anyway, this is a new feature, sort of. I suggest installing my fix for emacs-23 and then doing what you propose in the trunk. =C2=A0 =C2=A0 Juanma From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 02 10:26:52 2011 Received: (at 8730) by debbugs.gnu.org; 2 Jun 2011 14:26:52 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS8rM-00073n-90 for submit@debbugs.gnu.org; Thu, 02 Jun 2011 10:26:52 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QS8rK-00073Z-Kg; Thu, 02 Jun 2011 10:26:51 -0400 Received: from 213-159-126-200.fibertel.com.ar ([200.126.159.213]:52261 helo=ceviche.home) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1QS8rE-0002Gd-SA; Thu, 02 Jun 2011 10:26:45 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 9D7DA660DD; Thu, 2 Jun 2011 11:26:42 -0300 (ART) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#8730: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key Message-ID: References: <4DE628AC.9000604@easy-emacs.de> Date: Thu, 02 Jun 2011 11:26:42 -0300 In-Reply-To: (Juanma Barranquero's message of "Thu, 2 Jun 2011 15:59:50 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.0 (------) >>> Or are you proposing to go through the buffer list and checking >>> whether their major modes are defined in the package being unloaded? >> Ah, yes, indeed, that's another solution that would work as well. > I prefer that, because it is more thorough. There's no point in a > buffer keeping a major mode that is going to be undefined. Agreed. > But anyway, this is a new feature, sort of. Yes, it's clearly not for emacs-23. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 23 06:17:51 2011 Received: (at 8730) by debbugs.gnu.org; 23 Jun 2011 10:17:52 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QZgys-0001Wm-VS for submit@debbugs.gnu.org; Thu, 23 Jun 2011 06:17:51 -0400 Received: from mail-pv0-f172.google.com ([74.125.83.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QZgyq-0001WW-TL; Thu, 23 Jun 2011 06:17:49 -0400 Received: by pvh18 with SMTP id 18so1065866pvh.3 for ; Thu, 23 Jun 2011 03:17:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=UYwk6eP8kdqhFCA9Xpv9+wOGfehZsI27UI/rnsg/QtU=; b=NRnpF6HfOQcoSvfts87osp3xzjR4xmSE6RgL/zEgDs2W2z2bA9fZAdEz7E2wEb4NWc aZNv2TWotb+lRUE61kwVha4RXp3tkduOpeJRXhJ4rO2G5KrUlKdJbS33MTdrfwIa6vZn EF/kxY92dZziuR5586oLb/uNS4LgTNfRueh38= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=cLCAbag+BVQFXzQuLdwU/R3LmeGvNTmKbmQTVxHeBaDzV9fehzOvZwiCZyQmSamvCN RJNZRR0hMko5xH80bRMrAA6IArRoPNGkJKxNLXEDxjVuoicZle49gZVLxaXro+/PB+ge 1/AHsP925mz0+Pcg1d+fe1csEPR68tHNLIlBE= Received: by 10.142.54.3 with SMTP id c3mr383166wfa.221.1308824262710; Thu, 23 Jun 2011 03:17:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.173.16 with HTTP; Thu, 23 Jun 2011 03:17:02 -0700 (PDT) In-Reply-To: References: <4DE628AC.9000604@easy-emacs.de> From: Juanma Barranquero Date: Thu, 23 Jun 2011 12:17:02 +0200 Message-ID: Subject: Re: bug#8730: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) I've implemented a variant of the change we discussed. What I do, while unloading feature F, is to look for all buffers having a major mode M defined in F. If found, I follow back the chain of derivation until I find a major mode M' which is not defined in F. If found, I use M'; if not, I switch the buffer to "(or (default 'major-mode) 'fundamental-mode)". That's better IMHO, because text modes will be in text-mode, programming modes will be in prog-mode, inferior modes will be in comint-mode, etc. There's an additional check, for cases where (default 'major-mode) does the unexpected. For example, I have it set to a function that calls `set-auto-mode', so funcalling it usually sets the buffer to the same mode it already was. In that case, I default to fundamental-mode again. WDYT? === modified file 'lisp/loadhist.el' --- lisp/loadhist.el 2011-06-08 07:17:26 +0000 +++ lisp/loadhist.el 2011-06-23 10:06:48 +0000 @@ -186,7 +186,8 @@ restore-autoload (name (symbol-name feature)) (unload-hook (intern-soft (concat name "-unload-hook"))) - (unload-func (intern-soft (concat name "-unload-function")))) + (unload-func (intern-soft (concat name "-unload-function"))) + (default-mode (or (default-value 'major-mode) 'fundamental-mode))) ;; If FEATURE-unload-function is defined and returns non-nil, ;; don't try to do anything more; otherwise proceed normally. (unless (and (fboundp unload-func) @@ -222,6 +223,24 @@ (not (get (cdr y) 'autoload))) (setq auto-mode-alist (rassq-delete-all (cdr y) auto-mode-alist))))) + + ;; Change major mode in all buffers using one defined in the feature being unloaded. + (save-current-buffer + (dolist (buffer (buffer-list)) + (set-buffer buffer) + (let ((proposed major-mode) + (original major-mode)) + ;; Look for an antecessor mode not defined in the feature we're processing + (while (and proposed (rassq proposed unload-function-defs-list)) + (setq proposed (get proposed 'derived-mode-parent))) + (unless (eq proposed major-mode) + ;; Two cases: either proposed is nil, and we want to switch to the default + ;; major mode, or proposed is not nil and not major-mode, and so we use it. + (funcall (or proposed default-mode)) + ;; This check protects agains the user having a weird default major-mode; + ;; for example, one that calls set-auto-mode (been here, done that). + (when (eq major-mode original) (funcall 'fundamental-mode)))))) + (when (fboundp 'elp-restore-function) ; remove ELP stuff first (dolist (elt unload-function-defs-list) (when (symbolp elt) From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 25 09:30:28 2011 Received: (at 8730) by debbugs.gnu.org; 25 Jun 2011 13:30:28 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaSwN-0002Zz-NY for submit@debbugs.gnu.org; Sat, 25 Jun 2011 09:30:28 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaSwL-0002Pw-LJ; Sat, 25 Jun 2011 09:30:27 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAJbhBU5MCqDH/2dsb2JhbABTp0d4iHTBUoYwBJ4RhCk X-IronPort-AV: E=Sophos;i="4.65,424,1304308800"; d="scan'208";a="117113608" Received: from 76-10-160-199.dsl.teksavvy.com (HELO pastel.home) ([76.10.160.199]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 25 Jun 2011 09:30:20 -0400 Received: by pastel.home (Postfix, from userid 20848) id BBC2B58FD6; Sat, 25 Jun 2011 09:30:19 -0400 (EDT) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#8730: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key Message-ID: References: <4DE628AC.9000604@easy-emacs.de> Date: Sat, 25 Jun 2011 09:30:19 -0400 In-Reply-To: (Juanma Barranquero's message of "Thu, 23 Jun 2011 12:17:02 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.1 (--) > If found, I follow back the chain of derivation until I find a major > mode M' which is not defined in F. Sounds good. > If found, I use M'; if not, I switch the buffer to "(or (default > 'major-mode) 'fundamental-mode)". I'd just use fundamental-mode which is treated by define-derived-mode as the implicit parent when there's no parent. > + > + ;; Change major mode in all buffers using one defined in the > feature being unloaded. > + (save-current-buffer > + (dolist (buffer (buffer-list)) > + (set-buffer buffer) > + (let ((proposed major-mode) > + (original major-mode)) > + ;; Look for an antecessor mode not defined in the feature > we're processing > + (while (and proposed (rassq proposed unload-function-defs-list)) > + (setq proposed (get proposed 'derived-mode-parent))) > + (unless (eq proposed major-mode) > + ;; Two cases: either proposed is nil, and we want to > switch to the default > + ;; major mode, or proposed is not nil and not > major-mode, and so we use it. > + (funcall (or proposed default-mode)) > + ;; This check protects agains the user having a weird > default major-mode; > + ;; for example, one that calls set-auto-mode (been > here, done that). > + (when (eq major-mode original) (funcall 'fundamental-mode)))))) > + But please move it into its own function. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 25 12:49:51 2011 Received: (at 8730) by debbugs.gnu.org; 25 Jun 2011 16:49:51 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaW3K-0000Se-Lq for submit@debbugs.gnu.org; Sat, 25 Jun 2011 12:49:51 -0400 Received: from mail-pw0-f44.google.com ([209.85.160.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaW3I-0000SP-Kh; Sat, 25 Jun 2011 12:49:49 -0400 Received: by pwj5 with SMTP id 5so2339302pwj.3 for ; Sat, 25 Jun 2011 09:49:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=qs4ErOUfTSY85t/noRHJth7jsV0U0T796zCWtZRYwZ4=; b=U2ujE7lON1ypc7ZUtmMq1pjhYY3oXYLV7sNg+uaxZS01Q5CAtOMVLszdgwgpsvtRI8 pszUlBfLSGMzodupmp+euPIN9zk/fobHQ3vxV2iAnQjZyPuE/hDaRLw2/iIzrF9oRI+1 yidZFf1SSxQZob3/7YNklnDvd2B3o4gNbs0zk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=QIMdL13WNQlJ3awhwPlYjnT41a0/UB4LGAAh5gZmDh589vUS7AKSGPs7hH+mR2fKdR C15iqoFYjxdi9hQbz+WTYeGtqjy7f4/F9mXQhPDFbEVTCQ066wTV1BNhoFB+PesClHfC 3zvoz43UZnO8tRxrDxucZQhb41cVzavMA4SG4= Received: by 10.142.54.3 with SMTP id c3mr859364wfa.221.1309020582634; Sat, 25 Jun 2011 09:49:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.173.16 with HTTP; Sat, 25 Jun 2011 09:49:02 -0700 (PDT) In-Reply-To: References: <4DE628AC.9000604@easy-emacs.de> From: Juanma Barranquero Date: Sat, 25 Jun 2011 18:49:02 +0200 Message-ID: Subject: Re: bug#8730: bug#8781: bug#8730: bug#8781: 24.0.50; unload-feature don't restore default key To: Stefan Monnier Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 8730 Cc: 8781@debbugs.gnu.org, 8730@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.3 (---) > I'd just use fundamental-mode which is treated by define-derived-mode as > the implicit parent when there's no parent. OK, that's even simpler (and more robust). > But please move it into its own function. OK. =C2=A0 =C2=A0 Juanma From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 25 15:36:28 2011 Received: (at 8730-done) by debbugs.gnu.org; 25 Jun 2011 19:36:28 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaYeZ-0004Fv-PF for submit@debbugs.gnu.org; Sat, 25 Jun 2011 15:36:28 -0400 Received: from mail-pv0-f172.google.com ([74.125.83.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QaYeY-0004Fg-96; Sat, 25 Jun 2011 15:36:26 -0400 Received: by pvh18 with SMTP id 18so2284345pvh.3 for ; Sat, 25 Jun 2011 12:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=wf302xWGQ57QO2qnHOEPR3gWCHUUsBP2i1KMFbMuOUY=; b=h04YXDeF9UH5b9OiYYp4aifb2Bh6i42bGVd/i/X2eWvtyO9usN/9S5vR2SfEQ/je3a TSQMeFl7JuuoMrvv2Drb3veBQ86T3Y18dG9bUf94+wB3dzlm0B/xJV/q0VOwit11N1kC EMZbEx5G+Lpgrfsxbl45PAtgWi6LDg7eaa7/k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=U3A+KRexqJYRt16IujvCbpX5WAlYwxRwzFuCxBNaf6J7Q2khbiAaxYB5lhN+8qQKrO 8Pq1kqFExRLW4EtVms8vZTeYh/7YjGxHceMIPD5d7+UE5k3gNr0uP4ZCy0wtBGJEohfK MiJWmGn3+qRHPRLT76/nCq3KUQybh1aY5izwA= Received: by 10.143.66.15 with SMTP id t15mr59517wfk.278.1309030580136; Sat, 25 Jun 2011 12:36:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.173.16 with HTTP; Sat, 25 Jun 2011 12:35:40 -0700 (PDT) In-Reply-To: <4DDC9961.7050500@easy-emacs.de> References: <4DDC9961.7050500@easy-emacs.de> From: Juanma Barranquero Date: Sat, 25 Jun 2011 21:35:40 +0200 Message-ID: Subject: Re: bug#8730: 23.2; unload-feature leaves hook To: =?UTF-8?Q?Andreas_R=C3=B6hler?= Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 8730-done Cc: 8781-done@debbugs.gnu.org, 8730-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.5 (---) Fixed in the trunk, revno:104702. From unknown Fri Aug 15 12:52:29 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 24 Jul 2011 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator