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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 01 Feb 2015 18:01:31 +0200

> Date: Sun, 01 Feb 2015 04:24:50 +0200
> From: Dmitry Gutov <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> On 01/31/2015 10:52 AM, Eli Zaretskii wrote:
> 
> > I tried that a few days ago, but didn't see any significant changes in
> > behavior.  I'm probably missing something -- what exactly did you want
> > me to pay attention to?
> 
> What have you tried, exactly?

I evaluated your suggested code, and then typed "M-.".

> You should have noticed that `M-.' in emacs-lisp-mode buffers behaves 
> like in other buffers and uses the current tags table (and prompts for 
> it if the tags table hasn't been visited yet).

It does.

> I've found one caveat now: even though the tags list is not buffer-local 
> (right?), (tags-lazy-completion-table) returns different results in 
> lisp/**/*.el buffers and src/*.c buffers.

Yes, it's not 100% smooth.

> `find-tag' completion exhibits the same difference. For instance, 
> calling `M-x find-tag' in src/disp.c, then typing `display_li' and 
> pressing TAB will complete it to `display_line'. No so in 
> lisp/progmodes/etags.el. Doing it in that buffer results in [No match]. 

That's not what I see, both in Emacs 24.4 and with the current trunk:
the completion works even in buffers whose major mode is emacs-lisp.

> However, typing `display_line' fully in either, then pressing RET, 
> brings you to that function's definition. This should be considered a 
> bug, right?

Yes, except that I don't see it, at least not in "emacs -Q".