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

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

[elpa] master 0c75f1d 8/8: Merge commit 'b56ef781d5a712fd06378f78eb9551a


From: Artur Malabarba
Subject: [elpa] master 0c75f1d 8/8: Merge commit 'b56ef781d5a712fd06378f78eb9551ab9269bb2e'
Date: Tue, 20 Oct 2015 21:04:10 +0000

branch: master
commit 0c75f1dc52104b21f550aa5009f70b789931bf18
Merge: 54a75e6 b56ef78
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    Merge commit 'b56ef781d5a712fd06378f78eb9551ab9269bb2e'
---
 packages/beacon/beacon.el |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/packages/beacon/beacon.el b/packages/beacon/beacon.el
index 66853ca..777e809 100644
--- a/packages/beacon/beacon.el
+++ b/packages/beacon/beacon.el
@@ -271,11 +271,18 @@ If DELTA is nil, return nil."
        (markerp beacon--previous-place)
        (equal (marker-buffer beacon--previous-place)
               (current-buffer))
+       ;; Quick check that prevents running the code below in very
+       ;; short movements (like typing).
        (> (abs (- (point) beacon--previous-place))
           delta)
-       (> (count-screen-lines (min (point) beacon--previous-place)
-                              (max (point) beacon--previous-place))
-          delta)))
+       ;; Check if the movement was >= DELTA lines by moving DELTA
+       ;; lines. `count-screen-lines' is too slow if the movement had
+       ;; thousands of lines.
+       (save-excursion
+         (goto-char (min beacon--previous-place (point)))
+         (vertical-motion delta)
+         (> (max (point) beacon--previous-place)
+            (line-beginning-position)))))
 
 (defun beacon--maybe-push-mark ()
   "Push mark if it seems to be safe."
@@ -343,11 +350,17 @@ unreliable, so just blink immediately."
   (if beacon-mode
       (progn
         (add-hook 'window-scroll-functions #'beacon--window-scroll-function)
+        (add-hook 'focus-in-hook #'beacon-blink)
         (add-hook 'post-command-hook #'beacon--post-command)
         (add-hook 'pre-command-hook #'beacon--vanish))
+    (remove-hook 'focus-in-hook #'beacon-blink)
     (remove-hook 'window-scroll-functions #'beacon--window-scroll-function)
     (remove-hook 'post-command-hook #'beacon--post-command)
     (remove-hook 'pre-command-hook #'beacon--vanish)))
 
 (provide 'beacon)
 ;;; beacon.el ends here
+
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:



reply via email to

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