Customization
*************

   If you have an idea about any customization that would be handy but
isn't present in this list, please tell me!  See Bugs for info on
how to reach me.

`cvs-erase-input-buffer'
     If set to anything other than `nil' the edit buffer will be erased
     before you write the log message (see Committing changes.).

`cvs-inhibit-copyright-message'
     The copyright message that is displayed on startup can be annoying
     after a while.  Set this variable to `t' if you want to get rid of
     it.  (But don't set this to `t' in the system defaults file - new
     users should see this message at least once).

`cvs-diff-flags'
     A list of strings to pass as arguments to the `cvs diff' and
     `diff' programs.  This is used by `cvs-mode-diff-cvs' and
     `cvs-mode-diff-backup' (key `b', see Viewing differences.).  If
     you prefer the Unidiff format you could add this line to your
     `.emacs' file:

          (setq cvs-diff-flags '("-u"))

`cvs-default-ignore-marks'
     If this variable is non-`nil' the non-diffing commands will not
     consider marked files to be selected by default.  The command
     `cvs-mode-toggle-marks' bound to `T' can be used to toggle the use
     of marks for the following command.

`cvs-diff-ignore-marks'
     If this variable is non-`nil' the diffing commands will not
     consider marked files to be selected by default.  The command
     `cvs-mode-toggle-marks' bound to `T' can be used to toggle the use
     of marks for the following command.

`cvs-diff-unique-buffers'
     If this variable is non-`nil' the diffing commands will create a
     unique buffer for the results of diffing each file.

`cvs-log-flags'
     List of strings to send to `cvs log'.  Used by `cvs-mode-log' (key
     `l', see Getting info about files.).

`cvs-status-flags'
     List of strings to send to `cvs status'.  Used by `cvs-mode-status'
     (key `s', see Getting info about files.).

`cvs-auto-remove-handled'
     If this variable is set to any non-`nil' value
     `cvs-mode-remove-handled' will be called every time you check in
     files, after the check-in is ready.  *Note Removing handled
     entries::.

`cvs-auto-remove-handled-directories'
     If this variable is set to any non-`nil' value, directories that do
     not contain any files to be checked in will not be listed in the
     `*cvs*' buffer.

`cvs-auto-revert-after-commit'
     If this variable is set to any non-`nil' value any buffers you have
     that visit a file that is committed will be automatically reverted.
     This variable defaults to `t'. See Committing changes.

`cvs-update-prog-output-skip-regexp'
     The `-u' flag in the `modules' file can be used to run a command
     whenever a `cvs update' is performed (see cvs(5)).  This regexp is
     used to search for the last line in that output.  It is normally
     set to `"$"'.  That setting is only correct if the command outputs
     nothing.  Note that pcl-cvs will get very confused if the command
     outputs *anything* to `stderr'.

`cvs-cvsroot'
     This variable can be set to override `CVSROOT'.  It should be a
     string. If it is set then every time a cvs command is run it will
     be called as `cvs -d CVS-CVSROOT...'  This can be useful if your
     site has several repositories.

`cvs-commit-buffer-require-final-newline'
     When you enter a log message in the `*cvs-commit-message*' buffer
     pcl-cvs will normally automatically insert a trailing newline,
     unless there already is one.  This behavior can be controlled via
     `cvs-commit-buffer-require-final-newline'.  If it is `t' (the
     default behavior), a newline will always be appended.  If it is
     `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.

`cvs-changelog-full-paragraphs'
     If this variable is non-`nil', include full ChangeLog paragraphs in
     the CVS log created by `cvs-mode-changelog-commit'.  This may be
     set in the local variables section of a ChangeLog, to indicate the
     policy for that ChangeLog.

     A ChangeLog 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 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 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 nil.

`cvs-sort-ignore-file'
     If this variable is set to any non-`nil' value the `.cvsignore'
     will always be sorted whenever you use `cvs-mode-ignore' to add a
     file to it.  This option is on by default.

`cvs-update-optional-flags'
     List of strings to send to `cvs update'.  Used by `cvs-update' and
     `cvs-examine'.

`cvs-status-cmd-flags'
     List of strings to send to `cvs status'.  Used by `cvs-status'.

`cvs-checkout-cmd-flags'
     List of strings to send to `cvs checkout'.  Used by `cvs-checkout'.

`cvs-add-flags'
     List of strings to send to `cvs add'.  Used by `cvs-mode-add',
     normally bound to `a'.

`cvs-commit-flags'
     List of strings to send to `cvs commit'.  Used by the commands
     `cvs-mode-commit' and `cvs-mode-changelog-commit', normally bound
     to `c' and `C', respectively.

`cvs-remove-flags'
     List of strings to send to `cvs remove'.  Used by
     `cvs-mode-remove-file', normally bound to `r'.

`cvs-undo-flags'
     List of strings to send to `cvs update' after removing a locally
     modified file.  Used by `cvs-mode-undo-local-changes', normally
     bound to `U'.

`cvs-update-file-flags'
     List of strings to send to `cvs update'.  Used by
     `cvs-mode-update', normally bound to `O' and used to update a file
     after using `cvs-status'.

`cvs-tag-flags'
     List of strings to send to `cvs tag'.  Used by `cvs-mode-tag',
     normally bound to `t'.

`cvs-rtag-flags'
     List of strings to send to `cvs rtag'.  Used by `cvs-mode-rtag',
     normally bound to `M-t'.

`TMPDIR'
     Pcl-cvs uses this *environment variable* to decide where to put the
     temporary files it needs.  It defaults to `/tmp' if it is not set.