[Top][All Lists]

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

Re: Bug Report (Feature request?) etags (GNU Emacs 21.1)

From: David Masterson
Subject: Re: Bug Report (Feature request?) etags (GNU Emacs 21.1)
Date: 20 Feb 2002 09:58:55 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

>>>>> Francesco Potorti` writes:

>>> if etags finds a #line directive in file X pointing to file Y, and
>>> if file Y is given on the command line, then ignore file X.
>> No.  It would have to go further than that.  Because of limitations
>> in the shell command line, file X may not be on the etags command
>> line.

> You mean when a TAGS file includes another one?

No.  I mean that the list of files given to etags may have file X, but
not have file Y on it (I got X and Y backward above).  The reason that
that would happen is that, in a very large project, there may be more
files than could possibly be put onto one command line (thus the "-a"
option).  Now, if you're talking about also scanning the TAGS file to
see if Y has already been processed, then that might be enough.

Or would it?  File X may have many #line directives pointing to many
different files (a generated file could be the concatenation of many
sources).  If X points to (A, B, C) and A has already been processed,
then maybe you should only ignore the A parts of X??  Akk, that raises
the complexity of etags and is probably not worth it.  

The only thing that etags should optionally handle is "do I skip
generated files to prevent duplicate tags?"  Assuming, however, that a
generated file is recognizable by a hard-coded "#line" is probably not
the flexible approach, so I suggest using a user-supplied regexp to
determine if the file is generated (default to "#line").

David Masterson                dmaster AT synopsys DOT com
Sr. R&D Engineer               Synopsys, Inc.
Software Engineering           Sunnyvale, CA

reply via email to

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