Commit f8208b69 authored by Eli Zaretskii's avatar Eli Zaretskii

Document the user-level features of the Xref package

* doc/emacs/maintaining.texi (Maintaining): Add a list of
described features.
(Xref): New section, made out of thoroughly rewritten "Tags"
section.
(Find Identifiers, Looking Up Identifiers, Xref Commands)
(Identifier Search, List Identifiers): New subsections,
incorporating the old tags commands and the new xref commands.
(Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
Section and subsections demoted to a lower level.
* doc/emacs/search.texi (Search):
* doc/emacs/windows.texi (Pop Up Window):
* doc/emacs/frames.texi (Creating Frames):
* doc/emacs/programs.texi (Imenu, Symbol Completion):
* doc/emacs/building.texi (Grep Searching):
* doc/emacs/dired.texi (Operating on Files):
* doc/emacs/glossary.texi (Glossary): All references to tags changed.
parent b131fb85
......@@ -360,8 +360,8 @@ that specifies how to run @command{grep}. Use the same arguments you
would give @command{grep} when running it normally: a @command{grep}-style
regexp (usually in single-quotes to quote the shell's special
characters) followed by file names, which may use wildcards. If you
specify a prefix argument for @kbd{M-x grep}, it finds the tag
(@pxref{Tags}) in the buffer around point, and puts that into the
specify a prefix argument for @kbd{M-x grep}, it finds the identifier
(@pxref{Xref}) in the buffer around point, and puts that into the
default @command{grep} command.
Your command need not simply run @command{grep}; you can use any shell
......
......@@ -785,8 +785,8 @@ Search all the specified files for the regular expression @var{regexp}
(@code{dired-do-search}).
This command is a variant of @code{tags-search}. The search stops at
the first match it finds; use @kbd{M-,} to resume the search and find
the next match. @xref{Tags Search}.
the first match it finds; use @kbd{M-x tags-loop-continue} to resume
the search and find the next match. @xref{Identifier Search}.
@kindex Q @r{(Dired)}
@findex dired-do-query-replace-regexp
......@@ -797,8 +797,8 @@ replacing matches for @var{regexp} with the string
@var{to} (@code{dired-do-query-replace-regexp}).
This command is a variant of @code{tags-query-replace}. If you exit the
query replace loop, you can use @kbd{M-,} to resume the scan and replace
more matches. @xref{Tags Search}.
query replace loop, you can use @kbd{M-x tags-loop-continue} to resume
the scan and replace more matches. @xref{Identifier Search}.
@end table
@node Shell Commands in Dired
......
......@@ -788,8 +788,8 @@ Maintaining Large Programs
* Version Control:: Using version control systems.
* Change Log:: Maintaining a change history for your program.
* Tags:: Go directly to any function in your program in one
command. Tags remembers which file it is in.
* Xref:: Find definitions and references of any function,
method, struct, macro, @dots{} in your program.
* EDE:: An integrated development environment for Emacs.
@ifnottex
* Emerge:: A convenient way of merging two versions of a program.
......@@ -861,15 +861,25 @@ Change Logs
* Change Log Commands:: Commands for editing change log files.
* Format of ChangeLog:: What the change log file looks like.
Xref
* Find Identifiers:: Commands to find where an identifier is defined
or referenced, to list identifiers, etc.
* Tags Tables:: Tags table records which file defines a symbol.
* Select Tags Table:: How to visit a specific tags table.
Find Identifiers
* Looking Up Identifiers:: Commands to find the definition of a specific tag.
* Xref Commands:: Commands in the @file{*xref*} buffer.
* Identifier Search:: Searching and replacing identifiers.
* List Identifiers:: Listing identifiers and completing on them.
Tags Tables
* Tag Syntax:: Tag syntax for various types of code and text files.
* Create Tags Table:: Creating a tags table with @command{etags}.
* Etags Regexps:: Create arbitrary tags using regular expressions.
* Select Tags Table:: How to visit a tags table.
* Find Tag:: Commands to find the definition of a specific tag.
* Tags Search:: Using a tags table for searching and replacing.
* List Tags:: Using tags for completion, and listing them.
@ifnottex
Merging Files with Emerge
......
......@@ -416,9 +416,9 @@ Start composing a mail message in another frame. This runs
@code{compose-mail-other-frame}. It is the other-frame variant of
@kbd{C-x m}. @xref{Sending Mail}.
@item C-x 5 .
Find a tag in the current tag table in another frame. This runs
@code{find-tag-other-frame}, the multiple-frame variant of @kbd{M-.}.
@xref{Tags}.
Find the definition of an identifier in another frame. This runs
@code{xref-find-definitions-other-frame}, the multiple-frame variant
of @kbd{M-.}. @xref{Xref}.
@item C-x 5 r @var{filename} @key{RET}
@kindex C-x 5 r
@findex find-file-read-only-other-frame
......
......@@ -1329,7 +1329,7 @@ indentation or completion.
@anchor{Glossary---Tags Table}
@item Tags Table
A tags table is a file that serves as an index to the function
definitions in one or more other files. @xref{Tags}.
definitions in one or more other files. @xref{Tags Tables}.
@item Termscript File
A termscript file contains a record of all characters sent by Emacs to
......
This diff is collapsed.
......@@ -271,7 +271,7 @@ bindings for that purpose.
The Imenu facility offers a way to find the major definitions in
a file by name. It is also useful in text formatter major modes,
where it treats each chapter, section, etc., as a definition.
(@xref{Tags}, for a more powerful feature that handles multiple files
(@xref{Xref}, for a more powerful feature that handles multiple files
together.)
@findex imenu
......@@ -1358,7 +1358,7 @@ the @kbd{M-@key{TAB}} key is usually reserved by the window manager
for switching graphical windows, so you should type @kbd{C-M-i} or
@kbd{@key{ESC} @key{TAB}} instead.
@cindex tags-based completion
@cindex xref-based completion
@findex completion-at-point
@cindex Lisp symbol completion
@cindex completion (Lisp symbols)
......@@ -1368,7 +1368,7 @@ which generates its completion list in a flexible way. If Semantic
mode is enabled, it tries to use the Semantic parser data for
completion (@pxref{Semantic}). If Semantic mode is not enabled or
fails at performing completion, it tries to complete using the
selected tags table (@pxref{Tags}). If in Emacs Lisp mode, it
available @code{xref} backend (@pxref{Xref}). If in Emacs Lisp mode, it
performs completion using the function, variable, or property names
defined in the current Emacs session.
......
......@@ -12,10 +12,10 @@ a string. Emacs also has commands to replace occurrences of a string
with a different string. There are also commands that do the same
thing, but search for patterns instead of fixed strings.
You can also search multiple files under the control of a tags table
(@pxref{Tags Search}) or through the Dired @kbd{A} command
(@pxref{Operating on Files}), or ask the @code{grep} program to do it
(@pxref{Grep Searching}).
You can also search multiple files under the control of an
@code{xref} backend (@pxref{Identifier Search}) or through the Dired
@kbd{A} command (@pxref{Operating on Files}), or ask the @code{grep}
program to do it (@pxref{Grep Searching}).
@menu
* Incremental Search:: Search happens as you type the string.
......
......@@ -231,8 +231,9 @@ Mail}), but in another window (@code{compose-mail-other-window}).
@findex find-tag-other-window
@item C-x 4 .
Find a tag in the current tags table, similar to @kbd{M-.}
(@pxref{Tags}), but in another window (@code{find-tag-other-window}).
Find the definition of an identifier, similar to @kbd{M-.}
(@pxref{Xref}), but in another window
(@code{xref-find-definitions-other-window}).
@item C-x 4 r @var{filename} @key{RET}
Visit file @var{filename} read-only, and select its buffer in another
window (@code{find-file-read-only-other-window}). @xref{Visiting}.
......
......@@ -938,6 +938,7 @@ New options `tildify-space-string', `tildify-pattern', and
`tildify-ignored-environments-alist' variables (as well as a few
helper functions) obsolete.
+++
** New package Xref replaces Etags's front-end and UI
The new package Xref provides a generic framework and new commands to
......@@ -960,7 +961,7 @@ As a result of this, the following commands are now obsolete:
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
`tags-apropos', and `tags-loop-continue'.
The framework's API is still experimental and can change in major,
The framework's Lisp API is still experimental and can change in major,
backward-incompatible ways.
** New package Project
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment