emacs-devel
[Top][All Lists]
Advanced

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

Re: Generation of tags for the current project on the fly


From: Dmitry Gutov
Subject: Re: Generation of tags for the current project on the fly
Date: Thu, 18 Jan 2018 01:19:58 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Thunderbird/58.0

On 1/17/18 23:12, Eli Zaretskii wrote:

The information is inside the TAGS file, isn't it?

Not really: the signature of each file at the moment of scan is
missing, and maybe also other things.

Meaning it's not known at etags runtime? That's true.

It's also not recorded after the run, so that the next run could
compare against it.

What's a signature? The file names are recorded, of course. But not mtimes, if you mean them.

Make tracks which files need to be recompiled, right? This could reuse
the same mechanism, if possible.

Make doesn't support incremental builds, except on file granularity.
Doing that with etags would be easy, but you say that is not the
"incremental" tagging you had in mind, you want the granularity to be
below file, i.e. on tag level.  For that, a single time stamp of the
TAGS file is insufficient, because all it can tell you is which files
need to be re-tagged, whereas you want to know that on a per-tag
basis.

On the contrary: file granularity should be fine. We just need *some* accounting somewhere to detect which files to reindex.

It's hard for me to imagine how a granularity lower than file would even work.

Another question is how to deal with file deletions: when a file is absent, there's nothing to take into account, for Make to trigger an incremental rebuild (or actually a deletion of this file's entry). Maybe this is a rare enough case, though, that 'make tags' users will deal with it manually in some fashion or other.



reply via email to

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