summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2024-07-05 13:58:11 +0300
committerEli Zaretskii <eliz@gnu.org>2024-07-05 13:58:11 +0300
commitd190cb0e886f3d748ddbb8bf915c19149d00c0c4 (patch)
tree31ea1e9901be80a2e365f27a910c94d33caafe8a
parent334d51322072caea8283f3735864bb83afeaabce (diff)
Fix file-name detection in Dired under -F
* lisp/files.el (insert-directory-clean): Support all the symbols appended to file names by the -F/--classify option of 'ls'. See https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html for the details.
-rw-r--r--lisp/files.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/files.el b/lisp/files.el
index 042b8e2d515..c518273bd29 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -8087,8 +8087,8 @@ Valid wildcards are `*', `?', `[abc]' and `[a-z]'."
(end (insert-directory-adj-pos
(+ beg (read (current-buffer)))
error-lines)))
- (if (memq (char-after end) '(?\n ?\s))
- ;; End is followed by \n or by " -> ".
+ (if (memq (char-after end) '(?\n ?\s ?/ ?* ?@ ?% ?= ?|))
+ ;; End is followed by \n or by output of -F.
(put-text-property start end 'dired-filename t)
;; It seems that we can't trust ls's output as to
;; byte positions of filenames.