(kbd_buffer_get_event): Return Qnil when current time is exactly equal to

end_time, not only when it is past that.
This commit is contained in:
Eli Zaretskii 2006-08-05 12:00:32 +00:00
parent a1ebfe3423
commit 6b657e423e
2 changed files with 13 additions and 6 deletions

View file

@ -1,3 +1,8 @@
2006-08-05 Eli Zaretskii <eliz@gnu.org>
* 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 <cyd@stupidchicken.com>
* keyboard.c (read_char): Rebalance specpdl after receiving jump.

View file

@ -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);