summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAugusto Stoffel <arstoffel@gmail.com>2022-05-15 22:48:50 +0200
committerJuri Linkov <juri@linkov.net>2022-05-18 21:55:34 +0300
commite55b4074af27ff0840a90baea6fc9aecd28fbbc8 (patch)
tree74446f9f636e34ea90490e4e064bd14b012f615e
parentb1620a44ff201966c9900a116a640597093e6030 (diff)
downloademacs-e55b4074af27ff0840a90baea6fc9aecd28fbbc8.tar.gz
emacs-e55b4074af27ff0840a90baea6fc9aecd28fbbc8.tar.bz2
emacs-e55b4074af27ff0840a90baea6fc9aecd28fbbc8.zip
Fix last change in minibuffer-lazy-highlight-setup
* lisp/isearch.el (minibuffer-lazy-highlight-setup): Apply advices buffer-locally.
-rw-r--r--lisp/isearch.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 3e1dab4d15d..31fbdf01bf2 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -4410,14 +4410,17 @@ LAX-WHITESPACE: The value of `isearch-lax-whitespace' and
(let ((unwind (make-symbol "minibuffer-lazy-highlight--unwind"))
(after-change (make-symbol "minibuffer-lazy-highlight--after-change"))
(display-count (make-symbol "minibuffer-lazy-highlight--display-count"))
+ (buffer (current-buffer))
overlay)
(fset unwind
(lambda ()
- (remove-function isearch-filter-predicate filter)
+ (when filter
+ (with-current-buffer buffer
+ (remove-function (local 'isearch-filter-predicate) filter)))
(remove-hook 'lazy-count-update-hook display-count)
(when overlay (delete-overlay overlay))
- (remove-hook 'after-change-functions after-change)
- (remove-hook 'minibuffer-exit-hook unwind)
+ (remove-hook 'after-change-functions after-change t)
+ (remove-hook 'minibuffer-exit-hook unwind t)
(let ((lazy-highlight-cleanup cleanup))
(lazy-highlight-cleanup))))
(fset after-change
@@ -4447,8 +4450,8 @@ LAX-WHITESPACE: The value of `isearch-lax-whitespace' and
(setq overlay (make-overlay (point-min) (point-min) (current-buffer) t))
(add-hook 'lazy-count-update-hook display-count))
(when filter
- (make-local-variable 'isearch-filter-predicate)
- (add-function :after-while isearch-filter-predicate filter))
+ (with-current-buffer buffer
+ (add-function :after-while (local 'isearch-filter-predicate) filter)))
(funcall after-change nil nil nil)))))