branch: externals/pulsar
commit ff40a936a17818152448c0f544164b9e5945c1c3
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>
Be consistent about pulsing to avoid unwanted static highlights
Thanks to Koloszár Gergely, Mehrad Mahmoudian, and Nikolaos
Bezirgiannis for reporting that the Emacs daemon would produce static
highlights instead of pulsing them in and out of effect. This was done
in issue 32: <https://github.com/protesilaos/pulsar/issues/32>.
I do not know why this was only happening with the Emacs daemon, but
this change is better regardless.
---
README.org | 6 +++---
pulsar.el | 24 +++++++++++++++---------
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/README.org b/README.org
index e0bd6a08de..bef56bd56a 100644
--- a/README.org
+++ b/README.org
@@ -410,9 +410,9 @@ Pulsar is meant to be a collective effort. Every bit of
help matters.
Smith, Maxim Dunaevsky, Ryan Kaskel, shipmints, ukiran03.
+ Ideas and user feedback :: Anwesh Gangula, Diego Alvarez, Duy
- Nguyen, Koloszár Gergely, Matthias Meulien, Mark Barton, Petter
- Storvik, Ronny Randen, Rudolf Adamkovič, Toon Claes, and users djl,
- kb.
+ Nguyen, Koloszár Gergely, Matthias Meulien, Mark Barton, Mehrad
+ Mahmoudian, Nikolaos Bezirgiannis, Petter Storvik, Ronny Randen,
+ Rudolf Adamkovič, Toon Claes, and users djl, kb.
* GNU Free Documentation License
:PROPERTIES:
diff --git a/pulsar.el b/pulsar.el
index d5a6579b42..5c24f43d6e 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -5,7 +5,7 @@
;; Author: Protesilaos Stavrou <[email protected]>
;; Maintainer: Protesilaos Stavrou <[email protected]>
;; URL: https://github.com/protesilaos/pulsar
-;; Version: 1.3.1
+;; Version: 1.3.2
;; Package-Requires: ((emacs "28.1"))
;; Keywords: convenience, pulse, highlight
@@ -387,7 +387,10 @@ extended to the edge of the window."
(defun pulsar--create-pulse (locus face)
"Create a pulse spanning the LOCUS using FACE.
LOCUS is a cons cell with two buffer positions."
- (let ((overlay (make-overlay (car locus) (cdr locus))))
+ (let ((pulse-flag t)
+ (pulse-delay pulsar-delay)
+ (pulse-iterations pulsar-iterations)
+ (overlay (make-overlay (car locus) (cdr locus))))
(overlay-put overlay 'pulse-delete t)
(overlay-put overlay 'window (frame-selected-window))
(pulse-momentary-highlight-overlay overlay face)))
@@ -402,10 +405,7 @@ LOCUS is a cons cell with two buffer positions."
"Create a pulse highlight for the current line.
Also see `pulsar-highlight-pulse'."
(interactive)
- (let ((pulse-delay pulsar-delay)
- (pulse-flag t)
- (pulse-iterations pulsar-iterations))
- (pulsar--create-pulse (pulsar--get-line-boundaries) pulsar-face)))
+ (pulsar--create-pulse (pulsar--get-line-boundaries) pulsar-face))
;;;###autoload
(defun pulsar-highlight-pulse (&optional locus)
@@ -445,8 +445,11 @@ For a permanent highlight, see
`pulsar-highlight-permanently'."
(interactive (list (pulsar--get-line-or-region-boundaries)))
(let ((pulse-flag nil)
(pulse-delay nil)
- (pulse-iterations nil))
- (pulsar--create-pulse locus pulsar-highlight-face)))
+ (pulse-iterations nil)
+ (overlay (make-overlay (car locus) (cdr locus))))
+ (overlay-put overlay 'pulse-delete t)
+ (overlay-put overlay 'window (frame-selected-window))
+ (pulse-momentary-highlight-overlay overlay pulsar-highlight-face)))
;;;###autoload
(defun pulsar-highlight-permanently (locus)
@@ -640,7 +643,10 @@ Changes are defined by BEG, END, LEN:
;; buffer changes; e.g., kill-ring-save.
((or (memq this-command pulsar-pulse-region-functions)
(memq real-this-command pulsar-pulse-region-functions))
- (pulsar--create-pulse (pulsar--get-line-or-region-boundaries)
pulsar-region-face))))
+ (let ((pulse-delay pulsar-delay)
+ (pulse-flag t)
+ (pulse-iterations pulsar-iterations))
+ (pulsar--create-pulse (pulsar--get-line-or-region-boundaries)
pulsar-region-face)))))
;; TODO 2024-11-26: Deprecate this at some point to prefer Emacs core.
(defun pulsar--function-alias-p (func &optional _noerror)