Subject: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files.

From: Dmitry Gutov <[email-masked]>
Date: Fri, 29 May 2015 23:01:13 +0300

On 05/29/2015 09:28 PM, Eli Zaretskii wrote:

> Compatibility aside, I think what most users will want should be the
> default.  What Exuberant ctags does now might not yet reflect the
> changes in Emacs, from etags.el's UI to xfer.  Once they learn about
> that, they might turn that flag on by default as well.

There's nothing particularly xref-specific in using the one or the other 
approach. xref output buffer doesn't display the tag names, only 
patterns (although printing the tag names as well can be added).

> For moderate-size projects, the obarray-based completion is
> instantaneous,

Yes. I explicitly didn't mention it. Only the time to build the obarray 
the first time, as well as non-obarray based completion. You might be 
better positioned to judge whether these are serious.

> I don't think we can safely do that, since different characters can
> appear in identifiers of different languages.  By using the qualifier
> string that is natural for the language, we make sure we never get
> conflicts with the identifiers themselves.

The name segments could be escaped WRT those two characters.

> Also, these qualified tags are for human consumption, which is another
> argument on favor of language-specific syntax.

Sure, it's a good argument.

> Which means C++ programmers will probably be confused by them.

They are not hard to learn. IMO, "::" is a bad separator for method 
qualifier, since the same operator is used for namespace resolution.