Don't skip links to "." and ".." in Dired when marking files
authorEli Zaretskii <eliz@gnu.org>
Thu, 8 Feb 2024 11:51:55 +0000 (13:51 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 8 Feb 2024 11:51:55 +0000 (13:51 +0200)
* lisp/dired.el (dired-mark): Skip "." and "..", but not symlinks
to those two.  (Bug#38729)  (Bug#68814)

lisp/dired.el

index c33569d79a298c9af6318d52a973370ee1f9631c..d9fbafb98c36e339e68cf278e0dfe0e08652d667 100644 (file)
@@ -4110,6 +4110,11 @@ this subdir."
        (prefix-numeric-value arg)
        (lambda ()
          (when (or (not (looking-at-p dired-re-dot))
+                   ;; Don't skip symlinks to ".", "..", etc.
+                   (save-excursion
+                     (re-search-forward
+                      dired-permission-flags-regexp nil t)
+                     (eq (char-after (match-beginning 1)) ?l))
                    (not (equal dired-marker-char dired-del-marker)))
            (delete-char 1)
            (insert dired-marker-char))))))))