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

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

[elpa] master 18683a6 09/22: fix el-search-hl-post-command-fun auto-remo


From: Michael Heerdegen
Subject: [elpa] master 18683a6 09/22: fix el-search-hl-post-command-fun auto-removal
Date: Sat, 31 Oct 2015 18:41:37 +0000

branch: master
commit 18683a681c1ffd1e4665d68c5cef3e8b6349fc76
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

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

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



reply via email to

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