[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 755fa34: Fix wdired handling of symlinks when resto
From: |
Stephen Berman |
Subject: |
[Emacs-diffs] master 755fa34: Fix wdired handling of symlinks when restoring filename property |
Date: |
Thu, 13 Sep 2018 16:19:29 -0400 (EDT) |
branch: master
commit 755fa346eba212b4650c8541023bb78e1658d77b
Author: Stephen Berman <address@hidden>
Commit: Stephen Berman <address@hidden>
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).
---
lisp/wdired.el | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/lisp/wdired.el b/lisp/wdired.el
index be0bde2..3157e88 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -607,15 +607,22 @@ Optional arguments are ignored."
(defun wdired--restore-dired-filename-prop (beg end _len)
(save-match-data
(save-excursion
- (beginning-of-line)
- (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))
- (line-end-position)))
- (put-text-property beg end 'dired-filename t)))))
+ (let ((lep (line-end-position)))
+ (beginning-of-line)
+ (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))
+ lep))
+ (put-text-property beg end 'dired-filename t))))))
(defun wdired-next-line (arg)
"Move down lines then position at filename or the current column.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 755fa34: Fix wdired handling of symlinks when restoring filename property,
Stephen Berman <=