emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master f7d16d93fd: * lisp/replace.el (perform-replace): Allow using isea


From: Juri Linkov
Subject: master f7d16d93fd: * lisp/replace.el (perform-replace): Allow using isearch in recursive-edit.
Date: Tue, 8 Feb 2022 14:35:38 -0500 (EST)

branch: master
commit f7d16d93fded6ccdfef3c537c1841b7322010f12
Author: Juri Linkov <juri@linkov.net>
Commit: Juri Linkov <juri@linkov.net>

    * lisp/replace.el (perform-replace): Allow using isearch in recursive-edit.
    
    Let-bind isearch-filter-predicate to the default value before calling
    recursive-edit to allow using isearch in a recursive edit (bug#53758).
---
 lisp/replace.el | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lisp/replace.el b/lisp/replace.el
index 23e6483809..06be597855 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -3233,7 +3233,13 @@ characters."
                               (last-command 'recenter-top-bottom))
                           (recenter-top-bottom)))
                        ((eq def 'edit)
-                        (let ((opos (point-marker)))
+                        (let ((opos (point-marker))
+                              ;; Restore original isearch filter to allow
+                              ;; using isearch in a recursive edit even
+                              ;; when perform-replace was started from
+                              ;; `xref--query-replace-1' that let-binds
+                              ;; `isearch-filter-predicate' (bug#53758).
+                              (isearch-filter-predicate 
#'isearch-filter-visible))
                           (setq real-match-data (replace-match-data
                                                  nil real-match-data
                                                  real-match-data))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]