;;; pcvs-defs.el --- variable definitions for PCL-CVS
;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;; 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+;; Free Software Foundation, Inc.
-;; Author: Stefan Monnier <monnier@cs.yale.edu>
+;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; cvsrc options
;;
-(defcustom cvs-cvsrc-file "~/.cvsrc"
+(defcustom cvs-cvsrc-file (convert-standard-filename "~/.cvsrc")
"Path to your cvsrc file."
:group 'pcl-cvs
:type '(file))
There is no need to set this if $CVSROOT is set to a correct value.")
(defcustom cvs-auto-remove-handled nil
- "*If up-to-date files should be acknowledged automatically.
+ "If up-to-date files should be acknowledged automatically.
If T, they will be removed from the *cvs* buffer after every command.
If DELAYED, they will be removed from the *cvs* buffer before every command.
If STATUS, they will only be removed after a `cvs-mode-status' command.
:type '(choice (const nil) (const status) (const delayed) (const t)))
(defcustom cvs-auto-remove-directories 'handled
- "*If ALL, directory entries will never be shown.
+ "If ALL, directory entries will never be shown.
If HANDLED, only non-handled directories will be shown.
If EMPTY, only non-empty directories will be shown."
:group 'pcl-cvs
:type '(choice (const :tag "No" nil) (const all) (const handled) (const empty)))
(defcustom cvs-auto-revert t
- "*Non-nil if changed files should automatically be reverted."
+ "Non-nil if changed files should automatically be reverted."
:group 'pcl-cvs
:type '(boolean))
(defcustom cvs-sort-ignore-file t
- "*Non-nil if `cvs-mode-ignore' should sort the .cvsignore automatically."
+ "Non-nil if `cvs-mode-ignore' should sort the .cvsignore automatically."
:group 'pcl-cvs
:type '(boolean))
(defcustom cvs-force-dir-tag t
- "*If non-nil, tagging can only be applied to directories.
+ "If non-nil, tagging can only be applied to directories.
Tagging should generally be applied a directory at a time, but sometimes it is
useful to be able to tag a single file. The normal way to do that is to use
`cvs-mode-force-command' so as to temporarily override the restrictions,"
:type '(boolean))
(defcustom cvs-default-ignore-marks nil
- "*Non-nil if cvs mode commands should ignore any marked files.
+ "Non-nil if cvs mode commands should ignore any marked files.
Normally they run on the files that are marked (with `cvs-mode-mark'),
or the file under the cursor if no files are marked. If this variable
is set to a non-nil value they will by default run on the file on the
(defvar cvs-diff-ignore-marks t)
(make-obsolete-variable 'cvs-diff-ignore-marks
- 'cvs-invert-ignore-marks)
+ 'cvs-invert-ignore-marks
+ "21.1")
(defcustom cvs-invert-ignore-marks
(let ((l ()))
(when (and cvs-force-dir-tag (not cvs-default-ignore-marks))
(push "tag" l))
l)
- "*List of cvs commands that invert the default ignore-mark behavior.
+ "List of cvs commands that invert the default ignore-mark behavior.
Commands in this set will use the opposite default from the one set
in `cvs-default-ignore-marks'."
:group 'pcl-cvs
(const "ignore")))
(defcustom cvs-confirm-removals t
- "*Ask for confirmation before removing files.
+ "Ask for confirmation before removing files.
Non-nil means that PCL-CVS will ask confirmation before removing files
except for files whose content can readily be recovered from the repository.
A value of `list' means that the list of files to be deleted will be
(const nil)))
(defcustom cvs-add-default-message nil
- "*Default message to use when adding files.
+ "Default message to use when adding files.
If set to nil, `cvs-mode-add' will always prompt for a message."
:group 'pcl-cvs
:type '(choice (const :tag "Prompt" nil)
(defvar cvs-diff-buffer-name "*cvs-diff*")
(make-obsolete-variable 'cvs-diff-buffer-name
- 'cvs-buffer-name-alist)
+ 'cvs-buffer-name-alist
+ "21.1")
(defcustom cvs-find-file-and-jump nil
"Jump to the modified area when finding a file.
("tree" "*cvs-info*" cvs-status-mode)
("message" "*cvs-commit*" nil log-edit)
("log" "*cvs-info*" log-view-mode))
- "*Buffer name and mode to be used for each command.
+ "Buffer name and mode to be used for each command.
This is a list of elements of the form
(CMD BUFNAME MODE &optional POSTPROC)
This expression will be evaluated in an environment where DIR is set to
the directory name of the cvs buffer.")
-(defvar cvs-temp-buffer-name '(expand-file-name " *cvs-tmp*" dir)
+(defvar cvs-temp-buffer-name
+ ;; Was '(expand-file-name " *cvs-tmp*" dir), but that causes them to
+ ;; become non-hidden if uniquification is done `forward'.
+ " *cvs-tmp*"
"*Name of the cvs temporary buffer.
Output from cvs is placed here for asynchronous commands.")
(if (fboundp 'ediff)
'(cvs-ediff-diff . cvs-ediff-merge)
'(cvs-emerge-diff . cvs-emerge-merge))
- "*Pair of functions to be used for resp. diff'ing and merg'ing interactively."
+ "Pair of functions to be used for resp. diff'ing and merg'ing interactively."
:group 'pcl-cvs
:type '(choice (const :tag "Ediff" (cvs-ediff-diff . cvs-ediff-merge))
(const :tag "Emerge" (cvs-emerge-diff . cvs-emerge-merge))))
(easy-mmode-defmap cvs-mode-map
;;(define-prefix-command 'cvs-mode-map-diff-prefix)
;;(define-prefix-command 'cvs-mode-map-control-c-prefix)
- '(;; simulate `suppress-keymap'
- (self-insert-command . undefined)
- (("0" "1" "2" "3" "4" "5" "6" "7" "8" "9") . digit-argument)
- ("-" . negative-argument)
- ;; various
+ '(;; various
;; (undo . cvs-mode-undo)
("?" . cvs-help)
("h" . cvs-help)
(" " . cvs-mode-next-line)
("n" . cvs-mode-next-line)
("p" . cvs-mode-previous-line)
+ ("\t" . cvs-mode-next-line)
+ ([backtab] . cvs-mode-previous-line)
;; M- keys are usually those that operate on modules
;;("\M-C". cvs-mode-rcs2log) ; i.e. "Create a ChangeLog"
;;("\M-t". cvs-rtag)
;;([tool-bar item2] . (menu-item "Update" cvs-update :image (image :file "/usr/share/icons/mail1.xpm" :type xpm)))
)
"Keymap for `cvs-mode'."
- :dense t)
+ :dense t
+ :suppress t)
(fset 'cvs-mode-map cvs-mode-map)
(easy-menu-define cvs-menu cvs-mode-map "Menu used in `cvs-mode'."
'("CVS"
- ["Open file.." cvs-mode-find-file t]
- [" ..other window" cvs-mode-find-file-other-window t]
+ ["Open file" cvs-mode-find-file t]
+ ["Open in other window" cvs-mode-find-file-other-window t]
["Display in other window" cvs-mode-display-file t]
["Interactive merge" cvs-mode-imerge t]
("View diff"
["Current diff" cvs-mode-diff t]
["Diff with head" cvs-mode-diff-head t]
["Diff with vendor" cvs-mode-diff-vendor t]
+ ["Diff against yesterday" cvs-mode-diff-yesterday t]
["Diff with backup" cvs-mode-diff-backup t])
["View log" cvs-mode-log t]
["View status" cvs-mode-status t]
["Unmark all" cvs-mode-unmark-all-files t]
["Hide handled" cvs-mode-remove-handled t]
"----"
+ ["PCL-CVS Manual" (lambda () (interactive)
+ (info "(pcl-cvs)Top")) t]
+ "----"
["Quit" cvs-mode-quit t]))
;;;;