[Top][All Lists]

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

bug#23164: 25.1.50; xref-find-definitions with local tags-file-name fail

From: Johan Claesson
Subject: bug#23164: 25.1.50; xref-find-definitions with local tags-file-name fails
Date: Mon, 04 Apr 2016 23:24:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Ooops, i see that the formatting of my last email got messed up because 
it includes some form-feeds (^L).  Here is the same message again
without evil form-feeds :)

Hi again,

I tried again this time with the TAGS of Emacs itself (emacs/src/TAGS).
And like you have already established the problem does not occur in this
scenario.  It does occur with other valid TAGS files, though.  

After a little bit of tracing i think the difference that matters is
that emacs/src/TAGS includes two other TAGS file in the very last lines:


I was not aware of this feature with TAGS files including other TAGS
files before but after invoking xref-find-definitions emacs is visiting
all 3 TAGS files (src/TAGS, lisp/TAGS and lwlib/TAGS).  And
xref-find-definitions loops through them all.

If these last lines in emacs/src/TAGS are deleted the problem occurs.

It also occur with other simple TAGS files that do not include other
TAGS files.  And the TAGS file i was using when observing the problem
the first time was this kind of simple TAGS file.

Same in master and emacs-25.



> Óscar Fuentes <address@hidden> writes:
>> Dmitry Gutov <address@hidden> writes:
>>> Thanks for the report, but that doesn't seem to be the case here. At
>>> least if I replace "/dev/zero" with "~/vc/emacs/src/TAGS", the
>>> scenario doesn't lead to an error (I just get "not found"), and if I
>>> also use e.g. "CALLN" instead of "foo", the jump to the destination
>>> occurs as expected.
>> I can reproduce it here with an existing TAGS file, on emacs -Q.
>> GNU Emacs (x86_64-unknown-linux-gnu, X toolkit) of 2016-04-03
>> at commit fc3cd53900eb5e80b91b6d2615b3800fd2f59c16
>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>   expand-file-name(nil)
>>   tags-expand-table-name(nil)
>>   visit-tags-table-buffer(t)
>>   etags--xref-find-definitions("foo")
>>   #[514 "\300!\207" [etags--xref-find-definitions] 4 "\n\n(fn BACKEND 
>> SYMBOL)"](etags "foo")
>>   apply(#[514 "\300!\207" [etags--xref-find-definitions] 4 "\n\n(fn BACKEND 
>> SYMBOL)"] etags "foo")
>>   xref-backend-definitions(etags "foo")
>>   xref--find-xrefs("foo" definitions "foo" nil)
>>   xref--find-definitions("foo" nil)
>>   xref-find-definitions("foo")
>>   eval((xref-find-definitions "foo") nil)
>>   elisp--eval-last-sexp(nil)
>>   eval-last-sexp(nil)
>>   funcall-interactively(eval-last-sexp nil)
>>   call-interactively(eval-last-sexp nil nil)
>>   command-execute(eval-last-sexp)

reply via email to

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