comparison lisp/pcl-cvs/pcl-cvs.el @ 76:c0c698873ce1 r20-0b33

Import from CVS: tag r20-0b33
author cvs
date Mon, 13 Aug 2007 09:05:10 +0200
parents 131b0175ea99
children 8619ce7e4c50
comparison
equal deleted inserted replaced
75:a4e0195b387b 76:c0c698873ce1
1 ;;; 1 ;;;
2 ;;;#ident "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp " 2 ;;;#ident "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp "
3 ;;; 3 ;;;
4 ;;;#ident "@(#)cvs/contrib/pcl-cvs:$Name: r20-0b30 $:$Id: pcl-cvs.el,v 1.1.1.1 1996/12/18 22:42:58 steve Exp $" 4 ;;;#ident "@(#)cvs/contrib/pcl-cvs:$Name: r20-0b33 $:$Id: pcl-cvs.el,v 1.2 1996/12/28 21:03:03 steve Exp $"
5 ;;; 5 ;;;
6 ;;; pcl-cvs.el -- A Front-end to CVS 1.3 or later. 6 ;;; pcl-cvs.el -- A Front-end to CVS 1.3 or later.
7 ;;; Release 1.05-CVS-$Name: r20-0b30 $. 7 ;;; Release 1.05-CVS-$Name: r20-0b33 $.
8 ;;; Copyright (C) 1991, 1992, 1993 Per Cederqvist 8 ;;; Copyright (C) 1991, 1992, 1993 Per Cederqvist
9 9
10 ;;; This program is free software; you can redistribute it and/or modify 10 ;;; This program is free software; you can redistribute it and/or modify
11 ;;; it under the terms of the GNU General Public License as published by 11 ;;; it under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 2 of the License, or 12 ;;; the Free Software Foundation; either version 2 of the License, or
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details. 18 ;;; GNU General Public License for more details.
19 ;;; 19 ;;;
20 ;;; You should have received a copy of the GNU General Public License 20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with this program; if not, write to the Free Software 21 ;;; along with this program; if not, write to the Free Software
22 ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 ;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23 ;;; 02111-1307, USA.
23 24
24 ;;; See below for installation instructions. 25 ;;; See below for installation instructions.
25 26
26 ;;; There is an TeXinfo file that describes this package. You should read it 27 ;;; There is an TeXinfo file that describes this package. You should read it
27 ;;; to get the most from this package. 28 ;;; to get the most from this package.
31 32
32 ;;; Don't try to use this with CVS 1.2 or earlier. It won't work. Get CVS 1.7 33 ;;; Don't try to use this with CVS 1.2 or earlier. It won't work. Get CVS 1.7
33 ;;; or newer. Use the version of RCS best suited for the version of CVS you're 34 ;;; or newer. Use the version of RCS best suited for the version of CVS you're
34 ;;; using. 35 ;;; using.
35 36
36 ; (require 'cookie) ; from ELIB-1.0 37 (require 'cookie) ; from ELIB-1.0
37 (load "cookie.el")
38 (require 'add-log) ; for all the ChangeLog goodies 38 (require 'add-log) ; for all the ChangeLog goodies
39
40 (provide 'pcl-cvs)
41 39
42 ;;; ------------------------------------------------------- 40 ;;; -------------------------------------------------------
43 ;;; START OF THINGS TO CHECK WHEN INSTALLING 41 ;;; START OF THINGS TO CHECK WHEN INSTALLING
44 42
45 ;; also use $GNU here, since may folks might install CVS as a GNU package 43 ;; also use $GNU here, since may folks might install CVS as a GNU package
46 ;; 44 ;;
47 (defvar local-path (cond 45 (defun cvs-find-program (program)
48 ((getenv "LOCAL") 46 (let ((path (list (getenv "LOCAL")
49 (getenv "LOCAL")) 47 (getenv "GNU")
50 ((getenv "GNU") 48 "/usr/local/bin"
51 (getenv "GNU")) 49 "/usr/bin"
52 (t 50 "/bin")))
53 "/usr/local")) 51 (while path
54 "*Path prefix for most locally installed things.") 52 (if (stringp (car path))
55 53 (let ((abs-program (expand-file-name program (car path))))
56 ;; this isn't likely to be right all the time.... 54 (if (file-executable-p abs-program)
57 ;; 55 (setq path nil
58 (defvar local-gnu-path (cond 56 program abs-program))))
59 ((getenv "GNU") 57 (setq path (cdr path)))
60 (getenv "GNU")) 58 program))
61 (t 59
62 "/usr/local")) ; or "/usr/gnu"? 60 (defvar cvs-program (cvs-find-program "cvs")
63 "*Path prefix for locally installed GNU software.")
64
65 (defvar cvs-program (concat local-path "/bin/cvs")
66 "*Full path to the cvs executable.") 61 "*Full path to the cvs executable.")
67 62
68 ;; SunOS-4.1.1_U1 has "diff.c 1.12 88/08/04 SMI; from UCB 4.6 86/04/03" 63 ;; SunOS-4.1.1_U1 has "diff.c 1.12 88/08/04 SMI; from UCB 4.6 86/04/03"
69 ;; 64 ;;
70 (defvar cvs-diff-program (concat local-gnu-path "/bin/diff") 65 (defvar cvs-diff-program (cvs-find-program "diff")
71 "*Full path to the best diff program you've got. 66 "*Full path to the best diff program you've got.
72 NOTE: there are some nasty bugs in the context diff variants of some vendor 67 NOTE: there are some nasty bugs in the context diff variants of some vendor
73 versions, such as the one in SunOS-4.1.1_U1") 68 versions, such as the one in SunOS-4.1.1_U1")
74 69
75 (defvar cvs-rmdir-program "/bin/rmdir" 70 (defvar cvs-rmdir-program "/bin/rmdir"
129 ;; delete-exited-processes is t. 124 ;; delete-exited-processes is t.
130 125
131 ;;; END OF THINGS TO CHECK WHEN INSTALLING 126 ;;; END OF THINGS TO CHECK WHEN INSTALLING
132 ;;; -------------------------------------------------------- 127 ;;; --------------------------------------------------------
133 128
134 (defconst pcl-cvs-version "1.05-CVS-$Name: r20-0b30 $" 129 (defconst pcl-cvs-version "1.05-CVS-$Name: r20-0b33 $"
135 "A string denoting the current release version of pcl-cvs.") 130 "A string denoting the current release version of pcl-cvs.")
136 131
137 ;; You are NOT allowed to disable this message by default. However, you 132 ;; You are NOT allowed to disable this message by default. However, you
138 ;; are encouraged to inform your users that by adding 133 ;; are encouraged to inform your users that by adding
139 ;; (setq cvs-inhibit-copyright-message t) 134 ;; (setq cvs-inhibit-copyright-message t)
142 (defvar cvs-inhibit-copyright-message nil 137 (defvar cvs-inhibit-copyright-message nil
143 "*Non-nil means don't display a Copyright message in the ``*cvs*'' buffer.") 138 "*Non-nil means don't display a Copyright message in the ``*cvs*'' buffer.")
144 139
145 (defconst cvs-startup-message 140 (defconst cvs-startup-message
146 (if cvs-inhibit-copyright-message 141 (if cvs-inhibit-copyright-message
147 "PCL-CVS release 1.05-CVS-$Name: r20-0b30 $" 142 "PCL-CVS release 1.05-CVS-$Name: r20-0b33 $"
148 "PCL-CVS release 1.05 from CVS release $Name: r20-0b30 $. 143 "PCL-CVS release 1.05 from CVS release $Name: r20-0b33 $.
149 Copyright (C) 1992, 1993 Per Cederqvist 144 Copyright (C) 1992, 1993 Per Cederqvist
150 Pcl-cvs comes with absolutely no warranty; for details consult the manual. 145 Pcl-cvs comes with absolutely no warranty; for details consult the manual.
151 This is free software, and you are welcome to redistribute it under certain 146 This is free software, and you are welcome to redistribute it under certain
152 conditions; again, consult the TeXinfo manual for details.") 147 conditions; again, consult the TeXinfo manual for details.")
153 "*Startup message for CVS.") 148 "*Startup message for CVS.")
727 \\[cvs-mode-tag] Run ``cvs tag''. \\[cvs-mode-rtag] Run ``cvs rtag''. 722 \\[cvs-mode-tag] Run ``cvs tag''. \\[cvs-mode-rtag] Run ``cvs rtag''.
728 \\[cvs-mode-changelog-commit] Like \\[cvs-mode-commit], but get default log text from ChangeLog. 723 \\[cvs-mode-changelog-commit] Like \\[cvs-mode-commit], but get default log text from ChangeLog.
729 \\[cvs-mode-undo-local-changes] Revert the last checked in version - discard your changes to the file. 724 \\[cvs-mode-undo-local-changes] Revert the last checked in version - discard your changes to the file.
730 725
731 Entry to this mode runs cvs-mode-hook. 726 Entry to this mode runs cvs-mode-hook.
732 This description is updated for release 1.05-CVS-$Name: r20-0b30 $ of pcl-cvs. 727 This description is updated for release 1.05-CVS-$Name: r20-0b33 $ of pcl-cvs.
733 728
734 All bindings: 729 All bindings:
735 \\{cvs-mode-map}" 730 \\{cvs-mode-map}"
736 731
737 (interactive) 732 (interactive)
1016 (insert "Optional args: \"" indicator "\".\n")) 1011 (insert "Optional args: \"" indicator "\".\n"))
1017 (insert "\nEmacs-version: " (emacs-version) "\n") 1012 (insert "\nEmacs-version: " (emacs-version) "\n")
1018 (insert "Pcl-cvs Version: " 1013 (insert "Pcl-cvs Version: "
1019 "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp\n") 1014 "@(#)OrigId: pcl-cvs.el,v 1.93 1993/05/31 22:44:00 ceder Exp\n")
1020 (insert "CVS Version: " 1015 (insert "CVS Version: "
1021 "@(#)cvs/contrib/pcl-cvs:$Name: r20-0b30 $:$Id: pcl-cvs.el,v 1.1.1.1 1996/12/18 22:42:58 steve Exp $\n\n") 1016 "@(#)lisp/pcl-cvs:$Name: r20-0b33 $:$Id: pcl-cvs.el,v 1.2 1996/12/28 21:03:03 steve Exp $\n\n")
1022 (insert (format "--- Contents of stdout buffer (%d chars) ---\n" 1017 (insert (format "--- Contents of stdout buffer (%d chars) ---\n"
1023 (length stdout))) 1018 (length stdout)))
1024 (insert stdout) 1019 (insert stdout)
1025 (insert "--- End of stdout buffer ---\n") 1020 (insert "--- End of stdout buffer ---\n")
1026 (insert (format "--- Contents of stderr buffer (%d chars) ---\n" 1021 (insert (format "--- Contents of stderr buffer (%d chars) ---\n"
1227 ;; Cvs waits for a lock. Ignore. 1222 ;; Cvs waits for a lock. Ignore.
1228 1223
1229 ((looking-at 1224 ((looking-at
1230 "^cvs \\(update\\|server\\): \\[..:..:..\\] waiting for .*lock in ") 1225 "^cvs \\(update\\|server\\): \\[..:..:..\\] waiting for .*lock in ")
1231 (forward-line 1)) 1226 (forward-line 1))
1227 ((looking-at
1228 "^cvs \\(update\\|server\\): \\[..:..:..\\] obtained lock in ")
1229 (forward-line 1))
1232 1230
1233 ;; File removed in repository, but edited by you. 1231 ;; File removed in repository, but edited by you.
1234 1232
1235 ((looking-at 1233 ((looking-at
1236 "^cvs \\(update\\|server\\): conflict: \\(.*\\) is modified but no longer in the repository$") 1234 "^cvs \\(update\\|server\\): conflict: \\(.*\\) is modified but no longer in the repository$")
1348 ;; Merging differences between 1.1.1.1 and 1.1.1.2 into logout.sh 1346 ;; Merging differences between 1.1.1.1 and 1.1.1.2 into logout.sh
1349 ;; rcsmerge warning: overlaps during merge 1347 ;; rcsmerge warning: overlaps during merge
1350 1348
1351 ((looking-at 1349 ((looking-at
1352 ;; Allow both RCS 5.5 and 5.6. (5.6 prints "rcs" and " warning"). 1350 ;; Allow both RCS 5.5 and 5.6. (5.6 prints "rcs" and " warning").
1353 "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\((overlaps\\|conflicts\\) during merge$") 1351 "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\(overlaps\\|conflicts\\) during merge$")
1354 1352
1355 ;; Yes, this is a conflict. 1353 ;; Yes, this is a conflict.
1356 (cvs-skip-line stdout-buffer stderr-buffer 1354 (cvs-skip-line stdout-buffer stderr-buffer
1357 "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\(overlaps\\|conflicts\\) during merge$") 1355 "^\\(rcs\\)?merge[:]*\\( warning\\)?: \\(overlaps\\|conflicts\\) during merge$")
1358 1356
1602 (define-key cvs-mode-map "\C-k" 'cvs-mode-acknowledge) 1600 (define-key cvs-mode-map "\C-k" 'cvs-mode-acknowledge)
1603 (define-key cvs-mode-map "\C-n" 'cvs-mode-next-line) 1601 (define-key cvs-mode-map "\C-n" 'cvs-mode-next-line)
1604 (define-key cvs-mode-map "\C-p" 'cvs-mode-previous-line) 1602 (define-key cvs-mode-map "\C-p" 'cvs-mode-previous-line)
1605 ;; ^C- keys are used to set various flags to control CVS features 1603 ;; ^C- keys are used to set various flags to control CVS features
1606 (define-key cvs-mode-map "\C-c" 'cvs-mode-map-control-c-prefix) 1604 (define-key cvs-mode-map "\C-c" 'cvs-mode-map-control-c-prefix)
1607 (define-key cvs-mode-map "\C-cc" 'cvs-change-cvsroot) 1605 (define-key cvs-mode-map "\C-c\C-c" 'cvs-change-cvsroot)
1608 (define-key cvs-mode-map "\C-cd" 'cvs-set-diff-flags) 1606 (define-key cvs-mode-map "\C-c\C-d" 'cvs-set-diff-flags)
1609 (define-key cvs-mode-map "\C-cl" 'cvs-set-log-flags) 1607 (define-key cvs-mode-map "\C-c\C-l" 'cvs-set-log-flags)
1610 (define-key cvs-mode-map "\C-cs" 'cvs-set-status-flags) 1608 (define-key cvs-mode-map "\C-c\C-s" 'cvs-set-status-flags)
1611 (define-key cvs-mode-map "\C-cu" 'cvs-set-update-optional-flags) 1609 (define-key cvs-mode-map "\C-c\C-u" 'cvs-set-update-optional-flags)
1612 ;; M- keys are usually those that operate on modules 1610 ;; M- keys are usually those that operate on modules
1613 (define-key cvs-mode-map "\M-\C-?" 'cvs-mode-unmark-all-files) 1611 (define-key cvs-mode-map "\M-\C-?" 'cvs-mode-unmark-all-files)
1614 (define-key cvs-mode-map "\M-C" 'cvs-mode-rcs2log) ; i.e. "Create a ChangeLog" 1612 (define-key cvs-mode-map "\M-C" 'cvs-mode-rcs2log) ; i.e. "Create a ChangeLog"
1615 (define-key cvs-mode-map "\M-a" 'cvs-mode-admin) 1613 (define-key cvs-mode-map "\M-a" 'cvs-mode-admin)
1616 (define-key cvs-mode-map "\M-c" 'cvs-mode-checkout) 1614 (define-key cvs-mode-map "\M-c" 'cvs-mode-checkout)
3450 (cvs-edit-mode) 3448 (cvs-edit-mode)
3451 (make-local-variable 'cvs-commit-list) 3449 (make-local-variable 'cvs-commit-list)
3452 (setq cvs-commit-list marked) 3450 (setq cvs-commit-list marked)
3453 (message "Press C-c C-c when you are done editing.")))) 3451 (message "Press C-c C-c when you are done editing."))))
3454 3452
3455 ;;;; end of file pcl-cvs.el 3453 (provide 'pcl-cvs)
3454
3455 ;;; pcl-cvs.el ends here