Subject: Re: bug#22292: 25.0.50; xref-find-references doesn't find anything for Lisp symbols

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 Jan 2016 16:14:32 +0200

> From: Dmitry Gutov <[email-masked]>
> Date: Sat, 2 Jan 2016 16:05:33 +0200
> 
> >    emacs -Q
> >    C-x C-f lisp/subr.el RET
> >    M-? executing-kbd-macro RET
> 
> This scenario works for me, and I get ~100 matches, with emacs-25 HEAD.
> 
> > The result is disappointing:
> >
> >    No references found for: executing-kbd-macro
> >
> > The equivalent command in a C buffer (for a C symbol) does work as
> > expected.
> 
> I'd expect the problem to be OS-specific, but it working in C buffers is 
> clearly odd. You should be able to edebug xref-collect-references to see 
> what happens (*).

What does that use if an ID database is not available?  Grep?

Can you guide me through the call sequence?  Debugging xref and its
back-ends is a pain.

> (*) However (!), for xref-find-references only, we delegate to 
> semantic-symref-find-references-by-name. And it might call any of the 
> registered tools (such as id-utils), if the respective database file is 
> present.

I don't have an ID db for Emacs in this tree.

> Might it be that id-utils doesn't parse Elisp files?

They do, but that's not relevant in this case.

> To be fair, we could leave xref-find-references unadvertised, because 
> it's not replacing any of the existing etags commands.

I'm not replacing one command for another, I'm rewriting the entire
section.  It cannot be kept in its current form, since it assumes
everything is based on TAGS.