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

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

[elpa] externals/corfu 1385e3d50c 1/2: Allocate auto timer once


From: ELPA Syncer
Subject: [elpa] externals/corfu 1385e3d50c 1/2: Allocate auto timer once
Date: Fri, 29 Dec 2023 09:57:35 -0500 (EST)

branch: externals/corfu
commit 1385e3d50c232f6cbea690e9a2252d703e365269
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Allocate auto timer once
    
    - corfu--auto-complete-deferred: Do not reset timer
    - corfu--auto-post-command: Simplify
---
 corfu.el | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/corfu.el b/corfu.el
index 34c22d1007..12960894b3 100644
--- a/corfu.el
+++ b/corfu.el
@@ -262,7 +262,7 @@ See also the settings `corfu-auto-delay', 
`corfu-auto-prefix' and
   "M-h" 'corfu-info-documentation
   "M-SPC" #'corfu-insert-separator)
 
-(defvar corfu--auto-timer nil
+(defvar corfu--auto-timer (timer-create)
   "Auto completion timer.")
 
 (defvar-local corfu--candidates nil
@@ -967,7 +967,6 @@ See `completion-in-region' for the arguments BEG, END, 
TABLE, PRED."
 
 (defun corfu--auto-complete-deferred (&optional tick)
   "Initiate auto completion if TICK did not change."
-  (setq corfu--auto-timer nil)
   (when (and (not completion-in-region-mode)
              (or (not tick) (equal tick (corfu--auto-tick))))
     (pcase (while-no-input ;; Interruptible Capf query
@@ -983,8 +982,7 @@ See `completion-in-region' for the arguments BEG, END, 
TABLE, PRED."
 
 (defun corfu--auto-post-command ()
   "Post command hook which initiates auto completion."
-  (when corfu--auto-timer
-    (cancel-timer corfu--auto-timer))
+  (cancel-timer corfu--auto-timer)
   (if (and (not completion-in-region-mode)
            (not defining-kbd-macro)
            (not buffer-read-only)
@@ -994,8 +992,6 @@ See `completion-in-region' for the arguments BEG, END, 
TABLE, PRED."
           (corfu--auto-complete-deferred)
         ;; Do not use `timer-set-idle-time' since this leads to
         ;; unpredictable pauses, in particular with `flyspell-mode'.
-        (unless corfu--auto-timer
-          (setq corfu--auto-timer (timer-create)))
         (timer-set-time corfu--auto-timer
                         (timer-relative-time nil corfu-auto-delay))
         (timer-set-function corfu--auto-timer #'corfu--auto-complete-deferred



reply via email to

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