GNU bug report logs - #33695
27.0.50; which-function reports wrong imenu information

Previous Next

Package: emacs;

Reported by: Alex Branham <alex.branham <at> gmail.com>

Date: Mon, 10 Dec 2018 18:59:02 UTC

Severity: normal

Found in version 27.0.50

Done: Alex Branham <alex.branham <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Alex Branham <alex.branham <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 33695 <at> debbugs.gnu.org
Subject: bug#33695: 27.0.50; which-function reports wrong imenu information
Date: Wed, 12 Dec 2018 16:53:59 -0600
On Wed 12 Dec 2018 at 02:31, martin rudalics <rudalics <at> gmx.at> wrote:

>> Thanks for the reply. This seems to work well, though I haven't tried it
>> in an enormous buffer.
>
> Maybe we should make it optional so people on slower machines have the
> choice.  I have no opinion because I don't use 'which-func-mode' hence
> people who do should chime in.
>
> For me the idea of calculating all function position in a buffer and
> afterwards have 'which-func-mode' scan them to find out which function
> point is in, strikes me as enormous over-kill.  In particular with
> 'syntax-ppss' around which usually should, without any additional
> cost, provide the position where the current functions starts via the
> 9th element of its return value.  But don't let these rantings
> distract you.

That won't help with non-lispy languages like R or python though, I
don't think.

Perhaps we should reverse the order of what which-function checks? It
currently looks at:

1. which-func-functions
2. imenu--index-alist
3. add-log-current-defun

but we could switch those last two. add-log-current-defun should be
faster than reconstructing imenu--index-alist.

Alex




This bug report was last modified 6 years and 151 days ago.

Previous Next


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