annotate lisp/pcvs-defs.el @ 68632:38d9a9de1e9c

*** empty log message ***
author Ken Raeburn <raeburn@raeburn.org>
date Sun, 05 Feb 2006 13:45:35 +0000
parents 60a70d15255d
children 3bd95f4f2941 fa0da9b57058
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
1 ;;; pcvs-defs.el --- variable definitions for PCL-CVS
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
2
57434
1776f7c5e250 (pcl-cvs-load-hook): Remove unused var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56315
diff changeset
3 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
64762
41bb365f41c4 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64091
diff changeset
4 ;; 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
5
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
6 ;; Author: Stefan Monnier <monnier@cs.yale.edu>
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
7 ;; Keywords: pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
8
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
10
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
14 ;; any later version.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
15
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
19 ;; GNU General Public License for more details.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
20
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64091
6fb026ad601f Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63621
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
6fb026ad601f Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63621
diff changeset
24 ;; Boston, MA 02110-1301, USA.
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
25
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
26 ;;; Commentary:
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
27
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
28
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
29 ;;; Code:
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
30
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
31 (eval-when-compile (require 'cl))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
32 (require 'pcvs-util)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
33
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
34 ;;;; -------------------------------------------------------
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
35 ;;;; START OF THINGS TO CHECK WHEN INSTALLING
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
36
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
37 (defvar cvs-program "cvs"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
38 "*Name or full path of the cvs executable.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
39
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
40 (defvar cvs-version
65511
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
41 ;; With the divergence of the CVSNT codebase and version numbers, this is
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
42 ;; not really good any more.
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
43 (ignore-errors
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
44 (with-temp-buffer
45965
20686887461a (cvs-version): Use cvs-program rather than "cvs".
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 42205
diff changeset
45 (call-process cvs-program nil t nil "-v")
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
46 (goto-char (point-min))
65511
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
47 (when (re-search-forward "(CVS\\(NT\\)?) \\([0-9]+\\)\\.\\([0-9]+\\)"
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
48 nil t)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
49 (cons (string-to-number (match-string 1))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
50 (string-to-number (match-string 2))))))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
51 "*Version of `cvs' installed on your system.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
52 It must be in the (MAJOR . MINOR) format.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
53
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
54 ;; FIXME: this is only used by cvs-mode-diff-backup
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
55 (defvar cvs-diff-program (or (and (boundp 'diff-command) diff-command) "diff")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
56 "*Name or full path of the best diff program you've got.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
57 NOTE: there are some nasty bugs in the context diff variants of some vendor
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
58 versions, such as the one in SunOS-4.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
59
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
60 ;;;; END OF THINGS TO CHECK WHEN INSTALLING
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
61 ;;;; --------------------------------------------------------
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
62
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
63 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
64 ;;;; User configuration variables:
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
65 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
66 ;;;; NOTE: these should be set in your ~/.emacs (or site-lisp/default.el) file.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
67 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
68
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
69 (defgroup pcl-cvs nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
70 "Special support for the CVS versioning system."
29628
4580fc7c0a80 (pcl-cvs) <defgroup>: Add :version.
Dave Love <fx@gnu.org>
parents: 29566
diff changeset
71 :version "21.1"
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
72 :group 'tools
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
73 :prefix "cvs-")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
74
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
75 ;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
76 ;; cvsrc options
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
77 ;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
78
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
79 (defcustom cvs-cvsrc-file "~/.cvsrc"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
80 "Path to your cvsrc file."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
81 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
82 :type '(file))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
83
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
84 (defvar cvs-shared-start 4
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
85 "Index of the first shared flag.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
86 If set to 4, for instance, a numeric argument smaller than 4 will
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
87 select a non-shared flag, while a numeric argument greater than 3
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
88 will select a shared-flag.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
89
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
90 (defvar cvs-shared-flags (make-list cvs-shared-start nil)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
91 "List of flags whose settings is shared among several commands.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
92
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
93 (defvar cvs-cvsroot nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
94 "*Specifies where the (current) cvs master repository is.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
95 Overrides the environment variable $CVSROOT by sending \" -d dir\" to
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
96 all CVS commands. This switch is useful if you have multiple CVS
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
97 repositories. It can be set interactively with \\[cvs-change-cvsroot.]
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
98 There is no need to set this if $CVSROOT is set to a correct value.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
99
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
100 (defcustom cvs-auto-remove-handled nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
101 "*If up-to-date files should be acknowledged automatically.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
102 If T, they will be removed from the *cvs* buffer after every command.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
103 If DELAYED, they will be removed from the *cvs* buffer before every command.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
104 If STATUS, they will only be removed after a `cvs-mode-status' command.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
105 Else, they will never be automatically removed from the *cvs* buffer."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
106 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
107 :type '(choice (const nil) (const status) (const delayed) (const t)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
108
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
109 (defcustom cvs-auto-remove-directories 'handled
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
110 "*If ALL, directory entries will never be shown.
46098
4cc4a5d2bae2 (cvs-mode-map): Bind ! to `force'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 45965
diff changeset
111 If HANDLED, only non-handled directories will be shown.
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
112 If EMPTY, only non-empty directories will be shown."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
113 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
114 :type '(choice (const :tag "No" nil) (const all) (const handled) (const empty)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
115
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
116 (defcustom cvs-auto-revert t
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
117 "*Non-nil if changed files should automatically be reverted."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
118 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
119 :type '(boolean))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
120
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
121 (defcustom cvs-sort-ignore-file t
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
122 "*Non-nil if `cvs-mode-ignore' should sort the .cvsignore automatically."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
123 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
124 :type '(boolean))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
125
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
126 (defcustom cvs-force-dir-tag t
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
127 "*If non-nil, tagging can only be applied to directories.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
128 Tagging should generally be applied a directory at a time, but sometimes it is
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
129 useful to be able to tag a single file. The normal way to do that is to use
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
130 `cvs-mode-force-command' so as to temporarily override the restrictions,"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
131 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
132 :type '(boolean))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
133
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
134 (defcustom cvs-default-ignore-marks nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
135 "*Non-nil if cvs mode commands should ignore any marked files.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
136 Normally they run on the files that are marked (with `cvs-mode-mark'),
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
137 or the file under the cursor if no files are marked. If this variable
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
138 is set to a non-nil value they will by default run on the file on the
29566
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
139 current line. See also `cvs-invert-ignore-marks'"
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
140 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
141 :type '(boolean))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
142
49618
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
143 (defvar cvs-diff-ignore-marks t)
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
144 (make-obsolete-variable 'cvs-diff-ignore-marks
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
145 'cvs-invert-ignore-marks)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
146
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
147 (defcustom cvs-invert-ignore-marks
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
148 (let ((l ()))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
149 (unless (equal cvs-diff-ignore-marks cvs-default-ignore-marks)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
150 (push "diff" l))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
151 (when (and cvs-force-dir-tag (not cvs-default-ignore-marks))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
152 (push "tag" l))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
153 l)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
154 "*List of cvs commands that invert the default ignore-mark behavior.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
155 Commands in this set will use the opposite default from the one set
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
156 in `cvs-default-ignore-marks'."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
157 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
158 :type '(set (const "diff")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
159 (const "tag")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
160 (const "ignore")))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
161
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
162 (defcustom cvs-confirm-removals t
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
163 "*Ask for confirmation before removing files.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
164 Non-nil means that PCL-CVS will ask confirmation before removing files
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
165 except for files whose content can readily be recovered from the repository.
33230
feebcbad81ae (cvs-menu): Add entries for tree and insert.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 29628
diff changeset
166 A value of `list' means that the list of files to be deleted will be
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
167 displayed when asking for confirmation."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
168 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
169 :type '(choice (const list)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
170 (const t)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
171 (const nil)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
172
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
173 (defcustom cvs-add-default-message nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
174 "*Default message to use when adding files.
42205
7308bbc423d5 Doc fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 40581
diff changeset
175 If set to nil, `cvs-mode-add' will always prompt for a message."
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
176 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
177 :type '(choice (const :tag "Prompt" nil)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
178 (string)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
179
49618
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
180 (defvar cvs-diff-buffer-name "*cvs-diff*")
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
181 (make-obsolete-variable 'cvs-diff-buffer-name
a591e5af9682 (cvs-diff-ignore-marks, cvs-diff-buffer-name): Add obsolescence declaration and
Juanma Barranquero <lekktu@gmail.com>
parents: 48269
diff changeset
182 'cvs-buffer-name-alist)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
183
29566
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
184 (defcustom cvs-find-file-and-jump nil
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
185 "Jump to the modified area when finding a file.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
186 If non-nil, `cvs-mode-file-file' will place the cursor at the beginning of
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
187 the modified area. If the file is not locally modified, this will obviously
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
188 have no effect."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
189 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
190 :type '(boolean))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
191
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
192 (defcustom cvs-buffer-name-alist
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
193 '(("diff" cvs-diff-buffer-name diff-mode)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
194 ("status" "*cvs-info*" cvs-status-mode)
36613
6fd7e79e9d1f (cvs-buffer-name-alist): Use *cvs-info* for
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34652
diff changeset
195 ("tree" "*cvs-info*" cvs-status-mode)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
196 ("message" "*cvs-commit*" nil log-edit)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
197 ("log" "*cvs-info*" log-view-mode))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
198 "*Buffer name and mode to be used for each command.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
199 This is a list of elements of the form
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
200
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
201 (CMD BUFNAME MODE &optional POSTPROC)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
202
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
203 CMD is the name of the command.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
204 BUFNAME is an expression that should evaluate to a string used as
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
205 a buffer name. It can use the variable CMD if it wants to.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
206 MODE is the command to use to setup the buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
207 POSTPROC is a function that should be executed when the command terminates
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
208
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
209 The CMD used for `cvs-mode-commit' is \"message\". For that special
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
210 case, POSTPROC is called just after MODE with special arguments."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
211 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
212 :type '(repeat
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
213 (list (choice (const "diff")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
214 (const "status")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
215 (const "tree")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
216 (const "message")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
217 (const "log")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
218 (string))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
219 (choice (const "*vc-diff*")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
220 (const "*cvs-info*")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
221 (const "*cvs-commit*")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
222 (const (expand-file-name "*cvs-commit*"))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
223 (const (format "*cvs-%s*" cmd))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
224 (const (expand-file-name (format "*cvs-%s*" cmd)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
225 (sexp :value "my-cvs-info-buffer")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
226 (const nil))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
227 (choice (function-item diff-mode)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
228 (function-item cvs-edit-mode)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
229 (function-item cvs-status-mode)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
230 function
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
231 (const nil))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
232 (set :inline t
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
233 (choice (function-item cvs-status-cvstrees)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
234 (function-item cvs-status-trees)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
235 function)))))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
236
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
237 (defvar cvs-buffer-name '(expand-file-name "*cvs*" dir) ;; "*cvs*"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
238 "Name of the cvs buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
239 This expression will be evaluated in an environment where DIR is set to
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
240 the directory name of the cvs buffer.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
241
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
242 (defvar cvs-temp-buffer-name '(expand-file-name " *cvs-tmp*" dir)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
243 "*Name of the cvs temporary buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
244 Output from cvs is placed here for asynchronous commands.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
245
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
246 (defcustom cvs-idiff-imerge-handlers
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
247 (if (fboundp 'ediff)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
248 '(cvs-ediff-diff . cvs-ediff-merge)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
249 '(cvs-emerge-diff . cvs-emerge-merge))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
250 "*Pair of functions to be used for resp. diff'ing and merg'ing interactively."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
251 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
252 :type '(choice (const :tag "Ediff" (cvs-ediff-diff . cvs-ediff-merge))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
253 (const :tag "Emerge" (cvs-emerge-diff . cvs-emerge-merge))))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
254
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
255 (defvar cvs-mode-hook nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
256 "Run after `cvs-mode' was setup.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
257
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
258
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
259 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
260 ;;;; Internal variables, used in the process buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
261 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
262
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
263 (defvar cvs-postprocess nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
264 "(Buffer local) what to do once the process exits.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
265
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
266 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
267 ;;;; Internal variables for the *cvs* buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
268 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
269
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
270 (defcustom cvs-reuse-cvs-buffer 'subdir
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
271 "When to reuse an existing cvs buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
272 Alternatives are:
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
273 CURRENT: just reuse the current buffer if it is a cvs buffer
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
274 SAMEDIR: reuse any cvs buffer displaying the same directory
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
275 SUBDIR: or reuse any cvs buffer displaying any sub- or super- directory
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
276 ALWAYS: reuse any cvs buffer."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
277 :group 'pcl-cvs
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
278 :type '(choice (const always) (const subdir) (const samedir) (const current)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
279
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
280 (defvar cvs-temp-buffer nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
281 "(Buffer local) The temporary buffer associated with this *cvs* buffer.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
282
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
283 (defvar cvs-lock-file nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
284 "Full path to a lock file that CVS is waiting for (or was waiting for).
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
285 This variable is buffer local and only used in the *cvs* buffer.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
286
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
287 (defvar cvs-lock-file-regexp "^#cvs\\.\\([trw]fl\\.[-.a-z0-9]+\\|lock\\)\\'"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
288 "Regexp matching the possible names of locks in the CVS repository.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
289
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
290 (defconst cvs-cursor-column 22
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
291 "Column to position cursor in in `cvs-mode'.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
292
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
293 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
294 ;;;; Global internal variables
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
295 ;;;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
296
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
297 (defconst cvs-vendor-branch "1.1.1"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
298 "The default branch used by CVS for vendor code.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
299
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
300 (easy-mmode-defmap cvs-mode-diff-map
34406
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
301 '(("E" "imerge" . cvs-mode-imerge)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
302 ("=" . cvs-mode-diff)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
303 ("e" "idiff" . cvs-mode-idiff)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
304 ("2" "other" . cvs-mode-idiff-other)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
305 ("d" "diff" . cvs-mode-diff)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
306 ("b" "backup" . cvs-mode-diff-backup)
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
307 ("h" "head" . cvs-mode-diff-head)
56315
b53a24a4e11e (cvs-mode-diff-map): Bind r to cvs-mode-diff-repository.
Juri Linkov <juri@jurta.org>
parents: 56010
diff changeset
308 ("r" "repository" . cvs-mode-diff-repository)
56010
42cb534d806a (cvs-mode-diff-map): Bind y to cvs-mode-diff-yesterday.
Kim F. Storm <storm@cua.dk>
parents: 53921
diff changeset
309 ("y" "yesterday" . cvs-mode-diff-yesterday)
34406
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
310 ("v" "vendor" . cvs-mode-diff-vendor))
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
311 "Keymap for diff-related operations in `cvs-mode'."
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
312 :name "Diff")
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
313 ;; This is necessary to allow correct handling of \\[cvs-mode-diff-map]
29566
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
314 ;; in substitute-command-keys.
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
315 (fset 'cvs-mode-diff-map cvs-mode-diff-map)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
316
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
317 (easy-mmode-defmap cvs-mode-map
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
318 ;;(define-prefix-command 'cvs-mode-map-diff-prefix)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
319 ;;(define-prefix-command 'cvs-mode-map-control-c-prefix)
37695
377af5547011 (cvs-mode-map): Don't rebind `undo'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 37340
diff changeset
320 '(;; simulate `suppress-keymap'
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
321 (self-insert-command . undefined)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
322 (("0" "1" "2" "3" "4" "5" "6" "7" "8" "9") . digit-argument)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
323 ("-" . negative-argument)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
324 ;; various
37695
377af5547011 (cvs-mode-map): Don't rebind `undo'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 37340
diff changeset
325 ;; (undo . cvs-mode-undo)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
326 ("?" . cvs-help)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
327 ("h" . cvs-help)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
328 ("q" . cvs-bury-buffer)
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
329 ("z" . kill-this-buffer)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
330 ("F" . cvs-mode-set-flags)
48269
b4a43403c371 (cvs-mode-map): Remove M-f binding.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 46098
diff changeset
331 ;; ("\M-f" . cvs-mode-force-command)
46098
4cc4a5d2bae2 (cvs-mode-map): Bind ! to `force'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 45965
diff changeset
332 ("!" . cvs-mode-force-command)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
333 ("\C-c\C-c" . cvs-mode-kill-process)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
334 ;; marking
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
335 ("m" . cvs-mode-mark)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
336 ("M" . cvs-mode-mark-all-files)
37340
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
337 ("S" . cvs-mode-mark-on-state)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
338 ("u" . cvs-mode-unmark)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
339 ("\C-?". cvs-mode-unmark-up)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
340 ("%" . cvs-mode-mark-matching-files)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
341 ("T" . cvs-mode-toggle-marks)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
342 ("\M-\C-?" . cvs-mode-unmark-all-files)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
343 ;; navigation keys
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
344 (" " . cvs-mode-next-line)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
345 ("n" . cvs-mode-next-line)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
346 ("p" . cvs-mode-previous-line)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
347 ;; M- keys are usually those that operate on modules
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
348 ;;("\M-C". cvs-mode-rcs2log) ; i.e. "Create a ChangeLog"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
349 ;;("\M-t". cvs-rtag)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
350 ;;("\M-l". cvs-rlog)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
351 ("\M-c". cvs-checkout)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
352 ("\M-e". cvs-examine)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
353 ("g" . cvs-mode-revert-buffer)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
354 ("\M-u". cvs-update)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
355 ("\M-s". cvs-status)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
356 ;; diff commands
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
357 ("=" . cvs-mode-diff)
29566
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
358 ("d" . cvs-mode-diff-map)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
359 ;; keys that operate on individual files
40581
55442821b27d (cvs-mode-map): bind C-m, not RET
Sam Steingold <sds@gnu.org>
parents: 38422
diff changeset
360 ("\C-k" . cvs-mode-acknowledge)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
361 ("A" . cvs-mode-add-change-log-entry-other-window)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
362 ;;("B" . cvs-mode-byte-compile-files)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
363 ("C" . cvs-mode-commit-setup)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
364 ("O" . cvs-mode-update)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
365 ("U" . cvs-mode-undo)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
366 ("I" . cvs-mode-insert)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
367 ("a" . cvs-mode-add)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
368 ("b" . cvs-set-branch-prefix)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
369 ("B" . cvs-set-secondary-branch-prefix)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
370 ("c" . cvs-mode-commit)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
371 ("e" . cvs-mode-examine)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
372 ("f" . cvs-mode-find-file)
40581
55442821b27d (cvs-mode-map): bind C-m, not RET
Sam Steingold <sds@gnu.org>
parents: 38422
diff changeset
373 ("\C-m" . cvs-mode-find-file)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
374 ("i" . cvs-mode-ignore)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
375 ("l" . cvs-mode-log)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
376 ("o" . cvs-mode-find-file-other-window)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
377 ("r" . cvs-mode-remove)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
378 ("s" . cvs-mode-status)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
379 ("t" . cvs-mode-tag)
57504
40ccbcbf8668 (cvs-mode-map): Bind v to cvs-mode-view-file.
Kim F. Storm <storm@cua.dk>
parents: 57434
diff changeset
380 ("v" . cvs-mode-view-file)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
381 ("x" . cvs-mode-remove-handled)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
382 ;; cvstree bindings
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
383 ("+" . cvs-mode-tree)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
384 ;; mouse bindings
29566
3334012b1cb4 (cvs-default-ignore-marks, cvs-diff-ignore-marks):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28256
diff changeset
385 ([mouse-2] . cvs-mode-find-file)
59022
0b09c3970de0 (cvs-mode-map): Map follow-link to a function which
Kim F. Storm <storm@cua.dk>
parents: 57504
diff changeset
386 ([follow-link] . (lambda (pos)
63210
2e115caaa7d2 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-380
Miles Bader <miles@gnu.org>
parents: 59022
diff changeset
387 (if (eq (get-char-property pos 'face) 'cvs-filename) t)))
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
388 ([(down-mouse-3)] . cvs-menu)
37340
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
389 ;; dired-like bindings
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
390 ("\C-o" . cvs-mode-display-file)
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
391 ;; Emacs-21 toolbar
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
392 ;;([tool-bar item1] . (menu-item "Examine" cvs-examine :image (image :file "/usr/share/icons/xpaint.xpm" :type xpm)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
393 ;;([tool-bar item2] . (menu-item "Update" cvs-update :image (image :file "/usr/share/icons/mail1.xpm" :type xpm)))
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
394 )
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
395 "Keymap for `cvs-mode'."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
396 :dense t)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
397
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
398 (fset 'cvs-mode-map cvs-mode-map)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
399
34375
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
400 (easy-menu-define cvs-menu cvs-mode-map "Menu used in `cvs-mode'."
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
401 '("CVS"
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
402 ["Open file.." cvs-mode-find-file t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
403 [" ..other window" cvs-mode-find-file-other-window t]
37340
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
404 ["Display in other window" cvs-mode-display-file t]
34375
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
405 ["Interactive merge" cvs-mode-imerge t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
406 ("View diff"
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
407 ["Interactive diff" cvs-mode-idiff t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
408 ["Current diff" cvs-mode-diff t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
409 ["Diff with head" cvs-mode-diff-head t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
410 ["Diff with vendor" cvs-mode-diff-vendor t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
411 ["Diff with backup" cvs-mode-diff-backup t])
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
412 ["View log" cvs-mode-log t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
413 ["View status" cvs-mode-status t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
414 ["View tag tree" cvs-mode-tree t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
415 "----"
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
416 ["Insert" cvs-mode-insert]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
417 ["Update" cvs-mode-update (cvs-enabledp 'update)]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
418 ["Re-examine" cvs-mode-examine t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
419 ["Commit" cvs-mode-commit-setup (cvs-enabledp 'commit)]
53921
efcea43dc549 (cvs-menu): Add `tag'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 52401
diff changeset
420 ["Tag" cvs-mode-tag (cvs-enabledp (when cvs-force-dir-tag 'tag))]
34375
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
421 ["Undo changes" cvs-mode-undo (cvs-enabledp 'undo)]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
422 ["Add" cvs-mode-add (cvs-enabledp 'add)]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
423 ["Remove" cvs-mode-remove (cvs-enabledp 'remove)]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
424 ["Ignore" cvs-mode-ignore (cvs-enabledp 'ignore)]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
425 ["Add ChangeLog" cvs-mode-add-change-log-entry-other-window t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
426 "----"
63621
88552d8d3c8e (cvs-menu): Add cvs-mode-mark and cvs-mode-unmark.
Reiner Steib <Reiner.Steib@gmx.de>
parents: 63210
diff changeset
427 ["Mark" cvs-mode-mark t]
34375
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
428 ["Mark all" cvs-mode-mark-all-files t]
37340
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
429 ["Mark by regexp..." cvs-mode-mark-matching-files t]
3ae41b8bb994 (cvs-mode-map): Bind C-o like in dired.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 36613
diff changeset
430 ["Mark by state..." cvs-mode-mark-on-state t]
63621
88552d8d3c8e (cvs-menu): Add cvs-mode-mark and cvs-mode-unmark.
Reiner Steib <Reiner.Steib@gmx.de>
parents: 63210
diff changeset
431 ["Unmark" cvs-mode-unmark t]
34375
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
432 ["Unmark all" cvs-mode-unmark-all-files t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
433 ["Hide handled" cvs-mode-remove-handled t]
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
434 "----"
3cd9d12d2b5d * pcvs-defs.el (cvs-menu): Move. Make submenu for diff commands.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34304
diff changeset
435 ["Quit" cvs-mode-quit t]))
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
436
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
437 ;;;;
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
438 ;;;; CVS-Minor mode
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
439 ;;;;
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
440
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
441 (defcustom cvs-minor-mode-prefix "\C-xc"
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
442 "Prefix key for the `cvs-mode' bindings in `cvs-minor-mode'."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
443 :group 'pcl-cvs)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
444
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
445 (easy-mmode-defmap cvs-minor-mode-map
48269
b4a43403c371 (cvs-mode-map): Remove M-f binding.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 46098
diff changeset
446 `((,cvs-minor-mode-prefix . cvs-mode-map)
b4a43403c371 (cvs-mode-map): Remove M-f binding.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 46098
diff changeset
447 ("e" . (menu-item nil cvs-mode-edit-log
b4a43403c371 (cvs-mode-map): Remove M-f binding.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 46098
diff changeset
448 :filter (lambda (x) (if (derived-mode-p 'log-view-mode) x)))))
34406
26b5a3053881 (cvs-mode-diff-map): Use minibuffer menu prompts.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 34375
diff changeset
449 "Keymap for `cvs-minor-mode', used in buffers related to PCL-CVS.")
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
450
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
451 (defvar cvs-buffer nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
452 "(Buffer local) The *cvs* buffer associated with this buffer.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
453 (put 'cvs-buffer 'permanent-local t)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
454 ;;(make-variable-buffer-local 'cvs-buffer)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
455
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
456 (defvar cvs-minor-wrap-function nil
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
457 "Function to call when switching to the *cvs* buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
458 Takes two arguments:
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
459 - a *cvs* buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
460 - a zero-arg function which is guaranteed not to switch buffer.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
461 It is expected to call the function.")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
462 ;;(make-variable-buffer-local 'cvs-minor-wrap-function)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
463
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
464 (defvar cvs-minor-current-files)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
465 ;;"Current files in a `cvs-minor-mode' buffer."
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
466 ;; This should stay `void' because we want to be able to tell the difference
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
467 ;; between an empty list and no list at all.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
468
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
469 (defconst cvs-pcl-cvs-dirchange-re "^pcl-cvs: descending directory \\(.*\\)$")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
470
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
471 ;;;;
28256
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
472 ;;;; autoload the global menu
37819
c1646601f895 (cvs-mode-map): bind "z" and [RET]
Sam Steingold <sds@gnu.org>
parents: 37695
diff changeset
473 ;;;;
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
474
28256
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
475 ;;;###autoload
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
476 (defvar cvs-global-menu
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
477 (let ((m (make-sparse-keymap "PCL-CVS")))
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
478 (define-key m [status]
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
479 '(menu-item "Directory Status" cvs-status
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
480 :help "A more verbose status of a workarea"))
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
481 (define-key m [checkout]
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
482 '(menu-item "Checkout Module" cvs-checkout
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
483 :help "Check out a module from the repository"))
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
484 (define-key m [update]
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
485 '(menu-item "Update Directory" cvs-update
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
486 :help "Fetch updates from the repository"))
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
487 (define-key m [examine]
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
488 '(menu-item "Examine Directory" cvs-examine
06cfa273543d * pcvs.el: Add a minimal leading commentary.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 28160
diff changeset
489 :help "Examine the current state of a workarea"))
51589
b521a93dd16b (cvs-global-menu): Define as a function as well.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 50930
diff changeset
490 (fset 'cvs-global-menu m)))
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
491
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
492
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
493 ;; cvs-1.10 and above can take file arguments in other directories
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
494 ;; while others need to be executed once per directory
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
495 (defvar cvs-execute-single-dir
65511
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
496 (if (or (null cvs-version)
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
497 (or (>= (cdr cvs-version) 10) (> (car cvs-version) 1)))
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
498 ;; Supposedly some recent versions of CVS output some directory info
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
499 ;; as they recurse downthe tree, but it's not good enough in the case
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
500 ;; where we run "cvs status foo bar/foo".
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
501 '("status")
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
502 t)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
503 "Whether cvs commands should be executed a directory at a time.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
504 If a list, specifies for which commands the single-dir mode should be used.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
505 If T, single-dir mode should be used for all operations.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
506
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
507 CVS versions before 1.10 did not allow passing them arguments in different
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
508 directories, so pcl-cvs checks what version you're using to determine
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
509 whether to use the new feature or not.
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
510 Sadly, even with a new cvs executable, if you connect to an older cvs server
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
511 \(typically a cvs-1.9 on the server), the old restriction applies. In such
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
512 a case the sanity check made by pcl-cvs fails and you will have to manually
42205
7308bbc423d5 Doc fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 40581
diff changeset
513 set this variable to t (until the cvs server is upgraded).
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
514 When the above problem occurs, pcl-cvs should (hopefully) catch cvs' error
65511
60a70d15255d (cvs-version): Recognize CVSNT version string.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64762
diff changeset
515 message and replace it with a message telling you to change this variable.")
28088
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
516
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
517 ;;
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
518 (provide 'pcvs-defs)
b442dfc3cef0 *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff changeset
519
57434
1776f7c5e250 (pcl-cvs-load-hook): Remove unused var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56315
diff changeset
520 ;; arch-tag: c7c701d0-d1d4-4aa9-a302-007bb03aca5e
38422
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 37819
diff changeset
521 ;;; pcvs-defs.el ends here