]> code.delx.au - gnu-emacs-elpa/commitdiff
new option: on-screen-remove-when-edit, decrease overlay priority
authorMichael Heerdegen <michael_heerdegen@web.de>
Wed, 9 Oct 2013 00:25:46 +0000 (02:25 +0200)
committerMichael Heerdegen <michael_heerdegen@web.de>
Wed, 9 Oct 2013 00:32:14 +0000 (02:32 +0200)
- Make overlay removing when changing a buffer customizable (new option
  `on-screen-remove-when-edit').  Off by default (previously, the
  feature was always enabled).

- Radically decreased on-screen-overlay-priority (to 30).  It should be
  less than isearch and ediff overlay priorities, but still larger than
  e.g. stripe-buffer overlay priority.

on-screen.el

index 898829d19774a27701f0f32b3486389562465ed6..7f74c77b9c5b4197f3acba90b37e677fd60bd0ee 100644 (file)
@@ -209,6 +209,10 @@ drawn highlighting will remain fixed relative to the text even
 if you scroll further until `on-screen-delay' is over."
   :group 'on-screen :type 'boolean)
 
+(defcustom on-screen-remove-when-edit nil
+  "Whether to instantly remove highlighting when editing."
+  :group 'on-screen :type 'boolean)
+
 (defcustom on-screen-treat-cut-lines nil
   "Whether to care about vertically cut lines.
 If nil, always count lines at the window start or end that are
@@ -223,7 +227,7 @@ a non-nil value may make scrolling stuttering on slow computers."
 
 ;;; Other variables
 
-(defvar on-screen-overlay-priority 9999
+(defvar on-screen-overlay-priority 30     ; > stripe buffer, < ediff, isearch
   "Priority for all on-screen overlays.")
 
 (defvar on-screen-initialized-p nil
@@ -559,11 +563,12 @@ had changed."
   "Reset highligting for current buffer after it was changed.
 This has to be done for all its windows.  Goes to
 `after-change-functions'."
-  (let ((buf (current-buffer)))
-    (when (on-screen-enabled-p buf)
-      (dolist (win (on-screen-get-windows t))
-        (when (eq (window-buffer win) buf)
-          (on-screen-remove-highlighting win))))))
+  (when on-screen-remove-when-edit
+    (let ((buf (current-buffer)))
+      (when (on-screen-enabled-p buf)
+       (dolist (win (on-screen-get-windows t))
+         (when (eq (window-buffer win) buf)
+           (on-screen-remove-highlighting win)))))))
 
 (defun on-screen-after-wconf-change ()
   "Clean up after the window configuration has changed.