emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/el-search e9c3ed5 032/332: fix el-search-hl-post-comman


From: Stefan Monnier
Subject: [elpa] externals/el-search e9c3ed5 032/332: fix el-search-hl-post-command-fun auto-removal
Date: Tue, 1 Dec 2020 15:48:05 -0500 (EST)

branch: externals/el-search
commit e9c3ed51f0b515c879ca5d1c2b91789757e5908e
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>

    fix el-search-hl-post-command-fun auto-removal
---
 el-search.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/el-search.el b/el-search.el
index d51f61b..e7786c1 100644
--- a/el-search.el
+++ b/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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]