From: Juri Linkov Date: Tue, 8 Feb 2022 19:35:12 +0000 (+0200) Subject: * lisp/replace.el (perform-replace): Allow using isearch in recursive-edit. X-Git-Tag: emacs-29.0.90~2421 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f7d16d93fded6ccdfef3c537c1841b7322010f12;p=emacs.git * 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). --- diff --git a/lisp/replace.el b/lisp/replace.el index 23e6483809c..06be5978554 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))