Subject: bug#19466: 25.0.50; xref-find-def doesn't find C functions

From: Dmitry Gutov <[email-masked]>
Date: Tue, 20 Jan 2015 04:54:04 +0200

On 01/19/2015 07:41 PM, Eli Zaretskii wrote:
>> Date: Mon, 19 Jan 2015 09:28:35 +0100
>> From: martin rudalics <[email-masked]>
>> CC: [email-masked], Helmut Eller <[email-masked]>
>>
>>   > Pushed. I'd really like you to look at the implementation, though.
>>
>> I didn't see any flaws in it.  In any case we'll find out pretty soon if
>> there are.

The above refers to the window configuration-restoring logic.

> One issue I still see is that if TAGS is slightly outdated, point is
> positioned not on the first line of a function/macro/struct, but on
> the line recorded in TAGS.  I hope this will be fixed soon.

Okay, should work now. Thanks for the reminder.

> Another minor issue is with the help-echo in the xref buffer: it says
> "mouse-2: display, mouse-1: navigate", which is confusing because it's
> unclear what exactly each of these 2 means.  How about saying
> explicitly "show in this window" and "show in another window"
> (assuming this is what that does)?

Not exactly. Here "navigate" means bury the xref and other temporary 
buffers, and then display the reference in the current or other window, 
or frame it was originally intended to be displayed in (depending on 
which command was invoked: `xref-find-definitions', 
`xref-find-definitions-other-window' or 
`xref-find-definitions-other-frame').

> Finally, I still think we need to allow searching symbols not only in
> the current buffer's programming language, at least with the tags
> back-end.  Without that, we cannot deprecate find-tag.

Please refer to the following messages:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19466#32
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19466#41

And for completeness, a third option: define a minor mode that would 
remap xref-find-* commands to their etags-only variants, which can be 
trivially implemented by let-binding the two relevant variables to their 
default values.