From f7d16d93fded6ccdfef3c537c1841b7322010f12 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Tue, 8 Feb 2022 21:35:12 +0200 Subject: [PATCH] * 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 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)) -- 2.39.5