Subject: bug#15996: 24.3.50; imenu inconsistencies

From: Stefan Monnier <[email-masked]>
Date: Fri, 29 Nov 2013 09:44:33 -0500

> (defvar foo)
[...]
> 1) var `foo' is not listed,

That's on purpose.  Of course, it's not always the right choice, but
imenu is supposed to let you go to the "definition" of something and
this is not a definition.

> 2) The "defun*" in var `baz' is detected as a function with name `.',
> but is not, it is just an element of var `baz'.

Yes, that's a false positive.  It's difficult/impossible to avoid all
false positives and all false negatives.  We could try and recognize
this particular case with ad-hoc code, but it wouldn't help in general.

> 3) The function test defined with `defun*' from cl package is listed,
> but the macro `test2' defined with `defmacro*' is not listed.
> I expect the both listed if cl package is loaded or nothing listed if it
> is not loaded.

Agreed.

        Stefan