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

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

[nongnu] elpa/focus bfb6aaf8ad 57/82: Don't persist focus mode across ma


From: ELPA Syncer
Subject: [nongnu] elpa/focus bfb6aaf8ad 57/82: Don't persist focus mode across major mode change
Date: Tue, 6 Sep 2022 04:58:58 -0400 (EDT)

branch: elpa/focus
commit bfb6aaf8ade6194a2eda551554d11b9f5c5a1858
Author: Lars Tveito <larstvei@ifi.uio.no>
Commit: Lars Tveito <larstvei@ifi.uio.no>

    Don't persist focus mode across major mode change
    
    Addresses #11. Focus mode will no longer make any variables
    `permanent-local'. On major mode change `focus-terminate' is run so that
    the overlays are removed.
---
 focus.el | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/focus.el b/focus.el
index 0bd5a5a95f..6955c27e4c 100644
--- a/focus.el
+++ b/focus.el
@@ -91,19 +91,6 @@ The timer calls `focus-read-only-hide-cursor' after
                focus-read-only-blink-timer))
   (make-local-variable var))
 
-;; Changing major-mode should not affect Focus mode.
-(dolist (var '(focus-current-thing
-               focus-pre-overlay
-               focus-post-overlay
-               focus-mode
-               focus-read-only-mode))
-  (put var 'permanent-local t))
-
-(dolist (var '(focus-read-only-cursor-blink
-               focus-read-only-terminate
-               focus-move-focus))
-  (put var 'permanent-local-hook t))
-
 (defun focus-any (f lst)
   "Apply F to each element of LST and return first NON-NIL."
   (when lst
@@ -169,7 +156,8 @@ adds `focus-move-focus' to `post-command-hook'."
     (let ((color (focus-make-dim-color)))
       (mapc (lambda (o) (overlay-put o 'face (cons 'foreground-color color)))
             (list focus-pre-overlay focus-post-overlay)))
-    (add-hook 'post-command-hook 'focus-move-focus nil t)))
+    (add-hook 'post-command-hook 'focus-move-focus nil t)
+    (add-hook 'change-major-mode-hook 'focus-terminate)))
 
 (defun focus-terminate ()
   "This function is run when command `focus-mode' is disabled.



reply via email to

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