aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2002-05-16 20:03:52 +0000
committerStefan Monnier2002-05-16 20:03:52 +0000
commit883e7198fbca465171c0ba10e4a12326fa80500d (patch)
tree7e037a66892dd8f78abe4d9cec4c70d912e3c6f9
parent1edd6ac448ce5a94c1b220ec9b56aa96b0e3a4b2 (diff)
downloademacs-883e7198fbca465171c0ba10e4a12326fa80500d.tar.gz
emacs-883e7198fbca465171c0ba10e4a12326fa80500d.zip
(cvs-cmd-do): Accept non-CVS dirs with CVS-ctrl'd subdirs.
(cvs-mode-add-change-log-entry-other-window): Work on multiple files. (cvs-mode-set-flags): Don't cons unnecessarily.
-rw-r--r--lisp/pcvs.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index 725332809e1..fccb1be1351 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -13,7 +13,7 @@
13;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com 13;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com
14;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu 14;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu
15;; Keywords: CVS, version control, release management 15;; Keywords: CVS, version control, release management
16;; Revision: $Id: pcvs.el,v 1.33 2002/01/25 22:41:28 monnier Exp $ 16;; Revision: $Id: pcvs.el,v 1.34 2002/04/03 16:56:36 kai Exp $
17 17
18;; This file is part of GNU Emacs. 18;; This file is part of GNU Emacs.
19 19
@@ -472,7 +472,8 @@ Working dir: " (abbreviate-file-name dir) "
472 ;; Check that dir is under CVS control. 472 ;; Check that dir is under CVS control.
473 (unless (file-directory-p dir) 473 (unless (file-directory-p dir)
474 (error "%s is not a directory" dir)) 474 (error "%s is not a directory" dir))
475 (unless (or noexist (file-directory-p (expand-file-name "CVS" dir))) 475 (unless (or noexist (file-directory-p (expand-file-name "CVS" dir))
476 (file-expand-wildcards (expand-file-name "*/CVS" dir)))
476 (error "%s does not contain CVS controlled files" dir)) 477 (error "%s does not contain CVS controlled files" dir))
477 478
478 (set-buffer cvsbuf) 479 (set-buffer cvsbuf)
@@ -1377,7 +1378,9 @@ The POSTPROC specified there (typically `log-edit') is then called,
1377;;;; 1378;;;;
1378 1379
1379(defun-cvs-mode (cvs-mode-insert . NOARGS) (file) 1380(defun-cvs-mode (cvs-mode-insert . NOARGS) (file)
1380 "Insert an entry for a specific file." 1381 "Insert an entry for a specific file into the current listing.
1382This is typically used if the file is up-to-date (or has been added
1383outside of PCL-CVS) and one wants to do some operation on it."
1381 (interactive 1384 (interactive
1382 (list (read-file-name 1385 (list (read-file-name
1383 "File to insert: " 1386 "File to insert: "
@@ -1980,11 +1983,11 @@ With prefix argument, prompt for cvs flags."
1980(defun-cvs-mode cvs-mode-add-change-log-entry-other-window () 1983(defun-cvs-mode cvs-mode-add-change-log-entry-other-window ()
1981 "Add a ChangeLog entry in the ChangeLog of the current directory." 1984 "Add a ChangeLog entry in the ChangeLog of the current directory."
1982 (interactive) 1985 (interactive)
1983 (let* ((fi (cvs-mode-marked nil nil :one t)) 1986 (dolist (fi (cvs-mode-marked nil nil))
1984 (default-directory (cvs-expand-dir-name (cvs-fileinfo->dir fi))) 1987 (let ((default-directory (cvs-expand-dir-name (cvs-fileinfo->dir fi)))
1985 (buffer-file-name (expand-file-name (cvs-fileinfo->file fi)))) 1988 (buffer-file-name (expand-file-name (cvs-fileinfo->file fi))))
1986 (kill-local-variable 'change-log-default-name) 1989 (kill-local-variable 'change-log-default-name)
1987 (add-change-log-entry-other-window))) 1990 (save-excursion (add-change-log-entry-other-window)))))
1988 1991
1989;; interactive commands to set optional flags 1992;; interactive commands to set optional flags
1990 1993
@@ -1993,8 +1996,8 @@ With prefix argument, prompt for cvs flags."
1993 (interactive 1996 (interactive
1994 (list (completing-read 1997 (list (completing-read
1995 "Which flag: " 1998 "Which flag: "
1996 (mapcar 'list '("cvs" "diff" "update" "status" "log" "tag" ;"rtag" 1999 '("cvs" "diff" "update" "status" "log" "tag" ;"rtag"
1997 "commit" "remove" "undo" "checkout")) 2000 "commit" "remove" "undo" "checkout")
1998 nil t))) 2001 nil t)))
1999 (let* ((sym (intern (concat "cvs-" flag "-flags")))) 2002 (let* ((sym (intern (concat "cvs-" flag "-flags"))))
2000 (let ((current-prefix-arg '(16))) 2003 (let ((current-prefix-arg '(16)))