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

From: Dmitry Gutov <[email-masked]>
Date: Sun, 01 Feb 2015 22:11:08 +0200

On 02/01/2015 06:01 PM, Eli Zaretskii wrote:

>> What have you tried, exactly?
>
> I evaluated your suggested code, and then typed "M-.".

If you recall, I gave you several options, with the end goal being 
making the choice between them or maybe something else.

So it would help if you mentioned exactly which one you tried and the 
problems you experienced after.

>> 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.

Good. So why did you report not seeing any significant changes?

>> 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.

What do you mean by that exactly?

It can't be that same as what I meant because you've rejected the only 
example I gave.

>> `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.

Good to know. That means I did something unusual, and the average user 
won't see that problem.

>> 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".

This has nothing to do with my configuration, just with a few (maybe 
ill-considered) steps that I performed: http://debbugs.gnu.org/19741