From: Eli Zaretskii Date: Sat, 5 Aug 2006 12:00:32 +0000 (+0000) Subject: (kbd_buffer_get_event): Return Qnil when current time is exactly equal to X-Git-Tag: emacs-pretest-22.0.90~1101 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6b657e423e2e10e4d9f7061e76cd3f8f3fcff7b7;p=emacs.git (kbd_buffer_get_event): Return Qnil when current time is exactly equal to end_time, not only when it is past that. --- diff --git a/src/ChangeLog b/src/ChangeLog index aa025125067..28109540800 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2006-08-05 Eli Zaretskii + + * keyboard.c (kbd_buffer_get_event): Return Qnil when current time + is exactly equal to end_time, not only when it is past that. + 2006-08-04 Chong Yidong * keyboard.c (read_char): Rebalance specpdl after receiving jump. diff --git a/src/keyboard.c b/src/keyboard.c index a4e1c98c013..6f12994a1b8 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -3954,13 +3954,15 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time) { EMACS_TIME duration; EMACS_GET_TIME (duration); - EMACS_SUB_TIME (duration, *end_time, duration); - if (EMACS_TIME_NEG_P (duration)) - return Qnil; + if (EMACS_TIME_GE (duration, *end_time)) + return Qnil; /* finished waiting */ else - wait_reading_process_output (EMACS_SECS (duration), - EMACS_USECS (duration), - -1, 1, Qnil, NULL, 0); + { + EMACS_SUB_TIME (duration, *end_time, duration); + wait_reading_process_output (EMACS_SECS (duration), + EMACS_USECS (duration), + -1, 1, Qnil, NULL, 0); + } } else wait_reading_process_output (0, 0, -1, 1, Qnil, NULL, 0);