[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44494: etags.el xref-location-marker does not handle TAGS references

From: Pierre Rouleau
Subject: bug#44494: etags.el xref-location-marker does not handle TAGS references to .el.gz files
Date: Sat, 7 Nov 2020 09:48:24 -0500

On Sat, Nov 7, 2020 at 9:37 AM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Pierre Rouleau <prouleau001@gmail.com>
> Date: Sat, 7 Nov 2020 09:15:12 -0500
> Cc: dgutov@yandex.ru, 44494@debbugs.gnu.org
> To recap you need to try searching for something that is not already
> loaded and use the etags xref backend with a file that contains the definition
> of what one is searching and that is located inside a compressed file.

OK, I've now tried this with paren.el, which is not loaded in "emacs
-Q".  I can confirm that M-. fails to find functions in paren.el (I
tried show-paren-function, FTR), even if I use xref-etags-mode, but
"M-x find-tag" succeeds.

So I think we should try to understand why find-tag does work in this
case, and see how to make xref-find-definitions do the same.  Could
you perhaps do that?

> . emacs -Q
> . C-x C-f lisp/simple.el.gz
> . M-x xref-etags-mode
> . C-u M-x cc-require
> emacs==> prompts Visit tags table (default TAGS): ....
> me ====> I select the TAGS file where all definitions are stored and hit RET
> - emacs 26.3 ==> Rerun etags: ‘^(defmacro cc-require ’ not found in
> /usr/local/Cellar/emacs/26.3/share/emacs/26.3/lisp/progmod\
> es/cc-bytecomp.el
> - emacs 27.1 ==> Rerun etags: ‘^(defmacro cc-require ’ not found in
> /usr/local/Cellar/emacs/27.1/share/emacs/27.1/lisp/progmodes/cc-bytecomp.el

Note that at this point, you have an empty cc-bytecomp.el buffer.
Which I think gives a clue as to where the problem lies.

You are correct, I tried it with find-tag in emacs 26.3 and 27.1 and find-tag cc-require
does find it, even with the xref-backend-functions set to its default of
(elisp--xref-backend t).

It fails with xref-find-definitions but works with find-tag.

I agree there's a need to see what differs there.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]