Package: emacs;
Reported by: Tim Cross <tcross <at> une.edu.au>
Date: Tue, 5 Jul 2011 05:27:02 UTC
Severity: normal
Merged with 8998
Found in version 24.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Tim Cross <tcross <at> une.edu.au> To: 8999 <at> debbugs.gnu.org Subject: bug#8999: 24.0.50; abbrev-mode infinite loop Date: Tue, 05 Jul 2011 15:26:05 +1000
There appears to be an infinite loop issue with the current emacs bzr sources and abbrev-mode. When abbrev-mode is enabled, typing any word and hitting an end of word marker (i.e. space) puts emacs into an infinite loop. Hitting C-g breaks out of the loop, but you cannot enter an end of word character (i.e. something that triggers an abbrev expansion lookup) without the loop. To reproduce 1. Start emacs with emacs -Q 2. Turn on Enter debugger on quit 3. Turn on abbrev mode M-x abbrev-mode <RET> 4. In the scratch buffer try to enter (abbrev-mode 0) When you hit '-', emacs stops responding, the mouse changes to the 'busy' icon and emacs is frozen until you hit C-g. The backtrace produced is shown below. The version I've tried this with is revno 104957 A build from last Wednesday did not show this problem. backtrace is Debugger entered--Lisp error: (quit) abbrev-symbol(#("abbrev" 0 6 (fontified t)) [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...]) abbrev--before-point() #[0 "\304 \211A\262@\211A\262@\211A\262@\211A\262@\203)\305\306\307\310G\\D\"\210\205G\204;\311\312 !\204;\313 \210\314$\207" [noninteractive last-abbrev-text last-abbrev last-abbrev-location abbrev--before-point signal wrong-number-of-arguments nil 4 window-minibuffer-p selected-window undo-boundary abbrev-insert] 10 "\n\n(fn)"]() apply(#[0 "\304 \211A\262@\211A\262@\211A\262@\211A\262@\203)\305\306\307\310G\\D\"\210\205G\204;\311\312 !\204;\313 \210\314$\207" [noninteractive last-abbrev-text last-abbrev last-abbrev-location abbrev--before-point signal wrong-number-of-arguments nil 4 window-minibuffer-p selected-window undo-boundary abbrev-insert] 10 "\n\n(fn)"] nil) #[771 ":\2030@\301=\203 \300@\302A\"\303#\207\304@\305\306\307\310\311\312\300!\313\"\314\315%A##\207\304\316\"\207" [(#0) t append nil apply apply-partially make-byte-code 642 "\300@#\207" vconcat vector [] 7 "\n\n(fn FUNS GLOBAL &rest ARGS)" #[0 "\304 \211A\262@\211A\262@\211A\262@\211A\262@\203)\305\306\307\310G\\D\"\210\205G\204;\311\312 !\204;\313 \210\314$\207" [noninteractive last-abbrev-text last-abbrev last-abbrev-location abbrev--before-point signal wrong-number-of-arguments nil 4 window-minibuffer-p selected-window undo-boundary abbrev-insert] 10 "\n\n(fn)"]] 12 "\n\n(fn FUNS GLOBAL ARGS)"](nil nil nil) expand-abbrev() self-insert-command(1) call-interactively(self-insert-command nil nil) In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.24.4) of 2011-07-05 on blind-mole Windowing system distributor `The X.Org Foundation', version 11.0.11001000 configured using `configure '--prefix=/usr/local'' 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: en_AU.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Org Minor modes in effect: show-paren-mode: t display-time-mode: t diff-auto-refine-mode: t shell-dirtrack-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t size-indication-mode: t transient-mark-mode: t abbrev-mode: t Recent input: M-x r e p o r t - e m a <tab> <return> Recent messages: Loading /home/tcross/git/jabber-el/trunk/jabber-autoloads.el (source)...done Loading time...done Loading paren...done Loading w3m-fb...done Warning: show-paren mode with Emacspeak will not work. Loading emacspeak-keymap...done OVERVIEW Restoring clock data Loading /home/tcross/.emacs.d/org-clock-save.el (source)...done OVERVIEW Load-path shadows: /home/tcross/bzr/vm/trunk/lisp/tapestry hides /home/tcross/git/emacspeak/lisp/tapestry /home/tcross/git/emacspeak/lisp/tetris hides /usr/local/share/emacs/24.0.50/lisp/play/tetris Features: (shadow sort mail-extr emacspeak-message message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader emacsbug emacspeak-imenu imenu tabify org-table auctex-autoloads emacspeak-auctex tex-site emacspeak-info info package tabulated-list jabber-console emacspeak-sgml-mode sgml-mode ewoc jabber-util jabber-keymap saveplace org-w3m org-wl org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp org-exp-blocks org-agenda org-info org-gnus org-bibtex org-bbdb w3m-fb paren time server tx-jabber jabber-autoloads tx-magit magit-svn magit diff-mode log-edit pcvs-util emacspeak-add-log add-log magit-key-mode tx-chrome edit-server edmacro emacspeak-kmacro kmacro tx-mew tx-fold txutils tx-eudc eudcb-ldap eudc emacspeak-eudc emacspeak-custom cus-edit cus-start eudc-vars ldap tx-plsql plsql-mode tx-sql emacspeak-sql sql tx-org org-clock emacspeak-org org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys ob ob-eval org-complete org-list org-faces org-compat org-entities org-macs emacspeak-outline foldout noutline outline easy-mmode tx-mode-compile tc-w3m w3m-load tc-timestamp tc-template emacspeak-tempo tempo tc-diary appt cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs diary-lib diary-loaddefs emacspeak-calendar cal-menu calendar cal-loaddefs tc-browse-url tx-mail vm-autoloads vm-version vm-vars bbdb-autoloads emacspeak-bbdb bbdb timezone smtpmail sendmail rfc2047 rfc2045 ietf-drums mail-utils generic-x emacspeak-generic generic dired-aux dired-x emacspeak-dired emacspeak-desktop desktop dired ls-lisp tx-emacspeak emacspeak-setup emacspeak-aumix emacspeak-forms forms-mode forms emacspeak-webspace emacspeak-webutils url url-proxy url-privacy url-expand url-methods url-history url-cookie url-util url-parse auth-source eieio assoc gnus-util password-cache url-vars mm-util mail-prsvr mailcap gweb greader browse-url g-auth gfeeds g-utils json derived emacspeak-alsaplayer emacspeak-amark emacspeak-replace emacspeak-advice shell pcomplete comint ring emacspeak-redefine emacspeak-personality byte-opt warnings bytecomp byte-compile cconv macroexp emacspeak emacspeak-widget emacspeak-view emacspeak-facemenu emacspeak-fix-interactive emacspeak-buff-menu g-cus-load cus-load regexp-opt emacspeak-sounds emacspeak-preamble emacspeak-keymap emacspeak-speak emacspeak-pronounce dtk-speak flite-voices dtk-interp voice-setup dectalk-voices espeak-voices mac-voices multispeech-voices outloud-voices dtk-unicode descr-text help-mode easymenu view dtk-css-speech acss-structure emacspeak-load-path thingatpt wid-edit advice help-fns advice-preload vc-git cl tx-paths time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar 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 minibuffer loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) -- Tim Cross Information Technology University of New England Phone: +61 2 6773 3210 Mobile: 0428 212217 Fax: +61 2 6773 3424 E-Mail: tcross <at> une.edu.au Web: http://www.une.edu.au/itd --- Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Any fool can make things bigger, more complex, and more violent. It takes a touch of genius (and a lot of courage) to move in the opposite direction. —Albert Einstein
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.