Subject: bug#13438: 24.2.92; Infinite loop in python imenu support

From: Glenn Morris <[email-masked]>
Date: Sun, 20 Jan 2013 22:01:34 -0500

Hi, could you look at this report please?

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13438

Ivan Andrus wrote:

> The following happens on the Emacs 24 branch as well as trunk.
>
> From `emacs -Q`
>
> In a new python buffer, insert 
>
> def bob():
>     return 3
>
>
> and position the cursor before def.  Then run M-x imenu, and you get the
> message 
>
> imenu-default-create-index-function: Infinite loop at *scratch*:1:imenu-prev-index-position-function does not move point
>
> -Ivan
>
>
> In GNU Emacs 24.2.92.1 (i386-apple-darwin12.2.0, NS apple-appkit-1187.34)
>  of 2013-01-14 on oroszlan.local
> Bzr revision: 111176 [email-masked]
> Windowing system distributor `Apple', version 10.3.1187
> Configured using:
>  `configure '--with-ns''
>
> Important settings:
>   value of $LC_CTYPE: UTF-8
>   locale-coding-system: utf-8-unix
>   default enable-multibyte-characters: t
>
> Major mode: Python
>
> Minor modes in effect:
>   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-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Recent input:
> d e f SPC b o b , , <backspace> <backspace> ( ) : <return> 
> <tab> s-x C-g M-x p y t h <tab> <return> <tab> <tab> 
> SPC SPC SPC <tab> d <backspace> r e t u r n SPC 5 <tab> 
> <up> <up> <up> <up> <up> <up> C-a C-k C-k C-k C-k C-k 
> C-k C-k <down> <tab> <tab> C-h k <tab> <tab> <up> <tab> 
> M-x i m e <tab> <return> M-x r e p o r <tab> <retu
> rn>
>
> Recent messages:
> For information about GNU Emacs and the GNU system, type C-h C-a.
> kill-region: The mark is not set now, so there is no region
> Quit
> python-indent-line: Arithmetic error [4 times]
> byte-code: Beginning of buffer
> python-indent-line: Arithmetic error [2 times]
> Type C-x 1 to delete the help window, C-M-v to scroll help.
> python-indent-line: Arithmetic error [2 times]
> imenu-default-create-index-function: Infinite loop at *scratch*:1: imenu-prev-index-position-function does not move point
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
> mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
> gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
> mail-prsvr mail-utils imenu help-fns help-mode python rx easymenu comint
> ring ansi-color time-date tooltip ediff-hook vc-hooks lisp-float-type
> mwheel ns-win tool-bar dnd fontset image regexp-opt fringe
> tabulated-list newcomment 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 macroexp files text-properties overlay sha1 md5 base64 format
> env code-pages mule custom widget hashtable-print-readable backquote
> make-network-process ns multi-tty emacs)