From 18683a681c1ffd1e4665d68c5cef3e8b6349fc76 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Tue, 20 Oct 2015 16:27:14 +0200 Subject: [PATCH] fix el-search-hl-post-command-fun auto-removal --- packages/el-search/el-search.el | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el index d51f61bba..e7786c158 100644 --- a/packages/el-search/el-search.el +++ b/packages/el-search/el-search.el @@ -402,21 +402,22 @@ return nil (no error)." (apply #'move-overlay el-search-hl-overlay bounds) (overlay-put (setq el-search-hl-overlay (apply #'make-overlay bounds)) 'face 'el-search-match))) - (add-hook 'post-command-hook (el-search-hl-post-command-fun (current-buffer)) t)) + (add-hook 'post-command-hook (el-search-hl-post-command-fun (current-buffer)) t t)) (defun el-search-hl-remove () (when (overlayp el-search-hl-overlay) (delete-overlay el-search-hl-overlay))) (defun el-search-hl-post-command-fun (buf) - (lambda () - (when (buffer-live-p buf) - (unless (or el-search-keep-hl - (eq this-command 'el-search-query-replace) - (eq this-command 'el-search-pattern)) - (with-current-buffer buf - (el-search-hl-remove) - (remove-hook 'post-command-hook #'el-search-hl-post-command-fun t)))))) + (letrec ((fun (lambda () + (when (buffer-live-p buf) + (unless (or el-search-keep-hl + (eq this-command 'el-search-query-replace) + (eq this-command 'el-search-pattern)) + (with-current-buffer buf + (el-search-hl-remove) + (remove-hook 'post-command-hook fun t))))))) + fun)) ;;;; Core functions -- 2.39.2