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

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

[elpa] externals/aggressive-indent cc8da01 20/43: Make the idle timer no


From: Stefan Monnier
Subject: [elpa] externals/aggressive-indent cc8da01 20/43: Make the idle timer not be buffer local
Date: Wed, 7 Jul 2021 22:49:42 -0400 (EDT)

branch: externals/aggressive-indent
commit cc8da01e32684e1b75d2901400e6723b2c2d42f8
Author: Artur Malabarba <artur@endlessparentheses.com>
Commit: Artur Malabarba <artur@endlessparentheses.com>

    Make the idle timer not be buffer local
    
    Desperate attempt to resolve #112
---
 aggressive-indent.el | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/aggressive-indent.el b/aggressive-indent.el
index 5042f6f..da21bfe 100644
--- a/aggressive-indent.el
+++ b/aggressive-indent.el
@@ -412,7 +412,7 @@ If you feel aggressive-indent is causing Emacs to hang while
 typing, try tweaking this number."
   :type 'float)
 
-(defvar-local aggressive-indent--idle-timer nil
+(defvar aggressive-indent--idle-timer nil
   "Idle timer used for indentation")
 
 (defun aggressive-indent--indent-if-changed ()
@@ -421,18 +421,15 @@ typing, try tweaking this number."
     (save-excursion
       (save-selected-window
         (while-no-input
-          (aggressive-indent--proccess-changed-list-and-indent))))
-    (when (timerp aggressive-indent--idle-timer)
-      (cancel-timer aggressive-indent--idle-timer))))
+          (aggressive-indent--proccess-changed-list-and-indent))))))
 
 (defun aggressive-indent--keep-track-of-changes (l r &rest _)
   "Store the limits (L and R) of each change in the buffer."
   (when aggressive-indent-mode
     (push (list l r) aggressive-indent--changed-list)
-    (when (timerp aggressive-indent--idle-timer)
-      (cancel-timer aggressive-indent--idle-timer))
-    (setq aggressive-indent--idle-timer
-          (run-with-idle-timer aggressive-indent-sit-for-time t 
#'aggressive-indent--indent-if-changed))))
+    (unless (timerp aggressive-indent--idle-timer)
+      (setq aggressive-indent--idle-timer
+            (run-with-idle-timer aggressive-indent-sit-for-time t 
#'aggressive-indent--indent-if-changed)))))
 
 ;;; Minor modes
 ;;;###autoload
@@ -465,7 +462,8 @@ typing, try tweaking this number."
         (add-hook 'before-save-hook 
#'aggressive-indent--proccess-changed-list-and-indent nil 'local))
     ;; Clean the hooks
     (when (timerp aggressive-indent--idle-timer)
-      (cancel-timer aggressive-indent--idle-timer))
+      (cancel-timer aggressive-indent--idle-timer)
+      (setq aggressive-indent--idle-timer nil))
     (remove-hook 'after-change-functions 
#'aggressive-indent--keep-track-of-changes 'local)
     (remove-hook 'before-save-hook 
#'aggressive-indent--proccess-changed-list-and-indent 'local)
     (remove-hook 'post-command-hook #'aggressive-indent--softly-indent-defun 
'local)))



reply via email to

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