GNU bug report logs - #12717
24.2.50; [PATCH] `imenu--split-submenus' incorrectly distinguishes submenus

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Wed, 24 Oct 2012 00:10:02 UTC

Severity: normal

Tags: patch

Found in version 24.2.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Drew Adams" <drew.adams <at> oracle.com>
To: 12717 <at> debbugs.gnu.org
Subject: bug#12717: 24.2.50; [PATCH] `imenu--split-submenus' incorrectly distinguishes submenus
Date: Tue, 23 Oct 2012 17:07:11 -0700
Imenu allows the use of something it calls "special" menu elements,
which have this form: (INDEX-NAME POSITION FUNCTION ARGUMENTS...)
 
`imenu--split-submenus' needs to distinguish submenus from ordinary menu
elements, including from special menu elements.  Currently this is
bugged.
 
The current code for `imenu--split-submenus' does this:
 
(defun imenu--split-submenus (alist)
  "..."
  (mapcar (lambda (elt)
            (if (and (consp elt) (stringp (car elt)) (listp (cdr elt)))
                (imenu--split-menu (cdr elt) (car elt))
              elt))
   alist))
 
The `if' condition should instead test whether the element is a submenu.
We have a function that does that: `imenu--subalist-p'.  I believe this
is the correct code:
 
(defun imenu--split-submenus (alist)
  "..."
  (mapcar (lambda (elt)
            (if (imenu--subalist-p elt)
                (imenu--split-menu (cdr elt) (car elt))
              elt))
   alist))

In GNU Emacs 24.2.50.1 (i386-mingw-nt5.1.2600)
 of 2012-10-22 on DANI-PC
Bzr revision: 110618 monnier <at> iro.umontreal.ca-20121022132928-232zm0fecassmhfb
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -I../../libs/libxpm-3.5.8/include -I../../libs/libxpm-3.5.8/src
 -I../../libs/libpng-1.4.10 -I../../libs/zlib-1.2.6
 -I../../libs/giflib-4.1.4-1/include -I../../libs/jpeg-6b-4/include
 -I../../libs/tiff-3.8.2-1/include
 -I../../libs/libxml2-2.7.8-w32-bin/include/libxml2
 -I../../libs/gnutls-3.0.16/include
 -I../../libs/libiconv-1.14-2-mingw32-dev/include'
 





This bug report was last modified 12 years and 249 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.