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

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

[nongnu] elpa/symbol-overlay 4f60487e45 124/152: Add new variable symbol


From: ELPA Syncer
Subject: [nongnu] elpa/symbol-overlay 4f60487e45 124/152: Add new variable symbol-overlay-inhibit-map
Date: Thu, 7 Jul 2022 12:04:21 -0400 (EDT)

branch: elpa/symbol-overlay
commit 4f60487e456ed44e722db99455d2f3aaa86cd2d4
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    Add new variable symbol-overlay-inhibit-map
    
    When this is non-nil, then the highlighting overlays don't
    use `symbol-overlay-map'.
    
    This is intended for buffers/modes that use the keymap text
    property for their own purposes.  Because this package uses
    overlays it would always override the text property keymaps
    of such packages.
---
 symbol-overlay.el | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index f6eaff1143..9b8391b95b 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -173,6 +173,13 @@ definitions to prevent a language's keywords from getting 
highlighted."
 
 ;;; Internal
 
+(defvar-local symbol-overlay-inhibit-map nil
+  "When non-nil, don't use `symbol-overlay-map'.
+This is intended for buffers/modes that use the keymap text
+property for their own purposes.  Because this package uses
+overlays it would always override the text property keymaps
+of such packages.")
+
 (defvar symbol-overlay-map
   (let ((map (make-sparse-keymap)))
     (define-key map (kbd "i") 'symbol-overlay-put)
@@ -338,7 +345,8 @@ If FACE is non-nil, use it as the overlay’s face.
 Otherwise apply `symbol-overlay-default-face'."
   (let ((ov (make-overlay (match-beginning 0) (match-end 0))))
     (if face (progn (overlay-put ov 'face face)
-                    (overlay-put ov 'keymap symbol-overlay-map)
+                    (unless symbol-overlay-inhibit-map
+                      (overlay-put ov 'keymap symbol-overlay-map))
                     (overlay-put ov 'evaporate t)
                     (overlay-put ov 'symbol symbol))
       (overlay-put ov 'face 'symbol-overlay-default-face)



reply via email to

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