]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-rcs-register): Fix treatment of directories in multiple file case.
authorGlenn Morris <rgm@gnu.org>
Sun, 24 Feb 2008 23:02:59 +0000 (23:02 +0000)
committerGlenn Morris <rgm@gnu.org>
Sun, 24 Feb 2008 23:02:59 +0000 (23:02 +0000)
Use a single `let' rather than two.

lisp/ChangeLog
lisp/vc-rcs.el

index a92eb1b6f44e0055bd033d52071d126c3d2dd508..4dd568639483cde7fc9b234a67df65391fca0297 100644 (file)
@@ -5,6 +5,9 @@
 
        * vc-mcvs.el (vc-mcvs-register): Fix let-binding (for use of `file').
 
+       * vc-rcs.el (vc-rcs-register): Fix treatment of directories in
+       multiple file case.  Use a single `let' rather than two.
+
 2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * progmodes/compile.el (compilation-start): Specify a face for
index 0f2551d49a3221a48063929aab7ad834e54deb02..b20240b25b740acfd668a9a2ea406d72eaf3e95f 100644 (file)
@@ -262,9 +262,11 @@ the RCS command (in that order).
 
 Automatically retrieve a read-only version of the file with keywords
 expanded if `vc-keep-workfiles' is non-nil, otherwise, delete the workfile."
-  (let ((subdir (expand-file-name "RCS" (file-name-directory file))))
+  (let (subdir name)
     (dolist (file files)
-      (and (not (file-exists-p subdir))
+      (and (not (file-exists-p
+                (setq subdir (expand-file-name "RCS"
+                                               (file-name-directory file)))))
           (not (directory-files (file-name-directory file)
                                 nil ".*,v$" t))
           (yes-or-no-p "Create RCS subdirectory? ")
@@ -277,26 +279,26 @@ expanded if `vc-keep-workfiles' is non-nil, otherwise, delete the workfile."
             (vc-switches 'RCS 'register))
       ;; parse output to find master file name and workfile version
       (with-current-buffer "*vc*"
-        (goto-char (point-min))
-        (let ((name (if (looking-at (concat "^\\(.*\\)  <--  "
-                                            (file-name-nondirectory file)))
-                        (match-string 1))))
-          (if (not name)
-              ;; if we couldn't find the master name,
-              ;; run vc-rcs-registered to get it
-              ;; (will be stored into the vc-name property)
-              (vc-rcs-registered file)
-            (vc-file-setprop file 'vc-name
-                             (if (file-name-absolute-p name)
-                                 name
-                               (expand-file-name
-                                name
-                                (file-name-directory file))))))
-        (vc-file-setprop file 'vc-working-revision
-                         (if (re-search-forward
-                              "^initial revision: \\([0-9.]+\\).*\n"
-                              nil t)
-                             (match-string 1)))))))
+       (goto-char (point-min))
+       (if (not (setq name
+                      (if (looking-at (concat "^\\(.*\\)  <--  "
+                                              (file-name-nondirectory file)))
+                          (match-string 1))))
+           ;; if we couldn't find the master name,
+           ;; run vc-rcs-registered to get it
+           ;; (will be stored into the vc-name property)
+           (vc-rcs-registered file)
+         (vc-file-setprop file 'vc-name
+                          (if (file-name-absolute-p name)
+                              name
+                            (expand-file-name
+                             name
+                             (file-name-directory file))))))
+      (vc-file-setprop file 'vc-working-revision
+                      (if (re-search-forward
+                           "^initial revision: \\([0-9.]+\\).*\n"
+                           nil t)
+                          (match-string 1))))))
 
 (defun vc-rcs-responsible-p (file)
   "Return non-nil if RCS thinks it would be responsible for registering FILE."