GNU bug report logs - #19466
25.0.50; xref-find-def doesn't find C functions

Previous Next

Package: emacs;

Reported by: Eli Zaretskii <eliz <at> gnu.org>

Date: Mon, 29 Dec 2014 19:28:02 UTC

Severity: normal

Found in version 25.0.50

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 19466 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>, 19466 <at> debbugs.gnu.org
Subject: Re: bug#19466: 25.0.50; xref-find-def doesn't find C functions
Date: Tue, 30 Dec 2014 06:57:49 +0200
On 12/29/2014 09:27 PM, Eli Zaretskii wrote:
> Run "make TAGS" in the top-level directory, then:
>
>   emacs -Q
>   Click menu-bar->Edit->Go To->Set Tags File Name
>   Navigate to src/TAGS and select it in the file selection dialog
>   Click menu-bar->Edit->Go To->Find Definition
>   Type "display_line RET" at the prompt
>   => [No match]

Are you doing that in e.g. emacs-lisp-mode buffer? Naturally, it 
wouldn't work, because that major mode defines its own identifier 
completion table and find-definition function.

I understand what you're trying to do, but don't see a way to achieve 
that while keeping the uniform interface for the user in different major 
modes (which can use different navigation logic).

> The above does work if I invoke the same sequence from a buffer
> visiting xdisp.c (or any other file from src/),

Or buffer in any major mode that doesn't define its own navigation function.

> but that sounds like
> an inconvenience.  The old tags feature didn't require that.

Suggestions welcome, but maybe you should just keep using `find-tag'. 
The generic navigation commands are more useful to have as the menu 
items, though.

Alternatively, you could reset `xref-find-function' and 
`xref-identifier-completion-table-function' to their default values in 
`emacs-lisp-mode-hook'. That could be a decent choice if your TAGS file 
includes the lisp files as well.




This bug report was last modified 10 years and 152 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.