# HG changeset patch # User Stefan Monnier # Date 1021579432 0 # Node ID 8b7e7b9551fe045e9fbd73d63cc702aec5dab16f # Parent 76c4660660ecf31a66c42682188cfad6a684a949 (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. diff -r 76c4660660ec -r 8b7e7b9551fe lisp/pcvs.el --- a/lisp/pcvs.el Thu May 16 19:32:32 2002 +0000 +++ b/lisp/pcvs.el Thu May 16 20:03:52 2002 +0000 @@ -13,7 +13,7 @@ ;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com ;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu ;; Keywords: CVS, version control, release management -;; Revision: $Id: pcvs.el,v 1.33 2002/01/25 22:41:28 monnier Exp $ +;; Revision: $Id: pcvs.el,v 1.34 2002/04/03 16:56:36 kai Exp $ ;; This file is part of GNU Emacs. @@ -472,7 +472,8 @@ ;; Check that dir is under CVS control. (unless (file-directory-p dir) (error "%s is not a directory" dir)) - (unless (or noexist (file-directory-p (expand-file-name "CVS" dir))) + (unless (or noexist (file-directory-p (expand-file-name "CVS" dir)) + (file-expand-wildcards (expand-file-name "*/CVS" dir))) (error "%s does not contain CVS controlled files" dir)) (set-buffer cvsbuf) @@ -1377,7 +1378,9 @@ ;;;; (defun-cvs-mode (cvs-mode-insert . NOARGS) (file) - "Insert an entry for a specific file." + "Insert an entry for a specific file into the current listing. +This is typically used if the file is up-to-date (or has been added +outside of PCL-CVS) and one wants to do some operation on it." (interactive (list (read-file-name "File to insert: " @@ -1980,11 +1983,11 @@ (defun-cvs-mode cvs-mode-add-change-log-entry-other-window () "Add a ChangeLog entry in the ChangeLog of the current directory." (interactive) - (let* ((fi (cvs-mode-marked nil nil :one t)) - (default-directory (cvs-expand-dir-name (cvs-fileinfo->dir fi))) - (buffer-file-name (expand-file-name (cvs-fileinfo->file fi)))) - (kill-local-variable 'change-log-default-name) - (add-change-log-entry-other-window))) + (dolist (fi (cvs-mode-marked nil nil)) + (let ((default-directory (cvs-expand-dir-name (cvs-fileinfo->dir fi))) + (buffer-file-name (expand-file-name (cvs-fileinfo->file fi)))) + (kill-local-variable 'change-log-default-name) + (save-excursion (add-change-log-entry-other-window))))) ;; interactive commands to set optional flags @@ -1993,8 +1996,8 @@ (interactive (list (completing-read "Which flag: " - (mapcar 'list '("cvs" "diff" "update" "status" "log" "tag" ;"rtag" - "commit" "remove" "undo" "checkout")) + '("cvs" "diff" "update" "status" "log" "tag" ;"rtag" + "commit" "remove" "undo" "checkout") nil t))) (let* ((sym (intern (concat "cvs-" flag "-flags")))) (let ((current-prefix-arg '(16)))