Subject: bug#8999: closed (Re: bug#8998: further analysis of the problem)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 06 Jul 2011 01:10:05 +0000

Your bug report

#8998: 24.0.50; abbrev-mode infinite loop

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8998: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8998
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8998: further analysis of the problem
From: Stefan Monnier <[email-masked]>
To: [email-masked]
Date: Tue, 05 Jul 2011 21:09:39 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> Yes, it does the solve the problem.  Thanks.

Great, thanks,

        Stefan

Subject: 24.0.50; abbrev-mode infinite loop
From: Tim Cross <[email-masked]>
To: [email-masked]
Date: Tue, 05 Jul 2011 15:26:05 +1000
List-Id: <debbugs-submit.debbugs.gnu.org>

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: [email-masked]
   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