1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00

(Tags): Clarify the text some more.

This commit is contained in:
Eli Zaretskii 2009-04-26 18:07:29 +00:00
parent e8025f0e20
commit 7be4f7c06d

View File

@ -1480,34 +1480,34 @@ Of course, you should substitute the proper years and copyright holder.
@section Tags Tables
@cindex tags and tag tables
A @dfn{tag} is a named subunit of a program or of a document. In
program source code, tags are syntactic elements of the program:
functions, subroutines, data types, macros, etc. In a document, tags
are chapters, sections, appendices, etc.
A @dfn{tag} is a reference to a subunit in a program or in a
document. In program source code, tags reference syntactic elements
of the program: functions, subroutines, data types, macros, etc. In a
document, tags reference chapters, sections, appendices, etc. Each
tag specifies the file name on which the corresponding subunit is
defined, and the position of the subunit's definition in that file.
A @dfn{tags table} records the names of the tags extracted from the
source code of a certain program or from a certain document. Each tag
is listed together with the file name on which it is defined, and the
position of the tag in that file. Tags extracted from generated files
reference the original file from which they were generated, rather
than the file from which these tags were extracted. Examples of
generated files include C files generated from Cweb source files, from
a Yacc parser, or from Lex scanner definitions; @file{.i} preprocessed
C files; and Fortran files produced by preprocessing @file{.fpp}
source files.
A @dfn{tags table} records the tags extracted by scanning the source
code of a certain program or a certain document. Tags extracted from
generated files reference subunits in the original files, rather than
the generated files that were scanned during tag extraction. Examples
of generated files include C files generated from Cweb source files,
from a Yacc parser, or from Lex scanner definitions; @file{.i}
preprocessed C files; and Fortran files produced by preprocessing
@file{.fpp} source files.
Tags tables are produced by scanning a document or the source code
of a program with a special program called @samp{etags}, and stored in
files called @dfn{tags table files}. The conventional name for a tags
table file is @file{TAGS}.
To produce tags tables, you use the @samp{etags} command, submitting
it a document or the source code of a program. @samp{etags} writes
the tags to files called @dfn{tags table files}, or @dfn{tags file} in
short. The conventional name for a tags file is @file{TAGS}.
Emacs uses the information recorded in tags tables in commands that
search or replace through multiple files: these commands use the names
of the source files recorded in the tags table to know which files to
search. Other commands, such as @kbd{M-.}, which finds the definition
of a function, use the recorded information about the function names
and positions to find the source file and the position within that
file where the function is defined.
search or replace through multiple source files: these commands use
the names of the source files recorded in the tags table to know which
files to search. Other commands, such as @kbd{M-.}, which finds the
definition of a function, use the recorded information about the
function names and positions to find the source file and the position
within that file where the function is defined.
@cindex C++ class browser, tags
@cindex tags, C++