summaryrefslogtreecommitdiff
path: root/lisp/dired.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-12-13 14:17:55 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2020-12-13 14:17:55 +0100
commitf7133be7ae4eda5b3688728f19cac39de7e862a3 (patch)
tree36cc24acc7dadf9c68efcac2b5da3e1060f77288 /lisp/dired.el
parent1c115e404e38d04b179a00c2ed1bbd48ff070984 (diff)
downloademacs-f7133be7ae4eda5b3688728f19cac39de7e862a3.tar.gz
Make dired-toggle-read-only query on read-only directories
* lisp/dired.el (dired-toggle-read-only): Query instead of erroring out immediately (bug#29412).
Diffstat (limited to 'lisp/dired.el')
-rw-r--r--lisp/dired.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index baf99da7b48..c68c4a52bd4 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2419,8 +2419,10 @@ If the current buffer can be edited with Wdired, (i.e. the major
mode is `dired-mode'), call `wdired-change-to-wdired-mode'.
Otherwise, toggle `read-only-mode'."
(interactive)
- (unless (file-writable-p default-directory)
- (user-error "Directory %s isn't writeable" default-directory))
+ (when (and (not (file-writable-p default-directory))
+ (not (y-or-n-p
+ "Directory isn't writable; edit anyway? ")))
+ (user-error "Directory %s isn't writable" default-directory))
(if (derived-mode-p 'dired-mode)
(wdired-change-to-wdired-mode)
(read-only-mode 'toggle)))