GNU bug report logs - #39821
27.0.60; lisp/cedet/pulse.el destroys pulsed overlay priorities

Previous Next

Package: emacs;

Reported by: João Távora <joaotavora <at> gmail.com>

Date: Fri, 28 Feb 2020 13:39:02 UTC

Severity: normal

Tags: fixed, patch

Found in version 27.0.60

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: João Távora <joaotavora <at> gmail.com>
To: 39821 <at> debbugs.gnu.org
Subject: bug#39821: 27.0.60; lisp/cedet/pulse.el destroys pulsed overlay priorities
Date: Fri, 28 Feb 2020 13:38:17 +0000
[Message part 1 (text/plain, inline)]
Hi,

The bug is easy to reproduce, just make an overlay somewhere, "pulse" it
with pulse-momentary-highlight-overlay, and watch its previous 'priorty
value get destroyed.  The patch attached inline fixes the issue, it
restores the priority just like it does the face.  I'll push it as soon
as there is approval, or in a few days if there are no objections.

João

Subject: [PATCH] Have pulse.el save and restore overlay priorities

* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
overlay priority.
(pulse-momentary-unhighlight): Restore.
---
 lisp/cedet/pulse.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el
index 5713a7b0d1..16243e16b4 100644
--- a/lisp/cedet/pulse.el
+++ b/lisp/cedet/pulse.el
@@ -181,6 +181,7 @@ pulse-momentary-highlight-overlay
   (overlay-put o 'original-face (overlay-get o 'face))
   ;; Make this overlay take priority over the `transient-mark-mode'
   ;; overlay.
+  (overlay-put o 'original-priority (overlay-get o 'priority))
   (overlay-put o 'priority 1)
   (setq pulse-momentary-overlay o)
   (if (eq pulse-flag 'never)
@@ -214,6 +215,7 @@ pulse-momentary-unhighlight
     (let ((ol pulse-momentary-overlay))
       (overlay-put ol 'face (overlay-get ol 'original-face))
       (overlay-put ol 'original-face nil)
+      (overlay-put ol 'priority (overlay-get ol 'original-priority))
       ;; Clear the overlay if it needs deleting.
       (when (overlay-get ol 'pulse-delete) (delete-overlay ol)))

-- 
2.20.1
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.