Clarify the description of "selected tags table"

* doc/emacs/maintaining.texi (Select Tags Table): Clarify the
distinction between the "selected tags table" and the "current
list of tags tables".  (Bug#54543)
This commit is contained in:
Eli Zaretskii 2022-03-24 17:22:43 +02:00
parent c69a617742
commit d3d6f1c9bd

View file

@ -2974,11 +2974,12 @@ etags --language=none \
@findex visit-tags-table @findex visit-tags-table
Emacs has at any time at most one @dfn{selected} tags table. All Emacs has at any time at most one @dfn{selected} tags table. All
the commands for working with tags tables use the selected one. To the commands for working with tags tables use the selected one first.
select a tags table, type @kbd{M-x visit-tags-table}, which reads the To select a tags table, type @kbd{M-x visit-tags-table}, which reads
tags table file name as an argument, with @file{TAGS} defaulting to the tags table file name as an argument, with @file{TAGS} defaulting
the first directory that contains a file named @file{TAGS} encountered to the first directory that contains a file named @file{TAGS}
when recursively searching upward from the default directory. encountered when recursively searching upward from the default
directory.
@vindex tags-file-name @vindex tags-file-name
Emacs does not actually read in the tags table contents until you Emacs does not actually read in the tags table contents until you
@ -2988,16 +2989,25 @@ variable's initial value is @code{nil}; that value tells all the
commands for working with tags tables that they must ask for a tags commands for working with tags tables that they must ask for a tags
table file name to use. table file name to use.
Using @code{visit-tags-table} when a tags table is already loaded In addition to the selected tags table, Emacs maintains the list of
gives you a choice: you can add the new tags table to the current list several tags tables that you use together. For example, if you are
of tags tables, or start a new list. The tags commands use all the tags working on a program that uses a library, you may wish to have the
tables in the current list. If you start a new list, the new tags table tags tables of both the program and the library available, so that
is used @emph{instead} of others. If you add the new table to the Emacs could easily find identifiers from both. If the selected tags
current list, it is used @emph{as well as} the others. table doesn't have the identifier or doesn't mention the source file a
tags command needs, the command will try using all the other tags
tables in the current list of tags tables.
Using @code{visit-tags-table} to load a new tags table when another
tags table is already loaded gives you a choice: you can add the new
tags table to the current list of tags tables, or discard the current
list and start a new list. If you start a new list, the new tags
table is used @emph{instead} of others. If you add the new table to
the current list, it is used @emph{as well as} the others.
@vindex tags-table-list @vindex tags-table-list
You can specify a precise list of tags tables by setting the variable You can specify a precise list of tags tables by setting the variable
@code{tags-table-list} to a list of strings, like this: @code{tags-table-list} to a list of directory names, like this:
@c keep this on two lines for formatting in smallbook @c keep this on two lines for formatting in smallbook
@example @example