summaryrefslogtreecommitdiff
path: root/lisp/dired-aux.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-09-24 15:27:50 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-09-24 15:27:50 +0200
commit2bacd9115f15111a2b229ea21776bab2fd5839b1 (patch)
treefb7af240380d86da0082ba85d285f07adc8d7b97 /lisp/dired-aux.el
parent8dacd8cd914fdbe0f6f17ca57915611d48e9124d (diff)
downloademacs-2bacd9115f15111a2b229ea21776bab2fd5839b1.tar.gz
Make dired-do-rename refuse to rename . and ..
* lisp/dired-aux.el (dired-do-rename): Refuse to rename . and .. (bug#52004). This used to error out after renaming.
Diffstat (limited to 'lisp/dired-aux.el')
-rw-r--r--lisp/dired-aux.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index f870494e93e..9add96c2608 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -2880,6 +2880,10 @@ of `dired-dwim-target', which see.
Also see `dired-do-revert-buffer'."
(interactive "P")
+ (when (seq-find (lambda (file)
+ (member (file-name-nondirectory file) '("." "..")))
+ (dired-get-marked-files nil arg))
+ (user-error "Can't rename \".\" or \"..\" files"))
(dired-do-create-files 'move #'dired-rename-file
"Move" arg dired-keep-marker-rename "Rename"))