[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/aggressive-indent f611f31 33/43: Cancel the timer when
From: |
Stefan Monnier |
Subject: |
[elpa] externals/aggressive-indent f611f31 33/43: Cancel the timer when buffer is killed |
Date: |
Wed, 7 Jul 2021 22:49:45 -0400 (EDT) |
branch: externals/aggressive-indent
commit f611f3114b55e92a03e978cd0721b21e58523f48
Author: Jian Wang <leuven65@gmail.com>
Commit: Jian Wang <leuven65@gmail.com>
Cancel the timer when buffer is killed
---
aggressive-indent.el | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/aggressive-indent.el b/aggressive-indent.el
index c467db8..43a0578 100644
--- a/aggressive-indent.el
+++ b/aggressive-indent.el
@@ -480,6 +480,12 @@ If BODY finishes, `while-no-input' returns whatever value
BODY produced."
(setq aggressive-indent--idle-timer
(run-with-idle-timer aggressive-indent-sit-for-time t
#'aggressive-indent--indent-if-changed))))
+(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
@@ -509,14 +515,16 @@ 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 'before-save-hook
#'aggressive-indent--proccess-changed-list-and-indent nil 'local)
+ (add-hook 'kill-buffer-hook #'aggressive-indent--on-buffer-kill nil
'local))
;; Clean the hooks
(when (timerp aggressive-indent--idle-timer)
(cancel-timer aggressive-indent--idle-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 'post-command-hook #'aggressive-indent--softly-indent-defun
'local)))
+ (remove-hook 'post-command-hook #'aggressive-indent--softly-indent-defun
'local)
+ (remove-hook 'kill-buffer-hook #'aggressive-indent--on-buffer-kill
'local)))
(defun aggressive-indent--local-electric (on)
"Turn variable `electric-indent-mode' on or off locally, as per boolean ON."
- [elpa] externals/aggressive-indent 1f09fe2 28/43: Add sql-interactive-mode, (continued)
- [elpa] externals/aggressive-indent 1f09fe2 28/43: Add sql-interactive-mode, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 1d7185d 17/43: Fix #106 - Define variable: aggressive-indent-region-function, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent cc8da01 20/43: Make the idle timer not be buffer local, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 4994a50 21/43: Revert "Make the idle timer not be buffer local", Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 6549951 23/43: Backport while-no-input from Emacs 27.0 to fix #111, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent c39dbff 24/43: Merge pull request #118 from oscarfv/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 3803f24 30/43: Merge pull request #125 from CeleritasCelery/revert, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent c28246b 32/43: Merge pull request #129 from yyoncho/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 113389c 42/43: Merge remote-tracking branch 'elpa/externals/aggressive-indent', Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent f920dd5 27/43: Merge pull request #123 from leungbk/patch, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent f611f31 33/43: Cancel the timer when buffer is killed,
Stefan Monnier <=
- [elpa] externals/aggressive-indent 58348d2 36/43: Merge pull request #135 from leuven65/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 986df07 40/43: Code actually requires Emacs 24.3, so state that explicitly, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent e1c17ab 38/43: Consistently kill timer safely, avoiding a race condition, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent d5417f4 13/43: Don't indent in ediff-merge buffers, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 5a019ef 15/43: Exclude inf-ruby mode, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 5b653a5 25/43: Fix typo., Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent e8a6aa8 39/43: Fix typo in function name, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent cb416fa 43/43: Version 1.10.0, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 0492172 12/43: 1.8.4, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent fdafc53 26/43: Add elm- and haskell-mode., Stefan Monnier, 2021/07/07