Commit 755fa346 authored by Stephen Berman's avatar Stephen Berman
Browse files

Fix wdired handling of symlinks when restoring filename property

* lisp/wdired.el (wdired--restore-dired-filename-prop): Use
dired-permission-flags-regexp instead of dired-filename to test
whether the file is a symlink, since calling file-symlink-p on the
latter may fail in wdired-mode (bug#32673).
parent f066999b
......@@ -607,15 +607,22 @@ Optional arguments are ignored."
(defun wdired--restore-dired-filename-prop (beg end _len)
(when (re-search-forward directory-listing-before-filename-regexp
(line-end-position) t)
(setq beg (point)
end (if (and (file-symlink-p (dired-get-filename))
(search-forward " -> " (line-end-position) t))
(goto-char (match-beginning 0))
(put-text-property beg end 'dired-filename t)))))
(let ((lep (line-end-position)))
(when (re-search-forward
directory-listing-before-filename-regexp lep t)
(setq beg (point)
;; If the file is a symlink, put the dired-filename
;; property only on the link name. (Using
;; (file-symlink-p (dired-get-filename)) fails in
;; wdired-mode, bug#32673.)
end (if (and (re-search-backward
dired-permission-flags-regexp nil t)
(looking-at "l")
(search-forward " -> " lep t))
(goto-char (match-beginning 0))
(put-text-property beg end 'dired-filename t))))))
(defun wdired-next-line (arg)
"Move down lines then position at filename or the current column.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment