GNU bug report logs -
#39972
28.0.50; which-function no longer returning current Java method in Emacs 27
Previous Next
Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>
Date: Sat, 7 Mar 2020 13:09:02 UTC
Severity: normal
Found in version 28.0.50
Done: Philipp Stephani <p.stephani2 <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello, Philipp.
In article <mailman.2226.1583586546.2412.bug-gnu-emacs <at> gnu.org> you wrote:
> Assume there's a file /tmp/Foo.java:
> $ cat /tmp/Foo.java
> class Foo {
> void bar() {
> // body
> }
> }
> Emacs 26:
> $ emacs -Q -batch -l which-func /tmp/Foo.java -eval '(progn
> (search-forward "// body") (print (which-function)))'
> "bar"
> Emacs 27 pretest:
> $ emacs -Q -batch -l which-func /tmp/Foo.java -eval '(progn
> (search-forward "// body") (print (which-function)))'
> "class Foo"
> That is, Emacs 27 now prints the clas name instead of the method name.
> I think the Emacs 26 behavior is preferrable.
OK. which-function works by trying out a whole series of functions and
returning the first result which is non-nil. CC Mode is now returning a
non-nil value (namely "class Foo") for one of these functions where it
previously didn't.
There're things like backward compatibility (with what exactly, I'm not
sure) to take into account before changing things here.
I'll look more closely into this in the coming days.
> In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, GTK+ Version 3.24.12, cairo version 1.16.0)
> of 2020-02-25
> Repository revision: 03c07c88d90b5747456b9d286bace2dd4a713aac
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
> System Description: Debian GNU/Linux rodete
[ .... ]
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 4 years and 359 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.