X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4f5a9d2b27f17a00cbc7cfbde6f073bf413f5c4c..787caf990afc3db2522f3985ae89857318641b3b:/lisp/pcvs-defs.el diff --git a/lisp/pcvs-defs.el b/lisp/pcvs-defs.el index e166204bd9..d08c613b5f 100644 --- a/lisp/pcvs-defs.el +++ b/lisp/pcvs-defs.el @@ -4,8 +4,7 @@ ;; Author: Stefan Monnier ;; Keywords: pcl-cvs -;; Version: $Name: $ -;; Revision: $Id: pcvs-defs.el,v 1.8 2000/12/08 16:58:37 monnier Exp $ +;; Revision: $Id: pcvs-defs.el,v 1.20 2002/11/12 21:04:48 monnier Exp $ ;; This file is part of GNU Emacs. @@ -29,8 +28,6 @@ ;;; Code: -(defconst pcl-cvs-version "$Name: $") - (eval-when-compile (require 'cl)) (require 'pcvs-util) @@ -43,7 +40,7 @@ (defvar cvs-version (ignore-errors (with-temp-buffer - (call-process "cvs" nil t nil "-v") + (call-process cvs-program nil t nil "-v") (goto-char (point-min)) (when (re-search-forward "(CVS) \\([0-9]+\\)\\.\\([0-9]+\\)" nil t) (cons (string-to-number (match-string 1)) @@ -108,7 +105,7 @@ Else, they will never be automatically removed from the *cvs* buffer." (defcustom cvs-auto-remove-directories 'handled "*If ALL, directory entries will never be shown. -If HANLDED, only non-handled directories will 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))) @@ -140,8 +137,9 @@ current line. See also `cvs-invert-ignore-marks'" :group 'pcl-cvs :type '(boolean)) -(defvar cvs-diff-ignore-marks t - "Obsolete: use `cvs-invert-ignore-marks' instead.") +(defvar cvs-diff-ignore-marks t) +(make-obsolete-variable 'cvs-diff-ignore-marks + 'cvs-invert-ignore-marks) (defcustom cvs-invert-ignore-marks (let ((l ())) @@ -171,13 +169,14 @@ displayed when asking for confirmation." (defcustom cvs-add-default-message nil "*Default message to use when adding files. -If set to NIL, `cvs-mode-add' will always prompt for a message." +If set to nil, `cvs-mode-add' will always prompt for a message." :group 'pcl-cvs :type '(choice (const :tag "Prompt" nil) (string))) -(defvar cvs-diff-buffer-name "*cvs-diff*" - "Obsolete variable: use `cvs-buffer-name-alist' instead.") +(defvar cvs-diff-buffer-name "*cvs-diff*") +(make-obsolete-variable 'cvs-diff-buffer-name + 'cvs-buffer-name-alist) (defcustom cvs-find-file-and-jump nil "Jump to the modified area when finding a file. @@ -190,7 +189,7 @@ have no effect." (defcustom cvs-buffer-name-alist '(("diff" cvs-diff-buffer-name diff-mode) ("status" "*cvs-info*" cvs-status-mode) - ("tree" (format "*cvs-%s*" cmd) cvs-status-mode) + ("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. @@ -309,29 +308,31 @@ This variable is buffer local and only used in the *cvs* buffer.") ("v" "vendor" . cvs-mode-diff-vendor)) "Keymap for diff-related operations in `cvs-mode'." :name "Diff") -;; This is necessary to allow correct handling of \\[cvs-mode-diff-map] +;; This is necessary to allow correct handling of \\[cvs-mode-diff-map] ;; in substitute-command-keys. (fset 'cvs-mode-diff-map cvs-mode-diff-map) (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' + '(;; simulate `suppress-keymap' (self-insert-command . undefined) (("0" "1" "2" "3" "4" "5" "6" "7" "8" "9") . digit-argument) ("-" . negative-argument) ;; various - (undo . cvs-mode-undo) + ;; (undo . cvs-mode-undo) ("?" . cvs-help) ("h" . cvs-help) ("q" . cvs-bury-buffer) - ;;("Q" . kill-buffer) + ("z" . kill-this-buffer) ("F" . cvs-mode-set-flags) - ("\M-f" . cvs-mode-force-command) + ;; ("\M-f" . cvs-mode-force-command) + ("!" . cvs-mode-force-command) ("\C-c\C-c" . cvs-mode-kill-process) ;; marking ("m" . cvs-mode-mark) ("M" . cvs-mode-mark-all-files) + ("S" . cvs-mode-mark-on-state) ("u" . cvs-mode-unmark) ("\C-?". cvs-mode-unmark-up) ("%" . cvs-mode-mark-matching-files) @@ -354,7 +355,7 @@ This variable is buffer local and only used in the *cvs* buffer.") ("=" . cvs-mode-diff) ("d" . cvs-mode-diff-map) ;; keys that operate on individual files - ("\C-k". cvs-mode-acknowledge) + ("\C-k" . cvs-mode-acknowledge) ("A" . cvs-mode-add-change-log-entry-other-window) ;;("B" . cvs-mode-byte-compile-files) ("C" . cvs-mode-commit-setup) @@ -367,6 +368,7 @@ This variable is buffer local and only used in the *cvs* buffer.") ("c" . cvs-mode-commit) ("e" . cvs-mode-examine) ("f" . cvs-mode-find-file) + ("\C-m" . cvs-mode-find-file) ("i" . cvs-mode-ignore) ("l" . cvs-mode-log) ("o" . cvs-mode-find-file-other-window) @@ -380,6 +382,8 @@ This variable is buffer local and only used in the *cvs* buffer.") ;; mouse bindings ([mouse-2] . cvs-mode-find-file) ([(down-mouse-3)] . cvs-menu) + ;; dired-like bindings + ("\C-o" . cvs-mode-display-file) ;; Emacs-21 toolbar ;;([tool-bar item1] . (menu-item "Examine" cvs-examine :image (image :file "/usr/share/icons/xpaint.xpm" :type xpm))) ;;([tool-bar item2] . (menu-item "Update" cvs-update :image (image :file "/usr/share/icons/mail1.xpm" :type xpm))) @@ -393,6 +397,7 @@ This variable is buffer local and only used in the *cvs* buffer.") '("CVS" ["Open file.." cvs-mode-find-file t] [" ..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" ["Interactive diff" cvs-mode-idiff t] @@ -415,21 +420,25 @@ This variable is buffer local and only used in the *cvs* buffer.") ["Add ChangeLog" cvs-mode-add-change-log-entry-other-window t] "----" ["Mark all" cvs-mode-mark-all-files t] + ["Mark by regexp..." cvs-mode-mark-matching-files t] + ["Mark by state..." cvs-mode-mark-on-state t] ["Unmark all" cvs-mode-unmark-all-files t] ["Hide handled" cvs-mode-remove-handled t] "----" ["Quit" cvs-mode-quit t])) -;;;; +;;;; ;;;; CVS-Minor mode -;;;; +;;;; (defcustom cvs-minor-mode-prefix "\C-xc" "Prefix key for the `cvs-mode' bindings in `cvs-minor-mode'." :group 'pcl-cvs) (easy-mmode-defmap cvs-minor-mode-map - `((,cvs-minor-mode-prefix . cvs-mode-map)) + `((,cvs-minor-mode-prefix . cvs-mode-map) + ("e" . (menu-item nil cvs-mode-edit-log + :filter (lambda (x) (if (derived-mode-p 'log-view-mode) x))))) "Keymap for `cvs-minor-mode', used in buffers related to PCL-CVS.") (defvar cvs-buffer nil @@ -452,9 +461,9 @@ It is expected to call the function.") (defconst cvs-pcl-cvs-dirchange-re "^pcl-cvs: descending directory \\(.*\\)$") -;;;; +;;;; ;;;; autoload the global menu -;;;; +;;;; ;;;###autoload (defvar cvs-global-menu @@ -491,11 +500,11 @@ whether to use the new feature or not. Sadly, even with a new cvs executable, if you connect to an older cvs server \(typically a cvs-1.9 on the server), the old restriction applies. In such a case the sanity check made by pcl-cvs fails and you will have to manually -set this variable to T (until the cvs server is upgraded). +set this variable to t (until the cvs server is upgraded). When the above problem occurs, pcl-cvs should (hopefully) catch cvs' error message and replace it with a message tell you to change this variable.") ;; (provide 'pcvs-defs) -;;; pcl-cvs-defs.el ends here +;;; pcvs-defs.el ends here