From: Glenn Morris Date: Sun, 24 Feb 2008 22:54:30 +0000 (+0000) Subject: (vc-cvs-register): Fix registering of directories in multiple file case. X-Git-Tag: emacs-pretest-23.0.90~7701 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=967bf29791e9e75c343b072e3b1128ec5989fb15;p=emacs.git (vc-cvs-register): Fix registering of directories in multiple file case. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b7d40b19998..a92eb1b6f44 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2008-02-24 Glenn Morris + * vc-cvs.el (vc-cvs-register): Fix registering of directories in + multiple file case. + * vc-mcvs.el (vc-mcvs-register): Fix let-binding (for use of `file'). 2008-02-24 Dan Nicolaescu diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el index 717407d2cbd..975a24dcd4d 100644 --- a/lisp/vc-cvs.el +++ b/lisp/vc-cvs.el @@ -298,15 +298,18 @@ COMMENT can be used to provide an initial description of FILES. `vc-register-switches' and `vc-cvs-register-switches' are passed to the CVS command (in that order)." - (when (and (not (vc-cvs-responsible-p file)) - (vc-cvs-could-register file)) - ;; Register the directory if needed. - (vc-cvs-register (directory-file-name (file-name-directory file)))) - (apply 'vc-cvs-command nil 0 files - "add" - (and comment (string-match "[^\t\n ]" comment) - (concat "-m" comment)) - (vc-switches 'CVS 'register))) + ;; Register the directories if needed. + (let (dirs) + (dolist (file files) + (and (not (vc-cvs-responsible-p file)) + (vc-cvs-could-register file) + (push (directory-file-name (file-name-directory file)) dirs))) + (if dirs (vc-cvs-register dirs))) + (apply 'vc-cvs-command nil 0 files + "add" + (and comment (string-match "[^\t\n ]" comment) + (concat "-m" comment)) + (vc-switches 'CVS 'register))) (defun vc-cvs-responsible-p (file) "Return non-nil if CVS thinks it is responsible for FILE."