* lisp/vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781)
authorGlenn Morris <rgm@gnu.org>
Thu, 20 Oct 2011 21:01:45 +0000 (17:01 -0400)
committerGlenn Morris <rgm@gnu.org>
Thu, 20 Oct 2011 21:01:45 +0000 (17:01 -0400)
lisp/ChangeLog
lisp/vc/vc.el

index 448b07e..e18fdae 100644 (file)
@@ -1,3 +1,7 @@
+2011-10-20  Glenn Morris  <rgm@gnu.org>
+
+       * vc/vc.el (vc-next-action): Handle removed directories. (Bug#9781)
+
 2011-10-20  Christoph Scholtes  <cschol2112@googlemail.com>
 
        * emulation/cua-base.el (cua-set-mark): Fix case of string.
index cdc4f15..9095851 100644 (file)
@@ -1120,9 +1120,13 @@ merge in the changes into your working copy."
      ;; Files have local changes
      ((vc-compatible-state state 'edited)
       (let ((ready-for-commit files))
-       ;; If files are edited but read-only, give user a chance to correct
+       ;; If files are edited but read-only, give user a chance to correct.
        (dolist (file files)
-         (unless (file-writable-p file)
+         ;; If committing a mix of removed and edited files, the
+         ;; fileset has state = 'edited.  Rather than checking the
+         ;; state of each individual file in the fileset, it seems
+         ;; simplest to just check if the file exists.  Bug#9781.
+         (when (and (file-exists-p file) (not (file-writable-p file)))
            ;; Make the file+buffer read-write.
            (unless (y-or-n-p (format "%s is edited but read-only; make it writable and continue? " file))
              (error "Aborted"))