summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog1
-rw-r--r--lisp/vc/vc.el5
2 files changed, 5 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index effb2a3038a..4ff65b16c6d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,6 +1,7 @@
2011-03-07 Glenn Morris <rgm@gnu.org>
* vc/vc.el (vc-next-action): Add missing space to y-or-n-p prompt.
+ Give an explicit error if failed to make writable. (Bug#6146)
2011-03-07 Ed Reingold <reingold@emr.cs.iit.edu>
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 2fb397ed6f8..7f55ffdbdad 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1117,7 +1117,10 @@ merge in the changes into your working copy."
;; 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"))
- (set-file-modes file (logior (file-modes file) 128))
+ ;; Maybe we somehow lost permissions on the directory.
+ (condition-case nil
+ (set-file-modes file (logior (file-modes file) 128))
+ (error (error "Unable to make file writable")))
(let ((visited (get-file-buffer file)))
(when visited
(with-current-buffer visited