* 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).
This commit is contained in:
Juri Linkov 2022-02-08 21:35:12 +02:00
parent 8bc4004519
commit f7d16d93fd

View file

@ -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))