Subject: Re: bug#28403: 25.2; find-tag works, but xref-find-definitions

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Sep 2017 17:29:32 +0300

> Date: Sat,  9 Sep 2017 22:50 EDT
> From: Winston <[email-masked]>
> 
> Dmitry kindly replied:
> > Which program are you generating TAGS with? Is it etags that comes with 
> > Emacs?
> 
> Yes, and "etags --version" prints: etags (GNU Emacs 25.2)
> 
> > xref-find-definitions is somewhat stricter about its input than 
> > find-tag.
> 
> Yes, that's what's causing the difference.  ;-)
> 
> > What does the entry for this function inside TAGS look like? [...]
> > I'm guessing it looks like:
> > 
> > name _ARGS1(
> 
> Exactly.  E.g.,
> name _ARGS1(^?188,5710

Thanks.  Could you please post a complete example of the code in
question, including the definition of the _ARGS1 macro, and any other
macros and typedefs that would make the example stand-alone?  I think
I understand what has happened, but I'd like to be sure before we
decide what to do about it.

> > Try adding `tag-symbol-match-p' to 
> > etags-xref-find-definitions-tag-order. This example should work then, 
> > but you'll get more false positives (like treating return types as 
> > function names).

Dmitry, how about providing a more user-friendly customization to that
effect?  As a "fire escape"?

> For the moment I think I'll just continue to use find-tag and hope
> that xref-find-definitions will eventually work as well as find-tag
> before find-tag disappears.  :)

I'd rather like to encourage you to continue using xref and report any
issue you find.  We want to make xref as good as the features it
replaces and better.  It is already better in several areas: it is
much more accurate (so many times lands you right on the spot, whereas
find-tag might require to go sequentially through several
alternatives), and in the rare cases where there are more than a
single candidate, it allows you to select the right one much faster.
We would like to solve any remaining problems, and that will be much
harder if people don't report those problems to us.  It is even
possible that, given the details I requested above, I will be able to
help you get your use case working with xref, so please don't give up
on xref, not just yet.

Thanks.