Fix cross-references between manuals

* doc/misc/viper.texi (Viper Specials):
* doc/misc/url.texi (Tramp):
* doc/misc/sem-user.texi (Smart Jump):
* doc/lispintro/emacs-lisp-intro.texi (Finding More):
* doc/misc/efaq.texi (Replacing text across multiple files): Fix
cross-references between manuals.  (Bug#23612)
* doc/lispintro/emacs-lisp-intro.texi (etags): Node deleted: no
longer relevant to Emacs Lisp programming.
This commit is contained in:
Eli Zaretskii 2016-05-24 21:24:45 +03:00
parent f3d2dedeba
commit 2e589c0042
5 changed files with 22 additions and 181 deletions

View file

@ -584,7 +584,6 @@ Regular Expression Searches
* re-search-forward:: Very similar to @code{search-forward}. * re-search-forward:: Very similar to @code{search-forward}.
* forward-sentence:: A straightforward example of regexp search. * forward-sentence:: A straightforward example of regexp search.
* forward-paragraph:: A somewhat complex example. * forward-paragraph:: A somewhat complex example.
* etags:: How to create your own @file{TAGS} table.
* Regexp Review:: * Regexp Review::
* re-search Exercises:: * re-search Exercises::
@ -4583,54 +4582,21 @@ definition.
@end ignore @end ignore
More generally, if you want to see a function in its original source More generally, if you want to see a function in its original source
file, you can use the @code{find-tag} function to jump to it. file, you can use the @code{xref-find-definitions} function to jump to
@code{find-tag} works with a wide variety of languages, not just it. @code{xref-find-definitions} works with a wide variety of
Lisp, and C, and it works with non-programming text as well. For languages, not just Lisp, and C, and it works with non-programming
example, @code{find-tag} will jump to the various nodes in the text as well. For example, @code{xref-find-definitions} will jump to
Texinfo source file of this document. the various nodes in the Texinfo source file of this document.
The @code{find-tag} function depends on @dfn{tags tables} that record
the locations of the functions, variables, and other items to which
@code{find-tag} jumps.
To use the @code{find-tag} command, type @kbd{M-.} (i.e., press the To use the @code{xref-find-definitions} command, type @kbd{M-.}
period key while holding down the @key{META} key, or else type the (i.e., press the period key while holding down the @key{META} key, or
@key{ESC} key and then type the period key), and then, at the prompt, else type the @key{ESC} key and then type the period key), and then,
type in the name of the function whose source code you want to see, at the prompt, type in the name of the function whose source code you
such as @code{mark-whole-buffer}, and then type @key{RET}. Emacs will want to see, such as @code{mark-whole-buffer}, and then type
switch buffers and display the source code for the function on your @key{RET}. Emacs will switch buffers and display the source code for
screen. To switch back to your current buffer, type @kbd{C-x b the function on your screen. To switch back to your current buffer,
@key{RET}}. (On some keyboards, the @key{META} key is labeled type @kbd{C-x b @key{RET}}. (On some keyboards, the @key{META} key is
@key{ALT}.) labeled @key{ALT}.)
@c !!! 22.1.1 tags table location in this paragraph
@cindex TAGS table, specifying
@findex find-tag
Depending on how the initial default values of your copy of Emacs are
set, you may also need to specify the location of your tags table,
which is a file called @file{TAGS}. For example, if you are
interested in Emacs sources, the tags table you will most likely want,
if it has already been created for you, will be in a subdirectory of
the @file{/usr/local/share/emacs/} directory; thus you would use the
@code{M-x visit-tags-table} command and specify a pathname such as
@file{/usr/local/share/emacs/22.1.1/lisp/TAGS}. If the tags table
has not already been created, you will have to create it yourself. It
will be in a file such as @file{/usr/local/src/emacs/src/TAGS}.
@need 1250
To create a @file{TAGS} file in a specific directory, switch to that
directory in Emacs using @kbd{M-x cd} command, or list the directory
with @kbd{C-x d} (@code{dired}). Then run the compile command, with
@w{@code{etags *.el}} as the command to execute:
@smallexample
M-x compile RET etags *.el RET
@end smallexample
For more information, see @ref{etags, , Create Your Own @file{TAGS} File}.
After you become more familiar with Emacs Lisp, you will find that you will
frequently use @code{find-tag} to navigate your way around source code;
and you will create your own @file{TAGS} tables.
@cindex Library, as term for ``file'' @cindex Library, as term for ``file''
Incidentally, the files that contain Lisp code are conventionally Incidentally, the files that contain Lisp code are conventionally
@ -12142,7 +12108,6 @@ introduces several new features.
* re-search-forward:: Very similar to @code{search-forward}. * re-search-forward:: Very similar to @code{search-forward}.
* forward-sentence:: A straightforward example of regexp search. * forward-sentence:: A straightforward example of regexp search.
* forward-paragraph:: A somewhat complex example. * forward-paragraph:: A somewhat complex example.
* etags:: How to create your own @file{TAGS} table.
* Regexp Review:: * Regexp Review::
* re-search Exercises:: * re-search Exercises::
@end menu @end menu
@ -13294,130 +13259,6 @@ key; you will be taken directly to the source. (Be sure to install
your sources! Without them, you are like a person who tries to drive your sources! Without them, you are like a person who tries to drive
a car with his eyes shut!) a car with his eyes shut!)
@node etags
@section Create Your Own @file{TAGS} File
@findex etags
@cindex @file{TAGS} file, create own
Besides @kbd{C-h f} (@code{describe-function}), another way to see the
source of a function is to type @kbd{M-.} (@code{find-tag}) and the
name of the function when prompted for it. This is a good habit to
get into. The @kbd{M-.} (@code{find-tag}) command takes you directly
to the source for a function, variable, or node. The function depends
on tags tables to tell it where to go.
If the @code{find-tag} function first asks you for the name of a
@file{TAGS} table, give it the name of a @file{TAGS} file such as
@file{/usr/local/src/emacs/src/TAGS}. (The exact path to your
@file{TAGS} file depends on how your copy of Emacs was installed. I
just told you the location that provides both my C and my Emacs Lisp
sources.)
You can also create your own @file{TAGS} file for directories that
lack one.
You often need to build and install tags tables yourself. They are
not built automatically. A tags table is called a @file{TAGS} file;
the name is in upper case letters.
You can create a @file{TAGS} file by calling the @code{etags} program
that comes as a part of the Emacs distribution. Usually, @code{etags}
is compiled and installed when Emacs is built. (@code{etags} is not
an Emacs Lisp function or a part of Emacs; it is a C program.)
@need 1250
To create a @file{TAGS} file, first switch to the directory in which
you want to create the file. In Emacs you can do this with the
@kbd{M-x cd} command, or by visiting a file in the directory, or by
listing the directory with @kbd{C-x d} (@code{dired}). Then run the
compile command, with @w{@code{etags *.el}} as the command to execute
@smallexample
M-x compile RET etags *.el RET
@end smallexample
@noindent
to create a @file{TAGS} file for Emacs Lisp.
For example, if you have a large number of files in your
@file{~/emacs} directory, as I do---I have 137 @file{.el} files in it,
of which I load 12---you can create a @file{TAGS} file for the Emacs
Lisp files in that directory.
@need 1250
The @code{etags} program takes all the usual shell wildcards. For
example, if you have two directories for which you want a single
@file{TAGS} file, type @w{@code{etags *.el ../elisp/*.el}}, where
@file{../elisp/} is the second directory:
@smallexample
M-x compile RET etags *.el ../elisp/*.el RET
@end smallexample
@need 1250
Type
@smallexample
M-x compile RET etags --help RET
@end smallexample
@noindent
to see a list of the options accepted by @code{etags} as well as a
list of supported languages.
The @code{etags} program handles more than 20 languages, including
Emacs Lisp, Common Lisp, Scheme, C, C++, Ada, Fortran, HTML, Java,
LaTeX, Pascal, Perl, PostScript, Python, TeX, Texinfo, makefiles, and
most assemblers. The program has no switches for specifying the
language; it recognizes the language in an input file according to its
file name and contents.
@file{etags} is very helpful when you are writing code yourself and
want to refer back to functions you have already written. Just run
@code{etags} again at intervals as you write new functions, so they
become part of the @file{TAGS} file.
If you think an appropriate @file{TAGS} file already exists for what
you want, but do not know where it is, you can use the @code{locate}
program to attempt to find it.
Type @w{@kbd{M-x locate @key{RET} TAGS @key{RET}}} and Emacs will list
for you the full path names of all your @file{TAGS} files. On my
system, this command lists 34 @file{TAGS} files. On the other hand, a
plain vanilla system I recently installed did not contain any
@file{TAGS} files.
If the tags table you want has been created, you can use the @code{M-x
visit-tags-table} command to specify it. Otherwise, you will need to
create the tag table yourself and then use @code{M-x
visit-tags-table}.
@subsubheading Building Tags in the Emacs sources
@cindex Building Tags in the Emacs sources
@cindex Tags in the Emacs sources
@findex make tags
The GNU Emacs sources come with a @file{Makefile} that contains a
sophisticated @code{etags} command that creates, collects, and merges
tags tables from all over the Emacs sources and puts the information
into one @file{TAGS} file in the @file{src/} directory. (The
@file{src/} directory is below the top level of your Emacs directory.)
@need 1250
To build this @file{TAGS} file, go to the top level of your Emacs
source directory and run the compile command @code{make tags}:
@smallexample
M-x compile RET make tags RET
@end smallexample
@noindent
(The @code{make tags} command works well with the GNU Emacs sources,
as well as with some other source packages.)
For more information, see @ref{Tags, , Tag Tables, emacs, The GNU Emacs
Manual}.
@node Regexp Review @node Regexp Review
@section Review @section Review

View file

@ -2290,7 +2290,7 @@ is actually typical for regexp syntax.)
@cindex Recursive search/replace operations @cindex Recursive search/replace operations
Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d}) supports the Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d}) supports the
command @code{dired-do-query-replace-regexp} (@kbd{Q}), which allows command @code{dired-do-find-regexp-and-replace} (@kbd{Q}), which allows
users to replace regular expressions in multiple files. users to replace regular expressions in multiple files.
You can use this command to perform search/replace operations on You can use this command to perform search/replace operations on
@ -2315,7 +2315,7 @@ To accept all replacements in each file, hit @kbd{!}.
Another way to do the same thing is to use the ``tags'' feature of Another way to do the same thing is to use the ``tags'' feature of
Emacs: it includes the command @code{tags-query-replace} which performs Emacs: it includes the command @code{tags-query-replace} which performs
a query-replace across all the files mentioned in the @file{TAGS} file. a query-replace across all the files mentioned in the @file{TAGS} file.
@xref{Tags Search,,, emacs, The GNU Emacs Manual}. @xref{Identifier Search,,, emacs, The GNU Emacs Manual}.
@node Documentation for etags @node Documentation for etags
@section Where is the documentation for @code{etags}? @section Where is the documentation for @code{etags}?

View file

@ -874,9 +874,9 @@ command, like this:
@end example @end example
@end defun @end defun
These commands are often more accurate than the @code{find-tag} These commands are often more accurate than the @code{xref-find-definitions}
command (@pxref{Tags,,,emacs,Emacs manual}), because the Semantic command (@pxref{Looking Up Identifiers,,,emacs,Emacs manual}), because
Analyzer is context-sensitive. the Semantic Analyzer is context-sensitive.
You can also use @kbd{C-c , j} (@code{semantic-complete-jump-local}) You can also use @kbd{C-c , j} (@code{semantic-complete-jump-local})
and @kbd{C-c , J} (@code{semantic-complete-jump}) to navigate tags. and @kbd{C-c , J} (@code{semantic-complete-jump}) to navigate tags.

View file

@ -820,12 +820,12 @@ The file transfer protocol. @xref{file/ftp}.
@item ssh @item ssh
@cindex ssh @cindex ssh
The secure shell protocol. @xref{Inline Methods,,, tramp, The Tramp The secure shell protocol. @xref{Inline methods,,, tramp, The Tramp
Manual}. Manual}.
@item scp @item scp
@cindex scp @cindex scp
The secure file copy protocol. @xref{External Methods,,, tramp, The The secure file copy protocol. @xref{External methods,,, tramp, The
Tramp Manual}. Tramp Manual}.
@item rsync @item rsync

View file

@ -2568,7 +2568,7 @@ above block should be commented out.
Even though these commands are sometimes useful, they are no substitute for Even though these commands are sometimes useful, they are no substitute for
the powerful @emph{tag table} facility of Emacs. Viper's @kbd{:tag} command the powerful @emph{tag table} facility of Emacs. Viper's @kbd{:tag} command
in a primitive interface to Emacs tags. @xref{Tags,Tags,Tags,emacs, in a primitive interface to Emacs tags. @xref{Tags Tables,,,emacs,
The GNU Emacs Manual}, for more information on tags. The GNU Emacs Manual}, for more information on tags.
The following two commands are normally bound to a mouse click and are part The following two commands are normally bound to a mouse click and are part