bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#39972: 28.0.50; which-function no longer returning current Java meth


From: Alan Mackenzie
Subject: bug#39972: 28.0.50; which-function no longer returning current Java method in Emacs 27
Date: 8 Mar 2020 11:33:02 -0000
User-agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (FreeBSD/11.3-RELEASE-p3 (amd64))

Hello, Philipp.

In article <mailman.2226.1583586546.2412.bug-gnu-emacs@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).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]