[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 2b3f3d421a: Make minibuffer lazy highlight setup buffer-local
From: |
Augusto Stoffel |
Subject: |
Re: master 2b3f3d421a: Make minibuffer lazy highlight setup buffer-local where appropriate |
Date: |
Sun, 15 May 2022 23:10:03 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1.50 (gnu/linux) |
On Sun, 15 May 2022 at 16:16, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> (when filter
>> + (make-local-variable 'isearch-filter-predicate)
>> (add-function :after-while isearch-filter-predicate filter))
>
> `add-function` is modeled after `add-hook`, so the above
> `make-local-variable` would be better replaced with
>
> (add-function :after-while (local 'isearch-filter-predicate) filter)
>
> [ Of course, that's pure theory. You'd better test it first. ]
Yes, I guess that's the right way to approach this. The attached patch
implements it.
0001-Fix-last-change-in-minibuffer-lazy-highlight-setup.patch
Description: Text Data
Now, I had tried it earlier and noticed something looked fishy. Now I
can reproduce the problem:
1. With an active region, call C-M-%
2. Switch from the minibuffer back to the original buffer
3. Call keyboard-escape-quit (maybe twice) to quit the minibuffer
prompt.
Then the buffer-local value of `isearch-filter-predicate' is not cleaned
up. Is it by any chance intentional that minibuffer-exit-hook doesn't
run in this case?