emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to pcl-cvs.texi


From: Glenn Morris
Subject: [Emacs-diffs] Changes to pcl-cvs.texi
Date: Thu, 06 Sep 2007 05:01:34 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/09/06 05:01:34

Index: pcl-cvs.texi
===================================================================
RCS file: pcl-cvs.texi
diff -N pcl-cvs.texi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pcl-cvs.texi        6 Sep 2007 05:01:34 -0000       1.1
@@ -0,0 +1,1443 @@
+\input texinfo  @c -*-texinfo-*-
address@hidden %**start of header
address@hidden ../info/pcl-cvs
address@hidden PCL-CVS --- Emacs Front-End to CVS
address@hidden vr fn
address@hidden %**end of header
+
address@hidden
+Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007  Free Software
+Foundation, Inc.
+
address@hidden
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
+``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+This document is part of a collection distributed under the GNU Free
+Documentation License.  If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
address@hidden quotation
address@hidden copying
+
address@hidden Emacs
address@hidden
+* PCL-CVS: (pcl-cvs).  Emacs front-end to CVS.
address@hidden direntry
+
address@hidden The titlepage section does not appear in the Info file.
address@hidden
address@hidden 4
address@hidden The title is printed in a large font.
address@hidden @titlefont{User's Guide}
address@hidden
address@hidden @titlefont{to}
address@hidden
address@hidden @titlefont{PCL-CVS --- The Emacs Front-End to CVS}
address@hidden
address@hidden 2
address@hidden release 2.9
address@hidden -release-
address@hidden ignore
address@hidden 3
address@hidden Per Cederqvist
address@hidden Stefan Monnier
address@hidden -date-
+
address@hidden  The following two commands start the copyright page
address@hidden  for the printed manual.  This will not appear in the Info file.
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
+
address@hidden ================================================================
address@hidden                   The real text starts here
address@hidden ================================================================
+
address@hidden Top, About PCL-CVS, (dir), (dir)
address@hidden
address@hidden PCL-CVS
+
+This manual describes PCL-CVS, the GNU Emacs front-end to CVS.  It
+is nowhere near complete, so you are advised to use @kbd{M-x
+customize-group RET pcl-cvs @key{RET}} and to look at the documentation strings
+of the various commands and major modes for further information.
address@hidden This manual is updated to release 2.5 of PCL-CVS.
address@hidden ifnottex
+
address@hidden
+* About PCL-CVS::               Credits, history, @dots{}
+
+* Getting started::             An introduction with a walk-through example.
+* Buffer contents::             An explanation of the buffer contents.
+* Selected files::              To which files are commands applied.
+* Commands::                    All commands, grouped by type.
+
+* Log Edit Mode::               Major mode to edit log messages.
+* Log View Mode::               Major mode to browse log changes.
address@hidden * CVS Status Mode::             Major mode to view CVS' status 
output.
+* Customization::               How you can tailor PCL-CVS to suit your needs.
+* Bugs::                        Bugs (known and unknown).
+
+* GNU Free Documentation License:: The license for this documentation.
+* Function and Variable Index::  List of functions and variables.
+* Concept Index::               List of concepts.
+* Key Index::                   List of keystrokes.
+
address@hidden
+ --- The Detailed Node Listing ---
+
+About PCL-CVS
+
+* Contributors::                Contributors to PCL-CVS.
+
+Commands
+
+* Entering PCL-CVS::            Commands to invoke PCL-CVS
+* Setting flags::               Setting flags for CVS commands
+* Updating the buffer::
+* Movement commands::           How to move up and down in the buffer
+* Marking files::               How to mark files that other commands
+                                will later operate on.
+* Committing changes::          Checking in your modifications to the
+                                CVS repository.
+* Editing files::               Loading files into Emacs.
+* Getting info about files::    Display the log and status of files.
+* Adding and removing files::   Adding and removing files
+* Undoing changes::             Undoing changes
+* Removing handled entries::    Uninteresting lines can easily be removed.
+* Ignoring files::              Telling CVS to ignore generated files.
+* Viewing differences::         Commands to @samp{diff} different versions.
+* Invoking Ediff::              Running @samp{ediff} from @samp{*cvs*} buffer.
+* Updating files::              Updating files that Need-update.
+* Tagging files::               Tagging files.
+* Miscellaneous commands::      Miscellaneous commands.
+
+Customization
+
+* Customizing Faces::
+
address@hidden detailmenu
address@hidden menu
+
address@hidden     About PCL-CVS, Getting started, Top, Top
address@hidden About PCL-CVS
address@hidden About PCL-CVS
+
+PCL-CVS is a front-end to CVS versions 1.9 and later.
+It concisely shows the present status of a checked out module in an
+Emacs buffer and provides single-key access to the most frequently used CVS
+commands.
+For Emacs users accustomed to VC, PCL-CVS can be thought of as a replacement
+for VC-dired (@pxref{VC Dired Mode, , Dired under VC, emacs, The GNU
+Emacs Manual}) specifically designed for CVS.
+
+PCL-CVS was originally written many years ago by Per Cederqvist who
+proudly maintained it until January 1996, at which point he released the
+beta version 2.0b2 and passed on the maintainership to Greg A Woods.
+Development stayed mostly dormant for a few years during which
+version 2.0 never seemed to be able to leave the ``beta'' stage while a
+separate XEmacs version was slowly splitting away.  In late 1998,
+Stefan Monnier picked up development again, adding some major new
+functionality and taking over the maintenance.
+
address@hidden
+* Contributors::                Contributors to PCL-CVS.
address@hidden menu
+
address@hidden     Contributors,, About PCL-CVS, About PCL-CVS
address@hidden Contributors to PCL-CVS
address@hidden Contributors
address@hidden Authors
+
+Contributions to the package are welcome.  I have limited time to work
+on this project, but I will gladly add any code that you contribute to
+me to this package (@pxref{Bugs}).
+
+The following persons have made contributions to PCL-CVS.
+
address@hidden @bullet
address@hidden
+Brian Berliner wrote CVS, together with some other contributors.
+Without his work on CVS this package would be address@hidden
+
address@hidden
+Per Cederqvist wrote most of the otherwise unattributed functions in
+PCL-CVS as well as all the documentation.
+
address@hidden
address@hidden@@lysator.liu.se, Inge Wallin} wrote the skeleton of
address@hidden, and gave useful comments on it.  He also wrote
+the files @file{elib-node.el} and @file{compile-all.el}.  The file
address@hidden was inspired by address@hidden
+
address@hidden
address@hidden@@lysator.liu.se, Linus Tolke} contributed useful comments
+on both the functionality and the address@hidden
+
address@hidden
address@hidden@@jwz.com, Jamie Zawinski} contributed
address@hidden, which was later renamed to
address@hidden@refill
+
address@hidden
+Leif Lonnblad contributed RCVS support (since superseded by the new
+remote CVS support).
+
address@hidden
address@hidden@@cyclic.com, Jim Blandy} contributed hooks to automatically
+guess CVS log entries from @file{ChangeLog} contents, and initial support of
+the new Cygnus / Cyclic remote CVS, as well as various sundry bug fixes
+and cleanups.
+
address@hidden
address@hidden@@cyclic.com, Jim Kingdon} contributed lots of fixes to
+the build and installation procedure.
+
address@hidden
address@hidden@@weird.com, Greg A.@: Woods} contributed code to implement
+the use of per-file diff buffers, and vendor join diffs with emerge and
+ediff, as well as various and sundry bug fixes and cleanups.
+
address@hidden
address@hidden@@alum.mit.edu, Greg Klanderman} implemented
+toggling of marked files, setting of CVS command flags via prefix
+arguments, updated the XEmacs support, updated the manual, and fixed
+numerous bugs.
+
address@hidden
address@hidden@@cs.yale.edu, Stefan Monnier} added a slew of other
+features and introduced even more new bugs.  If there's any bug left,
+you can be sure it's his.
+
address@hidden
address@hidden wordy to avoid an underfull hbox
address@hidden@@is.aist-nara.ac.jp, Masatake YAMATO} made a gracious
+contribution of his cvstree code to display a tree of tags which was later
+superseded by the new @code{cvs-status-mode}.
address@hidden itemize
+
+Apart from these, a lot of people have sent us suggestions, ideas,
+requests, bug reports and encouragement.  Thanks a lot!  Without you
+there would be no new releases of PCL-CVS.
+
+
address@hidden Getting started, Buffer contents, About PCL-CVS, Top
address@hidden Getting started
address@hidden Introduction
address@hidden Example run
address@hidden Sample session
+
+This document assumes that you know what CVS is, and that you at least
+know the fundamental concepts of CVS.  If that is not the case, you
+should read the CVS documentation.  Type @kbd{info -f cvs} or @kbd{man
+cvs}.
+
+PCL-CVS is only useful once you have checked out a module.  So before
+you invoke it, you must have a copy of a module somewhere in the file
+system.
+
+You can invoke PCL-CVS by typing @kbd{M-x cvs-examine @key{RET}}.
+You can also invoke it via the menu bar, under @samp{Tools}.
+Or, if you prefer, you can also invoke PCL-CVS by simply visiting the
+CVS administrative subdirectory of your module, with a prefix argument.
+For example, to invoke PCL-CVS in a separate frame, type @kbd{C-u C-x 5
+f ~/my/project/CVS @key{RET}}.
+
+The function @code{cvs-examine} will ask for a directory.  The command
address@hidden -n update} will be run in that directory.  (It should contain
+files that have been checked out from a CVS archive.)  The output from
address@hidden will be parsed and presented in a table in a buffer called
address@hidden  It might look something like this:
+
address@hidden
+Repository : /usr/CVSroot
+Module     : test
+Working dir: /users/ceder/FOO/test
+
+
+In directory .:
+           Need-Update            bar
+           Need-Update            file.txt
+           Modified               namechange
+           Need-Update            newer
+In directory sub:
+           Modified               ChangeLog
+
+--------------------- End ---------------------
+-- last cmd: cvs -f -z6 -n update -d -P --
address@hidden example
+
+In this example, your repository is in @file{/usr/CVSroot} and CVS has
+been run in the directory @file{/users/ceder/FOO/test}.  The three files
+(@file{bar}, @file{file.txt} and
address@hidden) that are marked with @samp{Need-Update} have been changed
+by someone else in the CVS repository.  Two files (@file{namechange}
+and @file{sub/ChangeLog}) have been modified locally, and need to be
+checked in.
+
+You can move the cursor up and down in the buffer with @kbd{C-n} and
address@hidden or @kbd{n} and @kbd{p}.  If you press @kbd{c} on one of the
address@hidden files, that file will be checked in to the CVS
+repository. @xref{Committing changes}.  You can also press @kbd{O} to
+update any of the files that are marked @samp{Need-Update}.  You can
+also run @kbd{M-x cvs-update @key{RET}} (bound to @kbd{M-u} in the
address@hidden buffer) to update all the address@hidden
+
+You can then press @kbd{=} to easily get a @samp{diff} between your
+modified file and the base version that you started from, or you can
+press @kbd{l} to get the output from @samp{cvs log}.  Many more such
+commands are available simply by pressing a key (@pxref{Getting info
+about files}).
+
address@hidden Buffer contents, Selected files, Getting started, Top
address@hidden Buffer contents
address@hidden Buffer contents
address@hidden @code{*cvs*} buffer contents
+
+The display contains several columns, some of which are optional.
+These columns are, from left to right:
+
address@hidden @bullet
+
address@hidden
+Optionally, the head revision of the file.  This is the latest version
+found in the repository.  It might also contain (instead of the head
+revision) a sub status which typically gives further information about
+how we got to the current state, for example @samp{patched},
address@hidden, @dots{}
+
address@hidden
+An asterisk when the file is @dfn{marked} (@pxref{Selected
+files})address@hidden
+
address@hidden
+The actual status of the file wrt the repository.  See below.
+
address@hidden
+Optionally, the base revision of the file.  This is the version
+which the copy in your working directory is based upon.
+
address@hidden
+The file name.
+
address@hidden itemize
+
+The @samp{file status} field can have the following values:
+
address@hidden @samp
address@hidden Modified
+The file is modified in your working directory, and there was no
+modification to the same file in the repository.  This status can have
+the following substatus:
+
address@hidden @samp
address@hidden merged
+The file was modified in your working directory, and there were
+modifications in the repository as well, but they were merged
+successfully, without conflict, in your working address@hidden
address@hidden table
+
address@hidden Conflict
+A conflict was detected while trying to merge your changes to @var{file}
+with changes from the repository.  @var{file} (the copy in your
+working directory) is now the output of the @code{rcsmerge} command on
+the two versions; an unmodified copy of your file is also in your
+working directory, with the name @address@hidden@var{version}},
+where @var{version} is the RCS revision that your modified file started
+from.  @xref{Viewing differences}, for more address@hidden
+
+A conflict can also come from a disagreement on the existence of the file
+rather than on its content.  This case is indicated by the following
+possible substatus:
+
address@hidden @samp
address@hidden removed
+The file is locally removed but a new revision has been committed to
+the repository by someone else.
+
address@hidden added
+The file is locally added and has also been added to the repository
+by someone else.
+
address@hidden modified
+The file is locally modified but someone else has removed it from the
+repository.
address@hidden table
+
address@hidden Added
+The file has been added by you, but it still needs to be checked in to
+the address@hidden
+
address@hidden Removed
+The file has been removed by you, but it still needs to be checked in to
+the repository.  You can resurrect it by typing @kbd{a} (@pxref{Adding
+and removing files})address@hidden
+
address@hidden Unknown
+A file that was detected in your directory, but that neither appears in
+the repository, nor is present on the list of files that CVS should
address@hidden
+
address@hidden Up-to-date
+The file is up to date with respect to the version in the repository.
+This status can have a substatus of:
+
address@hidden @samp
address@hidden added
+You have just added the file to the address@hidden
+
address@hidden updated
+The file was brought up to date with respect to the repository.  This is
+done for any file that exists in the repository but not in your source,
+and for files that you haven't changed but are not the most recent
+versions available in the address@hidden
+
address@hidden patched
+The file was brought up to date with respect to the remote repository by
+way of fetching and applying a patch to the file in your source.  This
+is equivalent to @samp{updated} except that CVS decided to use a hopefully
+more efficient address@hidden
+
address@hidden committed
+You just committed the address@hidden
address@hidden table
+
address@hidden Need-Update
+Either a newer version than the one in your source is available in the
+repository and you have not modified your checked out version, or the
+file exists in the repository but not in your source.  Use
address@hidden bound to @kbd{O} to update the address@hidden
+
address@hidden Need-Merge
+You have modified the checked out version of the file, and a newer
+version is available in the repository.  A merge will take place when
+you run a @samp{cvs-update}.
+
address@hidden Missing
+The file has been unexpectedly removed from your working directory
+although it has not been @samp{cvs remove}d.
address@hidden table
+
address@hidden Selected files, Commands, Buffer contents, Top
address@hidden Selected files
address@hidden Selected files
address@hidden Marked files
address@hidden File selection
address@hidden Active files
address@hidden Applicable
+
+Many of the commands work on the current set of @dfn{selected} files
+which can be either the set of marked files (if any file is marked and
+marks are not ignored) or whichever file or directory the cursor is on.
+
+If a directory is selected but the command cannot be applied to a
+directory, then it will be applied to the set of files under this
+directory which are in the @samp{*cvs*} buffer.
+
address@hidden cvs-mode-force-command
address@hidden cvs-allow-dir-commit
+Furthermore, each command only operates on a subset of the selected
+files, depending on whether or not the command is @dfn{applicable} to
+each file (based on the file's status).  For example,
address@hidden is not applicable to a file whose status is
address@hidden  If it should happen that PCL-CVS guesses the
+applicability wrong, you can override it with the special prefix
address@hidden normally bound to @kbd{M-f} (and file a
+bug report).  The applicability rule can be slightly changed with
address@hidden and @code{cvs-force-dir-tag}.
+
+By default, marks are always in effect (you may change this, however, by
+setting the variable @code{cvs-default-ignore-marks}) except for the
+commands that @samp{tag} or @samp{diff} a file (which can be changed
+with the variable @code{cvs-invert-ignore-marks}).
+
+In addition, you may use the special prefix @code{cvs-mode-toggle-marks}
+normally bound to @key{T} to toggle the use of marks for the following
+command.
+
+This scheme might seem a little complicated, but once one gets used to
+it, it is quite powerful.
+
+For commands to mark and unmark files, see @ref{Marking files}.
+
address@hidden Commands, Log Edit Mode, Selected files, Top
address@hidden Commands
+
address@hidden
+This chapter describes all the commands that you can use in PCL-CVS.
address@hidden iftex
address@hidden
+The nodes in this menu contains explanations about all the commands that
+you can use in PCL-CVS.  They are grouped together by type.
address@hidden ifnottex
+
address@hidden
+* Entering PCL-CVS::            Commands to invoke PCL-CVS
+* Setting flags::               Setting flags for CVS commands
+* Updating the buffer::
+* Movement commands::           How to move up and down in the buffer
+* Marking files::               How to mark files that other commands
+                                will later operate on.
+* Committing changes::          Checking in your modifications to the
+                                CVS repository.
+* Editing files::               Loading files into Emacs.
+* Getting info about files::    Display the log and status of files.
+* Adding and removing files::   Adding and removing files
+* Undoing changes::             Undoing changes
+* Removing handled entries::    Uninteresting lines can easily be removed.
+* Ignoring files::              Telling CVS to ignore generated files.
+* Viewing differences::         Commands to @samp{diff} different versions.
+* Invoking Ediff::              Running @samp{ediff} from @samp{*cvs*} buffer.
+* Updating files::              Updating files that Need-update.
+* Tagging files::               Tagging files.
+* Miscellaneous commands::      Miscellaneous commands.
address@hidden menu
+
+
address@hidden Entering PCL-CVS, Setting flags, Commands, Commands
address@hidden Entering PCL-CVS
address@hidden cvs-update
address@hidden cvs-examine
address@hidden cvs-status
address@hidden cvs-checkout
address@hidden cvs-quickdir
address@hidden Creating the *cvs* buffer
+
+Most commands in PCL-CVS require that you have a @samp{*cvs*}
+buffer.  The commands that you use to get one are listed below.
+For each, a @samp{cvs} process will be run, the output will be parsed by
+PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see
address@hidden contents}, for a description of the buffer's contents).
+
address@hidden @kbd
address@hidden M-x cvs-update
+Run a @samp{cvs update} command.  You will be asked for the directory
+in which the @samp{cvs update} will be run.
+
address@hidden M-x cvs-examine
+Run a @samp{cvs -n update} command.  This is identical to the previous
+command, except that it will only check what needs to be done but will
+not change anything.  You will be asked for the directory in
+which the @samp{cvs -n update} will be run.
+
address@hidden M-x cvs-status
+Run a @samp{cvs status} command.  You will be asked for the directory
+in which the @samp{cvs status} will be run.
+
address@hidden M-x cvs-checkout
+Run a @samp{cvs checkout} command.  You will be asked for the directory
+in which the @samp{cvs update} will be run and the module to be checked
+out.
+
address@hidden M-x cvs-quickdir
+Populate the @samp{*cvs*} buffer by just looking at the @file{CVS/Entries}
+files.  This is very much like @code{cvs-examine} except that it does
+not access the CVS repository, which is a major advantage when the
+repository is far away.  But of course, it will not be able to detect
+when a file needs to be updated or merged.
address@hidden table
+
address@hidden cvs-dired-action
address@hidden cvs-dired-use-hook
+The first four of
+those commands are also reachable from the menu bar
+under @samp{Tools->PCL-CVS}.  Finally, an alternative way is to visit
+the CVS administrative subdirectory in your work area with a simple
+prefix argument.  For example @kbd{C-u C-x C-f ~/my/work/CVS @key{RET}}.  This
+by default runs @code{cvs-quickdir} but the specific behavior can be
+changed with @code{cvs-dired-action} and @code{cvs-dired-use-hook}.
+
+By default, the commands above will descend recursively into
+subdirectories.  You can avoid that behavior by including @samp{-l} in
+the flags for the command.  These flags can be set by giving a prefix
+argument to the command (e.g., by typing
address@hidden M-x cvs-update @key{RET} -l @key{RET}}).
+
+
address@hidden Setting flags, Updating the buffer, Entering PCL-CVS, Commands
address@hidden Setting flags for CVS commands
address@hidden Optional switches to CVS
address@hidden Command-line options to CVS
+
+This section describes the convention used by nearly all PCL-CVS
+commands for setting optional flags sent to CVS.  A single @kbd{C-u}
+prefix argument is used to cause the command to prompt for flags to be
+used for the current invocation of the command only.  Two @kbd{C-u} prefix
+arguments are used to prompt for flags which will be set permanently, for the
+current invocation and all that follow, until the flags are changed, or
+unless temporary flags are set which override them.
+
+Perhaps an example or two is in order.  Say you are about to add a
+binary file to the repository, and want to specify the flags @samp{-kb}
+to @samp{cvs add}.  You can type @kbd{C-u a -kb @key{RET}},
+and the file will be added.  Subsequent @samp{cvs add}
+commands will use the previously prevailing flags.
+
+As a second example, say you are about to perform a diff and want to see
+the result in unified diff format, i.e. you'd like to pass the flag
address@hidden to both @samp{cvs diff} and @samp{diff}.  You'd also like all
+subsequent diffs to use this flag.  You can type @kbd{C-u C-u = -u @key{RET}}
+and the diff will be performed, and the default flags will be set to
address@hidden("-u")}.  You can of course override this flag for a single diff
+by using a single @kbd{C-u} prefix argument.
+
address@hidden Special prefix
+In addition to this, some commands can take @dfn{special prefix} arguments.
+These work as follows: When called with a @kbd{C-u} prefix, the user is
+prompted for a new value of the special prefix and the special prefix is
+activated for the next command.  When called without the @kbd{C-u}
+prefix, the special prefix is re-activated (with the same value as last
+time) for the next command.  Calling the prefix command again when it's
+already activated deactivates it.  Calling it with the @kbd{C-u C-u}
+prefix activates it for all subsequent commands until you deactivate it
+explicitly.  The special prefixes are:
+
address@hidden @kbd
address@hidden T
+Toggles whether or not marks will be active in the next address@hidden
+
address@hidden b
+Provide the next command with a branch (can be any version
+specifier) to work address@hidden
+
address@hidden B
+Secondary branch argument.  Only meaningful if @kbd{b} is also used.
+It can be used to provide a second branch argument to
address@hidden or to @code{cvs-mode-update}.
+
address@hidden M-f
+Forces the next command to apply to every selected file rather than only
+to the ones PCL-CVS thinks are relevant.
address@hidden table
+
address@hidden Updating the buffer, Movement commands, Setting flags, Commands
address@hidden Updating the @samp{*cvs*} buffer
address@hidden cvs-update
address@hidden cvs-examine
address@hidden cvs-status
address@hidden cvs-mode-update
address@hidden cvs-mode-examine
address@hidden cvs-mode-status
+
+The following commands can be used from within the @samp{*cvs*} buffer
+to update the display:
+
address@hidden @kbd
address@hidden M-u
+Runs the command @address@hidden
+
address@hidden M-e
+Runs the command @address@hidden
+
address@hidden M-s
+Runs the command @address@hidden
address@hidden table
+
+In addition to the above commands which operate on the whole module,
+you can run the equivalent CVS command on just a subset of the
+files/directories with these keys:
+
address@hidden @kbd
address@hidden O
+Runs @code{cvs-mode-update} on the selected files.  When run on the
+top-level directory, this is equivalent to @address@hidden
+
address@hidden e
+Runs @code{cvs-mode-examine} on the selected files.  When run on the
+top-level directory, this is equivalent to @address@hidden
+
address@hidden cvs-status-mode
address@hidden s
+Runs @code{cvs-mode-status} on the selected files.  When run on the
+top-level directory, this is equivalent to @kbd{M-s}, except that
+CVS output will be shown in a @samp{*cvs-info*} buffer that will be
+put in @address@hidden
address@hidden table
+
+
address@hidden Movement commands, Marking files, Updating the buffer, Commands
address@hidden Movement Commands
address@hidden Movement Commands
address@hidden cvs-mode-next-line
address@hidden cvs-mode-previous-line
address@hidden address@hidden down one file}
address@hidden address@hidden down one file}
address@hidden address@hidden up one file}
+
+You can use most normal Emacs commands to move forward and backward in
+the buffer.  Some keys are rebound to functions that take advantage of
+the fact that the buffer is a PCL-CVS buffer:
+
+
address@hidden @kbd
address@hidden @key{SPC}
address@hidden n
+These keys move the cursor one file forward, towards the end of the
+buffer (@code{cvs-mode-next-line})address@hidden
+
address@hidden p
+This key moves one file backward, towards the beginning of the buffer
+(@code{cvs-mode-previous-line}).
address@hidden table
+
+
address@hidden Marking files, Committing changes, Movement commands, Commands
address@hidden Marking files
address@hidden Selecting files (commands to mark files)
address@hidden Marking files
address@hidden address@hidden a file}
address@hidden address@hidden all files}
address@hidden address@hidden a file}
address@hidden ESC address@hidden all files}
address@hidden address@hidden previous file}
address@hidden address@hidden files matching regexp}
address@hidden address@hidden files in a particular state}
address@hidden address@hidden marks}
address@hidden cvs-mode-mark
address@hidden cvs-mode-unmark
address@hidden cvs-mode-mark-all-files
address@hidden cvs-mode-unmark-all-files
address@hidden cvs-mode-unmark-up
address@hidden cvs-mode-mark-matching-files
address@hidden cvs-mode-mark-on-state
address@hidden cvs-mode-toggle-marks
+
+PCL-CVS works on a set of @dfn{selected files} (@pxref{Selected files}).
+You can mark and unmark files with these commands:
+
address@hidden @kbd
address@hidden m
+This marks the file that the cursor is positioned on.  If the cursor is
+positioned on a directory all files in that directory are marked
+(@code{cvs-mode-mark})address@hidden
+
address@hidden u
+Unmark the file that the cursor is positioned on. If the cursor is on a
+directory, all files in that directory are unmarked
+(@code{cvs-mode-unmark})address@hidden
+
address@hidden M
+Mark @emph{all} files in the buffer (@code{cvs-mode-mark-all-files}).
+
address@hidden address@hidden
+Unmark @emph{all} files (@code{cvs-mode-unmark-all-files}).
+
address@hidden @key{DEL}
+Unmark the file on the previous line, and move point to that line
+(@code{cvs-mode-unmark-up}).
+
address@hidden %
+Mark all files matching a regular expression
+(@code{cvs-mode-mark-matching-files}).
+
address@hidden S
+Mark all files in a particular state, such as ``Modified'' or
+``Removed'' (@code{cvs-mode-mark-on-state}).
+
address@hidden T
+Toggle use of marks for the next command (@code{cvs-mode-toggle-marks}).
address@hidden table
+
+
address@hidden Committing changes, Editing files, Marking files, Commands
address@hidden Committing changes
address@hidden Committing changes
address@hidden cvs-mode-commit
address@hidden cvs-mode-commit-setup
address@hidden address@hidden files}
address@hidden address@hidden files with @file{ChangeLog} message}
address@hidden address@hidden (variable)}
address@hidden Commit buffer
address@hidden Edit buffer
address@hidden Erasing commit message
address@hidden Reverting buffers after commit
+
+Committing changes basically works as follows:
+
address@hidden
address@hidden
+After having selected the files you want to commit, you type either
address@hidden or @kbd{C} which brings up a special buffer
address@hidden@refill
+
address@hidden
+You type in the log message describing the changes you're about to
+commit (@pxref{Log Edit Mode}).
+
address@hidden
+When you're happy with it, you type @kbd{C-c C-c} to do the actual
address@hidden
address@hidden enumerate
+
+There's no hidden state, so you can abort the process or pick it up
+again at any time.
+
address@hidden address@hidden (variable)}
+The set of files actually committed is really decided only during the
+very last step, which is a mixed blessing.  It allows you to go back and
+change your mind about which files to commit, but it also means that you
+might inadvertently change the set of selected files.  To reduce the
+risk of error, @kbd{C-c C-c} will ask for confirmation if the set of
+selected files has changed between the first step and the last.  You can
+change this last detail with @code{log-edit-confirm}.
+
+As for the difference between @kbd{c} (i.e. @code{cvs-mode-commit}) and
address@hidden (i.e. @code{cvs-mode-commit-setup}) is that the first gets you
+straight to @samp{*cvs-commit*} without erasing it or changing anything
+to its content, while the second first erases @samp{*cvs-commit*}
+and tries to initialize it with a sane default (it does that by either
+using a template provided by the CVS administrator or by extracting a
+relevant log message from a @file{ChangeLog} file).
+
+If you are editing the files in your Emacs, an automatic
address@hidden will be performed.  (If the file contains
address@hidden@asis{Id}$} keywords, @samp{cvs commit} will write a new file with
+the new values substituted.  The auto-revert makes sure that you get
+them into your buffer.)  The revert will not occur if you have modified
+your buffer, or if @samp{cvs-auto-revert} is set to
address@hidden
+
+
address@hidden Editing files, Getting info about files, Committing changes, 
Commands
address@hidden Editing files
address@hidden Editing files
address@hidden Finding files
address@hidden Loading files
address@hidden Dired
address@hidden Invoking dired
address@hidden cvs-mode-find-file
address@hidden cvs-mode-find-file-other-window
address@hidden cvs-mode-add-change-log-entry-other-window
address@hidden address@hidden file or directory}
address@hidden address@hidden file in other window}
address@hidden address@hidden @file{ChangeLog} entry}
+
+There are currently three commands that can be used to find a file (that
+is, load it into a buffer and start editing it there).  These commands
+work on the line that the cursor is situated at.  They always ignore any marked
+files.
+
address@hidden @kbd
address@hidden f
+Find the file that the cursor points to (@code{cvs-mode-find-file}).  If
+the cursor points to a directory, run @code{dired} on that directory;
address@hidden, , emacs}.
+
address@hidden o
+Like @kbd{f}, but use another window
+(@code{cvs-mode-find-file-other-window})address@hidden
+
address@hidden A
+Invoke @samp{add-change-log-entry-other-window} to edit a
address@hidden file.  The @file{ChangeLog} file will be found in the
+directory of the file the cursor points to, or in a parent of that
+directory (@code{cvs-mode-add-change-log-entry-other-window})address@hidden
address@hidden table
+
+
address@hidden Getting info about files, Adding and removing files, Editing 
files, Commands
address@hidden Getting info about files
address@hidden Status (cvs command)
address@hidden Log (RCS/cvs command)
address@hidden Getting status
address@hidden address@hidden @samp{cvs log}}
address@hidden address@hidden @samp{cvs status}}
address@hidden cvs-mode-log
address@hidden cvs-mode-status
+
address@hidden @kbd
address@hidden l
+Call the command @code{cvs-mode-log} which runs @samp{cvs log} on all
+selected files, and show the result in a temporary buffer
address@hidden (@pxref{Log View Mode}).
+
address@hidden s
+Call the command @code{cvs-mode-status} which runs @samp{cvs status} on
+all selected files, and show the result in a temporary buffer
address@hidden
address@hidden Fixme: reinstate when node is written:
address@hidden (@pxref{CVS Status Mode}).
address@hidden table
+
+
address@hidden Adding and removing files, Undoing changes, Getting info about 
files, Commands
address@hidden Adding and removing files
address@hidden Adding files
address@hidden Removing files
address@hidden Resurrecting files
address@hidden Deleting files
address@hidden Putting files under CVS control
address@hidden address@hidden a file}
address@hidden address@hidden a file}
address@hidden cvs-mode-add
address@hidden cvs-mode-remove-file
+
+The following commands are available to make it easy to add files to
+and remove them from the CVS repository.
+
address@hidden @kbd
address@hidden a
+Add all selected files.  This command can be used on @samp{Unknown}
+files (@pxref{Buffer contents}).  The status of the file will change to
address@hidden, and you will have to use @kbd{c} (@samp{cvs-mode-commit}
address@hidden changes}), to really add the file to the
address@hidden
+
+This command can also be used on @samp{Removed} files (before you commit
+them) to resurrect them.
+
+The command that is run is @code{cvs-mode-add}.
+
address@hidden r
+This command removes the selected files (after prompting for
+confirmation).  The files are deleted from your directory and
+(unless the status was @samp{Unknown}; @pxref{Buffer contents}) they will
+also be @samp{cvs remove}d.  If the files' status was @samp{Unknown}
+they will disappear from the buffer.  Otherwise their status will change to
address@hidden, and you must use @kbd{c} (@samp{cvs-mode-commit},
address@hidden changes}) to commit the address@hidden
+
+The command that is run is @code{cvs-mode-remove-file}.
address@hidden table
+
+
address@hidden Undoing changes, Removing handled entries, Adding and removing 
files, Commands
address@hidden Undoing changes
address@hidden Undo changes
address@hidden Flush changes
address@hidden address@hidden changes}
address@hidden cvs-mode-undo-local-changes
+
address@hidden @kbd
address@hidden U
+If you have modified a file, and for some reason decide that you don't
+want to keep the changes, you can undo them with this command.  It works
+by removing your working copy of the file and then getting the latest
+version from the repository (@code{cvs-mode-undo-local-changes}).
address@hidden table
+
+
address@hidden Removing handled entries, Ignoring files, Undoing changes, 
Commands
address@hidden Removing handled entries
address@hidden Expunging uninteresting entries
address@hidden Uninteresting entries, getting rid of them
address@hidden Getting rid of uninteresting lines
address@hidden Removing uninteresting (processed) lines
address@hidden Handled lines, removing them
address@hidden address@hidden processed entries}
address@hidden address@hidden selected entries}
address@hidden cvs-mode-remove-handled
address@hidden cvs-mode-acknowledge
address@hidden cvs-mode-ignore
+
address@hidden @kbd
address@hidden x
+This command allows you to remove all entries that you have processed.
+More specifically, the lines for @samp{Up-to-date} files (@pxref{Buffer
+contents}) are removed from the buffer.  If a directory becomes empty
+the heading for that directory is also removed.  This makes it easier to
+get an overview of what needs to be done.
+
address@hidden address@hidden (variable)}
address@hidden invokes @code{cvs-mode-remove-handled}.  If
address@hidden is set to address@hidden, this will
+automatically be performed after every address@hidden
+
address@hidden C-k
+This command can be used for lines that @samp{cvs-mode-remove-handled} would
+not delete, but that you want to delete (@code{cvs-mode-acknowledge}).
address@hidden table
+
+
address@hidden Ignoring files, Viewing differences, Removing handled entries, 
Commands
address@hidden Ignoring files
address@hidden Ignoring files
address@hidden address@hidden files}
address@hidden cvs-mode-ignore
+
address@hidden @kbd
address@hidden i
+Arrange so that CVS will ignore the selected files.  The file names are
+added to the @file{.cvsignore} file in the corresponding directory.  If
+the @file{.cvsignore} file doesn't exist, it will be created.
+
+The @file{.cvsignore} file should normally be added to the repository,
+but you could ignore it as well, if you like it better that way.
+
+This runs @code{cvs-mode-ignore}.
address@hidden table
+
address@hidden Viewing differences, Invoking Ediff, Ignoring files, Commands
address@hidden Viewing differences
address@hidden Diff
address@hidden Invoking @code{diff}
address@hidden Conflicts, how to resolve them
address@hidden Viewing differences
address@hidden address@hidden @samp{cvs diff}}
address@hidden address@hidden @samp{cvs diff}}
address@hidden address@hidden against base version}
address@hidden address@hidden against head of repository}
address@hidden address@hidden between base and head of repository}
address@hidden address@hidden against vendor branch}
address@hidden address@hidden against yesterday's head}
address@hidden cvs-mode-diff
address@hidden cvs-mode-diff-backup
address@hidden cvs-mode-diff-head
address@hidden cvs-mode-diff-repository
address@hidden cvs-mode-diff-vendor
address@hidden cvs-mode-diff-yesterday
address@hidden address@hidden (variable)}
+
address@hidden @kbd
address@hidden =
address@hidden d =
+Display a @samp{cvs diff} between the selected files and the version
+that they are based on (@code{cvs-mode-diff})address@hidden
+
address@hidden d b
+If CVS finds a conflict while merging two versions of a file (during a
address@hidden update}, @pxref{Updating the buffer}) it will save the
+original file in a file called @address@hidden@var{version}} where
address@hidden is the name of the file, and @var{version} is the revision
+number that @var{file} was based address@hidden
+
+With the @kbd{d b} command you can run a @samp{diff} on the files
address@hidden@address@hidden and @address@hidden@refill
+
address@hidden d h
+Display a @samp{cvs diff} between the selected files and the head
+revision (the most recent version on the current
+branch) in the repository (@code{cvs-mode-diff-head})address@hidden
+
address@hidden d r
+Display a @samp{cvs diff} between the base revision of the selected
+files and the head revision in the repository.  This displays the
+changes anyone has committed to the repository since you last executed
+a checkout, update or commit operation
+(@code{cvs-mode-diff-repository}).
+
address@hidden d v
+Display a @samp{cvs diff} between the selected files and the head
+revision of the vendor branch in the repository
+(@code{cvs-mode-diff-vendor})address@hidden
+
address@hidden d y
+Display a @samp{cvs diff} between the selected files and yesterday's
+head revision in the repository
+(@code{cvs-mode-diff-yesterday})address@hidden
address@hidden table
+
+By default, @samp{diff} commands ignore the marks.  This can be changed
+with @code{cvs-invert-ignore-marks}.
+
address@hidden Invoking Ediff, Updating files, Viewing differences, Commands
address@hidden Running ediff
address@hidden Ediff
address@hidden Invoking ediff
address@hidden Viewing differences
address@hidden Conflicts, how to resolve them
address@hidden Resolving conflicts
address@hidden address@hidden @samp{ediff}}
address@hidden cvs-mode-idiff
address@hidden cvs-mode-imerge
+
address@hidden @kbd
address@hidden address@hidden (variable)}
address@hidden d e
+This uses @code{ediff} (or @code{emerge}, depending on
address@hidden) to allow you to view diffs.
+If a prefix argument is given, PCL-CVS will prompt for a revision against
+which the diff should be made, else the default will be to use the BASE
+revision.
+
address@hidden Merging with @code{ediff} and @code{emerge}
address@hidden d E
+This command use @code{ediff} (or @code{emerge}, see above) to allow you
+to do an interactive 3-way merge.
+
address@hidden note:}  when the file status is @samp{Conflict},
+CVS has already performed a merge.  The resulting file is not used in
+any way if you use this command.  If you use the @kbd{q} command inside
address@hidden (to successfully terminate a merge) the file that CVS
+created will be address@hidden
address@hidden table
+
address@hidden Updating files, Tagging files, Invoking Ediff, Commands
address@hidden Updating files
address@hidden cvs-mode-update
address@hidden Updating files
address@hidden address@hidden files}
+
address@hidden @kbd
address@hidden O
+Update all selected files with status @samp{Need-update} by running
address@hidden update} on them (@code{cvs-mode-update}).
address@hidden table
+
+
address@hidden Tagging files, Miscellaneous commands, Updating files, Commands
address@hidden Tagging files
address@hidden cvs-mode-tag
address@hidden cvs-mode-untag
address@hidden cvs-rtag
address@hidden Tagging files
address@hidden address@hidden tag files}
address@hidden address@hidden files}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
+
address@hidden @kbd
address@hidden t
+Tag all selected files by running @samp{cvs tag} on
+them (@code{cvs-mode-tag}).  It's usually preferable to tag a directory
+at a time.  Rather than selecting all files (which too often doesn't
+select all files but only the few that are displayed), clear the
+selection with @kbd{M-DEL} (@code{cvs-mode-unmark-all-files}), position
+the cursor on the directory you want to tag and hit @kbd{t}.
address@hidden table
+
+By default, @samp{tag} commands ignore the marks.  This can be changed
+with @code{cvs-invert-ignore-marks}.  Also, by default @samp{tag} can
+only be applied to directories, see @code{cvs-force-dir-tag} if you want
+to change this behavior.
+
+
address@hidden Miscellaneous commands,  , Tagging files, Commands
address@hidden Miscellaneous commands
address@hidden cvs-mode-byte-compile-files
address@hidden Recompiling elisp files
address@hidden Byte compilation
address@hidden cvs-mode-delete-lock
address@hidden Getting rid of lock files
address@hidden Lock files
address@hidden address@hidden the PCL-CVS buffer}
address@hidden cvs-bury-buffer
address@hidden cvs-mode-quit
address@hidden Quitting
address@hidden address@hidden
address@hidden address@hidden
address@hidden cvs-help
address@hidden Help
+
address@hidden @kbd
address@hidden M-x cvs-mode-byte-compile-files
+Byte compile all selected files that end in @file{.el}.
+
address@hidden M-x cvs-mode-delete-lock
+This command deletes the lock files that
+the @samp{*cvs*} buffer informs you about.  You should normally never have to
+use this command, since CVS tries very carefully to always remove the
+lock files itself.
+
+You can only use this command when a message in the @samp{*cvs*} buffer tells
+you so.  You should wait a while before using this command in case
+someone else is running a @code{cvs} command.
+
+Also note that this only works if the repository is local.
+
address@hidden ?
address@hidden h
+Show a summary of common command key bindings in the echo
+area (@code{cvs-help}).
+
address@hidden q
+Bury the PCL-CVS buffer (@code{cvs-bury-buffer}).
+
address@hidden M-x cvs-mode-quit
+Quit PCL-CVS, killing the @samp{*cvs*} buffer.
address@hidden table
+
address@hidden Log Edit Mode, Log View Mode, Commands, Top
address@hidden Editing a Log Message
+
address@hidden Log Edit mode
address@hidden mode, Log Edit
+Buffers for entering/editing log messages for changes which are about
+to be committed are put into Log Edit mode.
+
+Sometimes the log buffer contains default text when you enter it,
+typically the last log message entered.  If it does, mark and point
+are set around the entire contents of the buffer so that it is easy to
+kill the contents of the buffer with @kbd{C-w}.
+
address@hidden log-edit-insert-changelog
+If you work by writing entries in the @file{ChangeLog}
+(@pxref{(emacs)Change Log}) and then commit the change under revision
+control, you can generate the Log Edit text from the ChangeLog using
address@hidden C-a} (@kbd{log-edit-insert-changelog}).  This looks for
+entries for the file(s) concerned in the top entry in the ChangeLog
+and uses those paragraphs as the log text.  This text is only inserted
+if the top entry was made under your user name on the current date.
address@hidden(emacs)Change Logs and VC}, for the opposite way of
+working---generating ChangeLog entries from the revision control log.
+
+In the Log Edit buffer, @kbd{C-c C-f} (@kbd{M-x log-edit-show-files})
+shows the list of files to be committed in case you need to check
+that.
+
+When you have finished editing the log message, type @kbd{C-c C-c} to
+exit the buffer and commit the change.
+
address@hidden Fixme: customization variables
+
address@hidden Log View Mode, Customization, Log Edit Mode, Top
address@hidden Browsing a Log of Changes
+
address@hidden Log View mode
address@hidden mode, Log View
address@hidden output, logs
+
address@hidden cvs-mode-log
address@hidden vc-print-log
+Log View mode provides a few useful commands for navigating revision
+control log output.  It is used for the output buffers of both
address@hidden and @code{vc-print-log}.
+
+In this mode, @kbd{n} goes to the next message and @kbd{p} goes to the
+previous message and @kbd{N} and @kbd{P} go to the next and previous
+files, respectively, in multi-file output.  With a numeric prefix
+argument, these commands move that many messages of files.
+
address@hidden @node CVS Status Mode
address@hidden @chapter Viewing CVS' Status output
+
address@hidden Customization, Bugs, Log View Mode, Top
address@hidden Customization
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden address@hidden (variable)}
address@hidden Customization
address@hidden Variables, list of all
address@hidden Erasing input buffer
address@hidden Context diff, how to get
address@hidden Unidiff, how to get
address@hidden Automatically remove handled files
address@hidden @samp{-u} option in modules file
address@hidden Modules file (@samp{-u} option)
address@hidden Update program (@samp{-u} option in modules file)
address@hidden Reverting buffers after commit
address@hidden Require final newline
address@hidden Automatically inserting newline
address@hidden Commit message, inserting newline
address@hidden Sorting @file{.cvsignore} file
address@hidden @file{.cvsignore} file, sorting
address@hidden Automatically sorting @file{.cvsignore}
address@hidden @samp{CVSROOT}, overriding
+
+If you have an idea about any customization that would be handy but
+isn't present in this list, please tell us!
+For info on how to reach us, see @address@hidden
+
address@hidden @samp
address@hidden cvs-auto-remove-handled
+If this variable is set to any address@hidden value,
address@hidden will be called every time you check in
+files, after the check-in is ready.  @xref{Removing handled
address@hidden
+
address@hidden cvs-auto-remove-directories
+If this variable is set to any address@hidden value, directories that do
+not contain any files to be checked in will not be listed in the
address@hidden address@hidden
+
address@hidden cvs-auto-revert
+If this variable is set to any address@hidden value any buffers you have
+that visit a file that is committed will be automatically reverted.
+This variable defaults to @samp{t}. @xref{Committing address@hidden
+
address@hidden cvs-update-prog-output-skip-regexp
+The @samp{-u} flag in the @file{modules} file can be used to run a command
+whenever a @samp{cvs update} is performed (see @code{cvs(5)}).  This regexp
+is used to search for the last line in that output.  It is normally set
+to @samp{$}.  That setting is only correct if the command outputs
+nothing.  Note that PCL-CVS will get very confused if the command
+outputs @emph{anything} to @code{stderr}.
+
address@hidden cvs-cvsroot
+This variable can be set to override @samp{CVSROOT}.  It should be a
+string.  If it is set, then every time a @code{cvs} command is run, it
+will be called as @samp{cvs -d @address@hidden  This can be
+useful if your site has several repositories.
+
address@hidden log-edit-require-final-newline
address@hidden wordy to avoid unhderfull hbox
+When you enter a log message by typing into the
address@hidden buffer, PCL-CVS normally automatically
+inserts a trailing newline, unless there already is one.  This behavior
+can be controlled via @samp{cvs-commit-buffer-require-final-newline}.
+If it is @samp{t} (the default behavior), a newline will always be
+appended.  If it is @samp{nil}, newlines will never be appended.  Any
+other value causes PCL-CVS to ask the user whenever there is no trailing
+newline in the commit message buffer.
+
address@hidden cvs-mode-changelog-commit
address@hidden log-edit-changelog-full-paragraphs
+If this variable is address@hidden, include full @file{ChangeLog}
+paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}.
+This may be set in the local variables section of a @file{ChangeLog}
+file, to indicate the policy for that @file{ChangeLog}.
+
address@hidden @file{ChangeLog} paragraphs
+A @address@hidden paragraph} is a bunch of log text containing no
+blank lines; a paragraph usually describes a set of changes with a
+single purpose, but perhaps spanning several functions in several files.
+Changes in different paragraphs are unrelated.
+
+You could argue that the CVS log entry for a file should contain the
+full @file{ChangeLog} paragraph mentioning the change to the file, even though
+it may mention other files, because that gives you the full context you
+need to understand the change.  This is the behavior you get when this
+variable is set to @code{t}, the default.
+
+On the other hand, you could argue that the CVS log entry for a change
+should contain only the text for the changes which occurred in that
+file, because the CVS log is per-file.  This is the behavior you get
+when this variable is set to @code{nil}.
+
address@hidden address@hidden, and @file{.cvsignore} sorting}
address@hidden cvs-sort-ignore-file
+If this variable is set to any address@hidden value, the
address@hidden file will always be sorted whenever you use
address@hidden to add a file to it.  This option is on by
+default.
address@hidden table
+
+
address@hidden
+* Customizing Faces::
address@hidden menu
+
address@hidden Customizing Faces,  , Customization, Customization
address@hidden Customizing Faces
address@hidden cvs-header (face)
address@hidden cvs-filename (face)
address@hidden cvs-unknown (face)
address@hidden cvs-handled (face)
address@hidden cvs-need-action (face)
address@hidden cvs-marked (face)
address@hidden cvs-msg (face)
+
+PCL-CVS adds a few extra features, including menus, mouse bindings, and
+fontification of the @samp{*cvs*} buffer.  The faces defined for
+fontification are listed below:
+
address@hidden @samp
address@hidden cvs-header
+used to highlight directory changes.
+
address@hidden cvs-filename
+Used to highlight file names.
+
address@hidden cvs-unknown
+Used to highlight the status of files which are @samp{Unknown}.
+
address@hidden cvs-handled
+Used to highlight the status of files which are handled and
+need no further action.
+
address@hidden cvs-need-action
+Used to highlight the status of files which still need action.
+
address@hidden cvs-marked
+Used to highlight the marked file indicator (@samp{*}).
+
address@hidden cvs-msg
+Used to highlight CVS messages.
address@hidden table
+
+
address@hidden   Bugs, GNU Free Documentation License, Customization, Top
address@hidden Bugs (known and unknown)
address@hidden Reporting bugs and ideas
address@hidden Bugs, how to report them
address@hidden Author, how to reach
address@hidden Email to the author
address@hidden Known bugs
address@hidden Bugs, known
address@hidden FAQ
address@hidden Problems, list of common
+
+If you find a bug or misfeature, don't hesitate to tell us!  Send email
+to @email{bug-gnu-emacs@@gnu.org} which is gatewayed to the newsgroup
address@hidden  Feature requests should also be sent there.  We
+prefer discussing one thing at a time.  If you find several unrelated
+bugs, please report them separately.  If you are running PCL-CVS under
+XEmacs, you should also send a copy of bug reports to
address@hidden@@xemacs.org}.
+
+If you have problems using PCL-CVS or other questions, send them to
address@hidden@@gnu.org}, which is gatewayed to the
address@hidden newsgroup.  This is a good place to get help, as
+is @email{cvs-info@@gnu.org}, gatewayed to @samp{gnu.cvs.help}.
+
+If you have ideas for improvements, or if you have written some
+extensions to this package, we would like to hear from you.  We hope that
+you find this package useful!
+
+Below is a partial list of currently known problems with PCL-CVS.
+
address@hidden @asis
address@hidden Unexpected output from CVS
+Unexpected output from CVS may confuse PCL-CVS.  It will create
+warning messages in the @samp{*cvs*} buffer alerting you to any parse errors.
+If you get these messages, please send a bug report to the email
+addresses listed above.  Include the contents of the @samp{*cvs*} buffer, the
+output of the CVS process (which should be found in the @samp{ *cvs-tmp*}
+buffer), and the versions of Emacs, PCL-CVS and CVS you are using.
address@hidden table
+
address@hidden GNU Free Documentation License, Function and Variable Index, 
Bugs, Top
address@hidden GNU Free Documentation License
address@hidden doclicense.texi
+
+
+
address@hidden Function and Variable Index, Concept Index, GNU Free 
Documentation License, Top
address@hidden Function and Variable Index
+
+This is an index of all the functions and variables documented in this
+manual.
+
address@hidden fn
+
address@hidden     Concept Index, Key Index, Function and Variable Index, Top
address@hidden Concept Index
+
+This is an index of concepts discussed in this manual.
+
address@hidden cp
+
address@hidden     Key Index,  , Concept Index, Top
address@hidden Key Index
+
+This index includes an entry for each PCL-CVS key sequence documented in
+this manual.
+
address@hidden ky
+
address@hidden odd
address@hidden
address@hidden
address@hidden
+
address@hidden
+   arch-tag: 5c7178ce-56fa-40b0-abd7-f4a09758b235
address@hidden ignore




reply via email to

[Prev in Thread] Current Thread [Next in Thread]