bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#67687: Feature request: automatic tags management


From: Dmitry Gutov
Subject: bug#67687: Feature request: automatic tags management
Date: Mon, 1 Jan 2024 19:23:28 +0200
User-agent: Mozilla Thunderbird

On 01/01/2024 18:50, Eli Zaretskii wrote:
Date: Mon, 1 Jan 2024 17:47:09 +0200
Cc: stefankangas@gmail.com, eskinjp@gmail.com, 67687@debbugs.gnu.org,
  michael.albinus@gmx.de
From: Dmitry Gutov <dmitry@gutov.dev>

I guess for now it will be enough to document that invoking
visit-tags-table disables the mode for that project.  AFAICT this is
not currently documented anywhere in the patch.

OK, added a paragraph to the mode's docstring.
[...]
+
+The exception is made when the user has already selected a tags
+table manually (for example, using \\[visit-tags-table]).  Then
+this mode doesn't do anything.  Reset the visited tags tables
+using \\[tags-reset-tags-tables]."

The above is only true for the project whose TAGS was manually
visited, right?  IOW, it's not that once the use invokes
visit-tags-table once, this mode will be effectively disabled for the
entire session, right?

No, it's the latter. It's off for the whole session, just like a visited TAGS file is active for the whole session (not limited to any specific project).

The current choice is optimized for making it possible to flip etags-regen-mode on globally while not interrupting the workflows of most (hopefully all) people who currently use etags.

If so, I suggest to make it clear:

   If you select a tags table manually (for example, using
   \\[visit-tags-table]), then this mode will be effectively disabled
   for the project or the directory tree from which the tags table was
   visited (the mode will still auto-regenerate tags tables for other
   projects and directory trees).  Use \\[tags-reset-tags-tables] to
   countermand the effect of a previous \\[visit-tags-table].

Otherwise, this LGTM, thanks.

We could do something like this too, but a tags file, in general, can't always be attributed to a specific project. At least we won't always be able to do that correctly for custom-made tag files. For example, the user could have that file include another tags file from a different directory on the same level, just like we here do with directories 'src' and 'lisp'. If 'src' and 'lisp' were configured to be separate projects, a visited src/TAGS would be attributed to the 'src' project only, while in fact it covers both. So the simplest solution is not to try.





reply via email to

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