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

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

[elpa] externals/aggressive-indent b0ec004 41/43: Merge pull request #13


From: Stefan Monnier
Subject: [elpa] externals/aggressive-indent b0ec004 41/43: Merge pull request #139 from purcell/always-kill-timer
Date: Wed, 7 Jul 2021 22:49:46 -0400 (EDT)

branch: externals/aggressive-indent
commit b0ec0047aaae071ad1647159613166a253410a63
Merge: 12a64b4 986df07
Author: Artur Malabarba <artur@endlessparentheses.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #139 from purcell/always-kill-timer
    
    Always kill timer
---
 aggressive-indent.el | 37 +++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 20 deletions(-)

diff --git a/aggressive-indent.el b/aggressive-indent.el
index 3622a76..b32b587 100644
--- a/aggressive-indent.el
+++ b/aggressive-indent.el
@@ -5,7 +5,7 @@
 ;; Author: Artur Malabarba <emacs@endlessparentheses.com>
 ;; URL: https://github.com/Malabarba/aggressive-indent-mode
 ;; Version: 1.8.4
-;; Package-Requires: ((emacs "24.1") (cl-lib "0.5"))
+;; Package-Requires: ((emacs "24.3"))
 ;; Keywords: indent lisp maint tools
 ;; Prefix: aggressive-indent
 ;; Separator: -
@@ -390,7 +390,7 @@ or messages."
   "List of (left right) limit of regions changed in the last command loop.")
 (make-variable-buffer-local 'aggressive-indent--changed-list)
 
-(defun aggressive-indent--proccess-changed-list-and-indent ()
+(defun aggressive-indent--process-changed-list-and-indent ()
   "Indent the regions in `aggressive-indent--changed-list'."
   (unless (or (run-hook-wrapped 'aggressive-indent--internal-dont-indent-if 
#'eval)
               (aggressive-indent--run-user-hooks))
@@ -459,34 +459,32 @@ If BODY finishes, `while-no-input' returns whatever value 
BODY produced."
              nil)
             (t val)))))))
 
+(defun aggressive-indent--maybe-cancel-timer ()
+  "Cancel and remove the timer if it is set."
+  (when (timerp aggressive-indent--idle-timer)
+    (cancel-timer aggressive-indent--idle-timer)
+    (setq aggressive-indent--idle-timer nil)))
+
 (defun aggressive-indent--indent-if-changed (buffer)
   "Indent any region that changed in BUFFER in the last command loop."
   (if (not (buffer-live-p buffer))
-      (cancel-timer aggressive-indent--idle-timer)
+      (aggressive-indent--maybe-cancel-timer)
     (with-current-buffer buffer
       (when (and aggressive-indent-mode aggressive-indent--changed-list)
         (save-excursion
           (save-selected-window
             (aggressive-indent--while-no-input
-              (aggressive-indent--proccess-changed-list-and-indent))))
-        (when (timerp aggressive-indent--idle-timer)
-          (cancel-timer aggressive-indent--idle-timer))))))
+              (aggressive-indent--process-changed-list-and-indent))))
+        (aggressive-indent--maybe-cancel-timer)))))
 
 (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))
+    (aggressive-indent--maybe-cancel-timer)
     (setq aggressive-indent--idle-timer
           (run-with-idle-timer aggressive-indent-sit-for-time t 
#'aggressive-indent--indent-if-changed (current-buffer)))))
 
-(defun aggressive-indent--on-buffer-kill ()
-  "Cancel the timer before buffer is killed"
-  (when (timerp aggressive-indent--idle-timer)
-    (cancel-timer aggressive-indent--idle-timer)
-    (setq aggressive-indent--idle-timer nil)))
-
 ;;; Minor modes
 ;;;###autoload
 (define-minor-mode aggressive-indent-mode
@@ -516,16 +514,15 @@ If BODY finishes, `while-no-input' returns whatever value 
BODY produced."
           (aggressive-indent--local-electric t))
         (add-hook 'after-change-functions 
#'aggressive-indent--keep-track-of-changes nil 'local)
         (add-hook 'after-revert-hook #'aggressive-indent--clear-change-list 
nil 'local)
-        (add-hook 'before-save-hook 
#'aggressive-indent--proccess-changed-list-and-indent nil 'local)
-        (add-hook 'kill-buffer-hook #'aggressive-indent--on-buffer-kill nil 
'local))
+        (add-hook 'before-save-hook 
#'aggressive-indent--process-changed-list-and-indent nil 'local)
+        (add-hook 'kill-buffer-hook #'aggressive-indent--maybe-cancel-timer 
nil 'local))
     ;; Clean the hooks
-    (when (timerp aggressive-indent--idle-timer)
-      (cancel-timer aggressive-indent--idle-timer))
+    (aggressive-indent--maybe-cancel-timer)
     (remove-hook 'after-change-functions 
#'aggressive-indent--keep-track-of-changes 'local)
     (remove-hook 'after-revert-hook #'aggressive-indent--clear-change-list 
'local)
-    (remove-hook 'before-save-hook 
#'aggressive-indent--proccess-changed-list-and-indent 'local)
+    (remove-hook 'before-save-hook 
#'aggressive-indent--process-changed-list-and-indent 'local)
     (remove-hook 'post-command-hook #'aggressive-indent--softly-indent-defun 
'local)
-    (remove-hook 'kill-buffer-hook #'aggressive-indent--on-buffer-kill 
'local)))
+    (remove-hook 'kill-buffer-hook #'aggressive-indent--maybe-cancel-timer 
'local)))
 
 (defun aggressive-indent--local-electric (on)
   "Turn variable `electric-indent-mode' on or off locally, as per boolean ON."



reply via email to

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