Subject: bug#14029: 24.2.50; [PATCH] imenu problems with special elements

From: Drew Adams <[email-masked]>
Date: Fri, 29 Nov 2013 07:34:19 -0800 (PST)

> >>> Is it possible for (cadr item) to be a list and also be `functionp' and
> >>> yet not have its car be `lambda'?
> >
> > The documentation allows FUNCTION in the third element, but
> > imenu--subalist-p' is checking whether the second element is a
> > function.
> 
> Yes, this doesn't make much sense.  I guess this function check was
> intended to distinguish a special element (INDEX-NAME POS FN . ARGS)
> from a sub-alist element (INDEX-NAME . SUB-ALIST).
> 
> The check would make sense, if this function was applied to the cdr of
> an element, i.e. check if the argument is a SUB-ALIST.  But this is not
> how this function is used in imenu.el .
> 
> I might have initially (and falsely) determined this as the source of
> some bug.

Sorry, I have not been following this thread at all, and am unaware
of the problem being addressed.  So please ignore, if this is irrelevant.

Emacs itself still does not use "special" items anywhere.  But I do.
I'm just hoping that they are still going to be taken into
consideration and not obliterated.  See bug #12717 for background on
submenus and special items.  Yes, the imenu.el code is a bit confusing.

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