GNU bug report logs -
#32
Bug in etags ".." code
Previous Next
Reported by: Tom Tromey <tromey <at> redhat.com>
Date: Mon, 3 Mar 2008 03:20:04 UTC
Severity: normal
Tags: patch
Merged with 735
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 29 May 2008 16:18:48 -0400
with message-id <jwvr6bkampj.fsf-monnier+emacsbugreports <at> gnu.org>
and subject line Re: Bug in etags ".." code
has caused the Emacs bug report #32,
regarding Bug in etags ".." code
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don <at> donarmstrong.com
immediately.)
--
32: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
I ran etags like this:
etags ./eval.c -o $(pwd)//.retags.d/Q
Note the double "/".
The resulting tags file contains this line:
../../eval.c,567
But this is wrong, there should be only a single "..".
I think relative_filename needs to handle the situation where multiple
"/"s appear consecutively. The appended patch worked for me.
Tom
*** etags.c 07 Feb 2008 19:34:52 -0700 3.82
--- etags.c 02 Mar 2008 17:01:30 -0700
***************
*** 6792,6799 ****
/* Build a sequence of "../" strings for the resulting relative file name. */
i = 0;
while ((dp = etags_strchr (dp + 1, '/')) != NULL)
! i += 1;
res = xnew (3*i + strlen (fp + 1) + 1, char);
res[0] = '\0';
while (i-- > 0)
--- 6792,6805 ----
/* Build a sequence of "../" strings for the resulting relative file name. */
i = 0;
+ while (*dp == '/')
+ ++dp;
while ((dp = etags_strchr (dp + 1, '/')) != NULL)
! {
! i += 1;
! while (*dp == '/')
! ++dp;
! }
res = xnew (3*i + strlen (fp + 1) + 1, char);
res[0] = '\0';
while (i-- > 0)
[Message part 3 (message/rfc822, inline)]
Thanks, installed,
Stefan
This bug report was last modified 15 years and 184 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.