From 57cc2e94f724d11838f4a90827a26ea187bae675 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Fri, 23 Apr 2021 19:52:22 +0300 Subject: [PATCH] * lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data. Suggested by Michael Heerdegen (bug#14013) --- lisp/wdired.el | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lisp/wdired.el b/lisp/wdired.el index 05b0a0cfb2b..35211bcf86b 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el @@ -295,27 +295,28 @@ or \\[wdired-abort-changes] to abort changes"))) (put 'wdired--self-insert 'delete-selection 'delete-selection-uses-region-p) (defun wdired--before-change-fn (beg end) - (save-excursion - ;; Make sure to process entire lines. - (goto-char end) - (setq end (line-end-position)) - (goto-char beg) - (forward-line 0) - - (while (< (point) end) - (unless (wdired--line-preprocessed-p) + (save-match-data + (save-excursion + ;; Make sure to process entire lines. + (goto-char end) + (setq end (line-end-position)) + (goto-char beg) + (forward-line 0) + + (while (< (point) end) + (unless (wdired--line-preprocessed-p) + (with-silent-modifications + (put-text-property (point) (1+ (point)) 'front-sticky t) + (wdired--preprocess-files) + (when wdired-allow-to-change-permissions + (wdired--preprocess-perms)) + (when (fboundp 'make-symbolic-link) + (wdired--preprocess-symlinks)))) + (forward-line)) + (when (eobp) (with-silent-modifications - (put-text-property (point) (1+ (point)) 'front-sticky t) - (wdired--preprocess-files) - (when wdired-allow-to-change-permissions - (wdired--preprocess-perms)) - (when (fboundp 'make-symbolic-link) - (wdired--preprocess-symlinks)))) - (forward-line)) - (when (eobp) - (with-silent-modifications - ;; Is this good enough? Assumes no extra white lines from dired. - (put-text-property (1- (point-max)) (point-max) 'read-only t))))) + ;; Is this good enough? Assumes no extra white lines from dired. + (put-text-property (1- (point-max)) (point-max) 'read-only t)))))) (defun wdired-isearch-filter-read-only (beg end) "Skip matches that have a read-only property." -- 2.39.2