branch: externals/jinx
commit cba8589542a6b90a41356ab24eed8b59eb05b949
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Avoid a little bit of timer consing
---
jinx.el | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/jinx.el b/jinx.el
index e3def0f869..7e70ef32a4 100644
--- a/jinx.el
+++ b/jinx.el
@@ -270,7 +270,7 @@ checking."
Predicate should return t if the word before point is valid.
Predicate may return a position to skip forward.")
-(defvar jinx--timer nil
+(defvar jinx--timer (timer-create)
"Global timer to check pending regions.")
(defvar jinx--base-syntax-table
@@ -539,7 +539,7 @@ If CHECK is non-nil, always check first."
(defun jinx--timer-handler ()
"Global timer handler, checking the pending regions in all windows."
- (setq jinx--timer nil)
+ (timer-set-function jinx--timer nil)
(dolist (frame (frame-list))
(dolist (win (window-list frame 'no-miniwindow))
(when-let ((buffer (window-buffer win))
@@ -549,19 +549,19 @@ If CHECK is non-nil, always check first."
(defun jinx--reschedule (&rest _)
"Restart the global idle timer."
- (when jinx--timer
+ (when (timer--function jinx--timer)
(cancel-timer jinx--timer)
- (setq jinx--timer nil))
+ (timer-set-function jinx--timer nil))
(jinx--schedule))
(defun jinx--schedule ()
"Start the global idle timer."
- (when (and (not jinx--timer)
+ (when (and (not (timer--function jinx--timer))
(not completion-in-region-mode) ;; Corfu completion
(get-buffer-window)) ;; Buffer visible
- (setq jinx--timer
- (run-with-idle-timer jinx-delay
- nil #'jinx--timer-handler))))
+ (timer-set-function jinx--timer #'jinx--timer-handler)
+ (timer-set-idle-time jinx--timer jinx-delay)
+ (timer-activate-when-idle jinx--timer)))
(defun jinx--load-module ()
"Compile and load dynamic module."