This commit was manufactured by cvs2svn to create branch 'chise-r21-4-18'.
[chise/xemacs-chise.git-] / etc / etags.1
diff --git a/etc/etags.1 b/etc/etags.1
new file mode 100644 (file)
index 0000000..3ae60ec
--- /dev/null
@@ -0,0 +1,263 @@
+.\" Copyright (c) 1992 Free Software Foundation
+.\" See section COPYING for conditions for redistribution
+.TH etags 1 "14gen2001" "GNU Tools" "GNU Tools"
+.de BP
+.sp
+.ti -.2i
+\(**
+..
+
+.SH NAME
+etags, ctags \- generate tag file for Emacs, vi
+.SH SYNOPSIS
+.hy 0
+.na
+.B etags [\|\-aCDGImRVh\|] [\|\-i \fIfile\fP\|] [\|\-l \fIlanguage\fP\|]
+.if n .br
+.B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
+.br
+.B [\|\-\-append\|] [\|\-\-no\-defines\|]
+.B [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|]
+.B [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|]
+.B [\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|]
+.B [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|]
+.B [\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
+.B [\|\-\-help\|] [\|\-\-version\|]
+\fIfile\fP .\|.\|.
+
+.B ctags [\|\-aCdgImRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
+.if n .br
+.B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
+.br
+.B [\|\-\-append\|] [\|\-\-backward\-search\|]
+.B [\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|]
+.B [\|\-\-globals\|] [\|\-\-ignore\-indentation\|]
+.B [\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|]
+.B [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|]
+.B [\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
+.B [\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|]
+.B [\|\-\-update\|] [\|\-\-no\-warn\|]
+.B [\|\-\-help\|] [\|\-\-version\|]
+\fIfile\fP .\|.\|.
+.ad b
+.hy 1
+.SH DESCRIPTION
+The `\|\fBetags\fP\|' program is used to create a tag table file, in a format
+understood by
+.BR emacs ( 1 )\c
+\&; the `\|\fBctags\fP\|' program is used to create a similar table in a
+format understood by
+.BR vi ( 1 )\c
+\&.  Both forms of the program understand the syntax of C, Objective C,
+C++, Java, Fortran, Ada, Cobol, Erlang, LaTeX, Emacs Lisp/Common Lisp,
+makefiles, Pascal, Perl, Postscript, Python, Prolog, Scheme and most
+assembler\-like syntaxes.
+Both forms read the files specified on the command line, and write a tag
+table (defaults: `\|TAGS\|' for \fBetags\fP, `\|tags\|' for
+\fBctags\fP) in the current working directory.
+Files specified with relative file names will be recorded in the tag
+table with file names relative to the directory where the tag table
+resides.  Files specified with absolute file names will be recorded
+with absolute file names.
+The programs recognize the language used in an input file based on its
+file name and contents.  The --language switch can be used to force
+parsing of the file names following the switch according to the given
+language, overriding guesses based on filename extensions.
+.SH OPTIONS
+Some options make sense only for the \fBvi\fP style tag files produced
+by ctags;
+\fBetags\fP does not recognize them.
+The programs accept unambiguous abbreviations for long option names.
+.TP
+.B \-a, \-\-append
+Append to existing tag file.  (For vi-format tag files, see also
+\fB\-\-update\fP.)
+.TP
+.B \-B, \-\-backward\-search
+Tag files written in the format expected by \fBvi\fP contain regular
+expression search instructions; the \fB\-B\fP option writes them using
+the delimiter `\|\fB?\fP\|', to search \fIbackwards\fP through files.
+The default is to use the delimiter `\|\fB/\fP\|', to search \fIforwards\fP
+through files.
+Only \fBctags\fP accepts this option.
+.TP
+.B \-\-declarations
+In C and derived languages, create tags for function declarations,
+and create tags for extern variables unless \-\-no\-globals is used.
+.TP
+.B \-d, \-\-defines
+Create tag entries for C preprocessor constant definitions
+and enum constants, too.  This is the
+default behavior for \fBetags\fP.
+.TP
+.B \-D, \-\-no\-defines
+Do not create tag entries for C preprocessor constant definitions
+and enum constants.
+This may make the tags file much smaller if many header files are tagged.
+This is the default behavior for \fBctags\fP.
+.TP
+.B \-g, \-\-globals
+Create tag entries for global variables in C, C++, Objective C, Java,
+and Perl.
+This is the default behavior for \fBetags\fP.
+.TP
+.B \-G, \-\-no\-globals
+Do not tag global variables.  Typically this reduces the file size by
+one fourth.  This is the default behavior for \fBctags\fP.
+.TP
+\fB\-i\fP \fIfile\fP, \fB\-\-include=\fIfile\fP
+Include a note in the tag file indicating that, when searching for a
+tag, one should also consult the tags file \fIfile\fP after checking the
+current file.  This options is only accepted by \fBetags\fP.
+.TP
+.B \-I, \-\-ignore\-indentation
+Don't rely on indentation as much as we normally do.  Currently, this
+means not to assume that a closing brace in the first column is the
+final brace of a function or structure definition in C and C++.
+.TP
+\fB\-l\fP \fIlanguage\fP, \fB\-\-language=\fIlanguage\fP
+Parse the following files according to the given language.  More than
+one such options may be intermixed with filenames.  Use \fB\-\-help\fP
+to get a list of the available languages and their default filename
+extensions.  The `auto' language can be used to restore automatic
+detection of language based on the file name.  The `none'
+language may be used to disable language parsing altogether; only
+regexp matching is done in this case (see the \fB\-\-regex\fP option).
+.TP
+.B \-m, \-\-members
+Create tag entries for variables that are members of structure-like
+constructs in C++, Objective C, Java.
+.TP
+.B \-M, \-\-no\-members
+Do not tag member variables.  This is the default behavior.
+.TP
+.B \-\-packages\-only
+Only tag packages in Ada files.
+.TP
+\fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP
+Explicit name of file for tag table; overrides default `\|TAGS\|' or
+`\|tags\|'.   (But ignored with \fB\-v\fP or \fB\-x\fP.)
+.TP
+\fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP, \fB\-\-ignore\-case\-regex=\fIregexp\fP
+Make tags based on regexp matching for each line of the files following
+this option, in addition to the tags made with the standard parsing based
+on language.  When using \-\-regex, case is significant, while it is not
+with \-\-ignore\-case\-regex. May be freely intermixed with filenames and
+the \fB\-R\fP option.  The regexps are cumulative, i.e. each option will
+add to the previous ones.  The regexps are of the form:
+.br
+       \fB/\fP\fItagregexp\fP[\fB/\fP\fInameregexp\fP]\fB/\fP
+.br
+
+where \fItagregexp\fP is used to match the lines that must be tagged.
+It should not match useless characters.  If the match is
+such that more characters than needed are unavoidably matched by
+\fItagregexp\fP, it may be useful to add a \fInameregexp\fP, to
+narrow down the tag scope.  \fBctags\fP ignores regexps without a
+\fInameregexp\fP.  The syntax of regexps is the same as in emacs,
+augmented with intervals of the form \\{m,n\\}, as in ed or grep.
+.br
+Here are some examples.  All the regexps are quoted to protect them
+from shell interpretation.
+.br
+
+Tag the DEFVAR macros in the emacs source files:
+.br
+\fI\-\-regex\='/[ \\t]*DEFVAR_[A-Z_ \\t(]+"\\([^"]+\\)"\/'\fP
+.br
+
+Tag VHDL files (this example is a single long line, broken here for
+formatting reasons):
+.br
+\fI\-\-language\=none\ \-\-regex='/[\ \\t]*\\(ARCHITECTURE\\|\\
+CONFIGURATION\\)\ +[^\ ]*\ +OF/'\ \-\-regex\='/[\ \\t]*\\
+\\(ATTRIBUTE\\|ENTITY\\|FUNCTION\\|PACKAGE\\(\ BODY\\)?\\
+\\|PROCEDURE\\|PROCESS\\|TYPE\\)[\ \\t]+\\([^\ \\t(]+\\)/\\3/'\fP
+.br
+
+Tag TCL files (this last example shows the usage of a \fItagregexp\fP):
+.br
+\fI\-\-lang\=none \-\-regex\='/proc[\ \\t]+\\([^\ \\t]+\\)/\\1/'\fP
+
+.br
+A regexp can be preceded by {lang}, thus restriciting it to match lines of
+files of the specified language.  Use \fBetags --help\fP to obtain a list
+of the recognised languages.  This feature is particularly useful inside
+\fBregex files\fP.  A regex file contains one regex per line.  Empty lines,
+and those lines beginning with space or tab are ignored.  Lines beginning
+with @ are references to regex files whose name follows the @ sign.  Other
+lines are considered regular expressions like those following \-\-regex.
+.br
+For example, the command
+.br
+etags \-\-regex=@regex.file *.c
+.br
+reads the regexes contained in the file regex.file.
+.TP
+.B \-R, \-\-no\-regex
+Don't do any more regexp matching on the following files.  May be
+freely intermixed with filenames and the \fB\-\-regex\fP option.
+.TP
+.B \-t, \-\-typedefs
+Record typedefs in C code as tags.  Since this is the default behaviour
+of \fBetags\fP, only \fBctags\fP accepts this option.
+.TP
+.B \-T, \-\-typedefs\-and\-c++
+Generate tag entries for typedefs, struct, enum, and union tags, and
+C++ member functions.  Since this is the default behaviour
+of \fBetags\fP, only \fBctags\fP accepts this option.
+.TP
+.B \-u, \-\-update
+Update tag entries for \fIfiles\fP specified on command line, leaving
+tag entries for other files in place.  Currently, this is implemented
+by deleting the existing entries for the given files and then
+rewriting the new entries at the end of the tags file.  It is often
+faster to simply rebuild the entire tag file than to use this.
+Only \fBctags\fP accepts this option.
+.TP
+.B \-v, \-\-vgrind
+Instead of generating a tag file, write index (in \fBvgrind\fP format)
+to standard output.  Only \fBctags\fP accepts this option.
+.TP
+.B \-w, \-\-no\-warn
+Suppress warning messages about duplicate entries.  The \fBetags\fP
+program does not check for duplicate entries, so this option is not
+allowed with it.
+.TP
+.B \-x, \-\-cxref
+Instead of generating a tag file, write a cross reference (in
+\fBcxref\fP format) to standard output.  Only \fBctags\fP accepts this option.
+.TP
+.B \-h, \-H, \-\-help
+Print usage information.
+.TP
+.B \-V, \-\-version
+Print the current version of the program (same as the version of the
+emacs \fBetags\fP is shipped with).
+
+.SH "SEE ALSO"
+`\|\fBemacs\fP\|' entry in \fBinfo\fP; \fIGNU Emacs Manual\fP, Richard
+Stallman.
+.br
+.BR cxref ( 1 ),
+.BR emacs ( 1 ),
+.BR vgrind ( 1 ),
+.BR vi ( 1 ).
+
+.SH COPYING
+Copyright (c) 1999 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.