emacs-diffs
[Top][All Lists]
Advanced

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

master 0da97d6685: * src/keyboard.c (timer_check_2): Replace redundant t


From: Stefan Monnier
Subject: master 0da97d6685: * src/keyboard.c (timer_check_2): Replace redundant test with assertion
Date: Fri, 5 Aug 2022 12:34:53 -0400 (EDT)

branch: master
commit 0da97d66852a0ab3abd3b4116825338636ac9367
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * src/keyboard.c (timer_check_2): Replace redundant test with assertion
---
 src/keyboard.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/src/keyboard.c b/src/keyboard.c
index 02e02448ff..81e73a2833 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4642,27 +4642,27 @@ timer_check_2 (Lisp_Object timers, Lisp_Object 
idle_timers)
       /* If timer is ripe, run it if it hasn't been run.  */
       if (ripe)
        {
-         if (NILP (AREF (chosen_timer, 0)))
-           {
-             specpdl_ref count = SPECPDL_INDEX ();
-             Lisp_Object old_deactivate_mark = Vdeactivate_mark;
+         /* If we got here, presumably `decode_timer` has checked
+             that this timer has not yet been triggered.  */
+         eassert (NILP (AREF (chosen_timer, 0)));
+         specpdl_ref count = SPECPDL_INDEX ();
+         Lisp_Object old_deactivate_mark = Vdeactivate_mark;
 
-             /* Mark the timer as triggered to prevent problems if the lisp
-                code fails to reschedule it right.  */
-             ASET (chosen_timer, 0, Qt);
+         /* Mark the timer as triggered to prevent problems if the lisp
+            code fails to reschedule it right.  */
+         ASET (chosen_timer, 0, Qt);
 
-             specbind (Qinhibit_quit, Qt);
+         specbind (Qinhibit_quit, Qt);
 
-             call1 (Qtimer_event_handler, chosen_timer);
-             Vdeactivate_mark = old_deactivate_mark;
-             timers_run++;
-             unbind_to (count, Qnil);
+         call1 (Qtimer_event_handler, chosen_timer);
+         Vdeactivate_mark = old_deactivate_mark;
+         timers_run++;
+         unbind_to (count, Qnil);
 
-             /* Since we have handled the event,
-                we don't need to tell the caller to wake up and do it.  */
-              /* But the caller must still wait for the next timer, so
-                 return 0 to indicate that.  */
-           }
+         /* Since we have handled the event,
+            we don't need to tell the caller to wake up and do it.  */
+          /* But the caller must still wait for the next timer, so
+             return 0 to indicate that.  */
 
          nexttime = make_timespec (0, 0);
           break;



reply via email to

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