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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 20 Jan 2015 19:24:46 +0200

> Date: Tue, 20 Jan 2015 04:54:04 +0200
> From: Dmitry Gutov <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> > 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.

Thanks.

> > 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').

Then I'd suggest "show definition" instead of "navigate".  The latter
has no useful meaning in this context, and just confuses.

> > 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.

I don't really understand the difference between the various options,
so my suggestion would be to start with something that looks
promising, and then see if users like that.  The important thing is
implement something; just enumerating the alternatives is not enough.

Thanks.