summaryrefslogtreecommitdiff
path: root/doc/emacs/maintaining.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/emacs/maintaining.texi')
-rw-r--r--doc/emacs/maintaining.texi55
1 files changed, 48 insertions, 7 deletions
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 14bdbc57f14..d3e06fa697b 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -447,9 +447,10 @@ merge-based version control system, a @samp{-} character indicates
that the work file is unmodified, and @samp{:} indicates that it has
been modified. @samp{!} indicates that the file contains conflicts as
result of a recent merge operation (@pxref{Merging}), or that the file
-was removed from the version control. Finally, @samp{?} means that
-the file is under version control, but is missing from the working
-tree.
+was removed from the version control, or that it is versioned but also
+@dfn{ignored}, something that usually should not happen (@pxref{VC
+Ignore}). Finally, @samp{?} means that the file is under version
+control, but is missing from the working tree.
In a lock-based system, @samp{-} indicates an unlocked file, and
@samp{:} a locked file; if the file is locked by another user (for
@@ -1792,6 +1793,14 @@ project. Also, the VC-aware Project back-end considers ``untracked''
files by default. That behavior is controllable with the variable
@code{project-vc-include-untracked}.
+@cindex current project name on mode line
+@defopt project-mode-line
+If this user option is non-@code{nil}, Emacs displays the name of the
+current project (if any) on the mode line; clicking @kbd{mouse-1} on
+the project name pops up the menu with the project-related commands.
+The default value is @code{nil}.
+@end defopt
+
@menu
* Project File Commands:: Commands for handling project files.
* Project Buffer Commands:: Commands for handling project buffers.
@@ -1853,7 +1862,7 @@ prompt you for the project directory.
@vindex vc-directory-exclusion-list
The command @kbd{C-x p f} (@code{project-find-file}) is a convenient
way of visiting files (@pxref{Visiting}) that belong to the current
-project. Unlike @kbd{C-x C-f}, this command doesn't require to type
+project. Unlike @kbd{C-x C-f}, this command doesn't require typing
the full file name of the file to visit, you can type only the file's
base name (i.e., omit the leading directories). In addition, the
completion candidates considered by the command include only the files
@@ -2674,7 +2683,7 @@ use tags, separate from the @command{etags} facility.
@menu
* Tag Syntax:: Tag syntax for various types of code and text files.
-* Create Tags Table:: Creating a tags table with @command{etags}.
+* Create Tags Table:: Creating and updating tags tables with @command{etags}.
* Etags Regexps:: Create arbitrary tags using regular expressions.
@end menu
@@ -2707,8 +2716,8 @@ definitions have tag names like @samp{operator+}. If you specify the
@samp{--class-qualify} option, tags for variables and functions in
classes are named @samp{@var{class}::@var{variable}} and
@samp{@var{class}::@var{function}}. By default, class methods and
-members are not class-qualified, which allows to identify their names in
-the sources more accurately.
+members are not class-qualified, which facilitates identifying their
+names in the sources more accurately.
@item
In Java code, tags include all the constructs recognized in C++, plus
@@ -2990,6 +2999,38 @@ explanation. If followed by one or more @samp{--language=@var{lang}}
options, it outputs detailed information about how tags are generated for
@var{lang}.
+@findex etags-regen-mode
+ Instead of creating and updating the tags table by manually invoking
+@command{etags}, you can ask Emacs to do it for you automatically.
+The global minor mode @code{etags-regen-mode}, if enabled, generates
+tags tables automatically as needed, and takes care of updating them
+when you edit any of the source files that contribute tags. This mode
+uses the current project configuration (@pxref{Projects}) to determine
+which files to submit to @command{etags} for regenerating the tags
+table for the project. You can customize how this minor mode works
+using the following user options:
+
+@vtable @code
+@item etags-regen-program
+The program to regenerate tags table; defaults to @command{etags}.
+
+@item etags-regen-program-options
+Command-line options to pass to the program which regenerates tags
+tables.
+
+@item etags-regen-ignores
+List of glob patterns which specify files to ignore when regenerating
+tags tables.
+@end vtable
+
+@cindex tags-reset-tags-tables
+ If you select a tags table manually, with @kbd{M-x visit-tags-table}
+(@pxref{Select Tags Table}), @code{etags-regen-mode} effectively
+disables itself: it will no longer automatically create and update
+tags tables, assuming that you prefer managing your tags tables
+manually. You can cancel this effect of using @code{visit-tags-table}
+by invoking the command @code{tags-reset-tags-tables}.
+
@node Etags Regexps
@subsubsection Etags Regexps