|
From: | Stefan Monnier |
Subject: | bug#49963: 28.0.50; isearch failing in Dired after rectangle-mark-mode and query-replace |
Date: | Tue, 10 Aug 2021 10:30:54 -0400 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> (add-function :after-while (local 'isearch-filter-predicate) > (lambda (&rest _) 'filter-local)) > > (let ((isearch-filter-predicate isearch-filter-predicate)) > (add-function :after-while isearch-filter-predicate > (lambda (&rest _) 'filter-letbound))) > > C-h v isearch-filter-predicate: > > Value: > #f(advice-wrapper :after-while #f(compiled-function > (&rest args) > #<bytecode -0x1d2ab1d0859aebb6>) > (closure > (t) > (&rest _) > 'filter-local)) > Local in buffer *scratch*; global value is > #f(advice-wrapper :after-while isearch-filter-visible > (closure > (t) > (&rest _) > 'filter-letbound)) > > Let-binding was supposed to protect from changing the global value, But it doesn't, does it? So don't use `let`. Instead use `remove-function` with `unwind-protect`. Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |