Subject: Re: bug#78489: 30.1.50; Using etags, Ada and xref-find-definitions doesn't find definitions

From: Eli Zaretskii <[email-masked]>
Date: Tue, 27 May 2025 21:17:05 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 27 May 2025 12:13:04 -0400
> 
> >> I haven't had time to look closely, but IIUC those `/p` aren't
> >> reallypart of the completed names but only some meta-info about their
> >> nature, so it sounds like a job for `:annotation-function` (in
> >> `completion-at-point-function`) or `annotation-function` (in the
> >> completion table's metadata).
> >
> > I'm not sure I follow: if you say that annotation-function should add
> > those "/p" qualifiers,
> 
> That's what I meant, yes.
> 
> > then that's not really possible, since they are appended by etags and
> > are present in the TAGS file.
> 
> Yes, I saw that `etags.el` has special support for that.
> Is that documented somewhere (and used/usable by other languages)?

It's documented in "etags --help --language=ada".  And no, I found no
other languages whose tags have such qualifiers.

> > Ada tags always worked like that, for some reason I cannot understand,
> > but we cannot easily change this now.
> 
> But we can remove those `/p` thingies from the completion text itself
> and add them back (via annotation-function) when listing
> the completions, no?

We could, I guess, so patches welcome.