Mercurial > emacs
changeset 14998:ffbd85603f91
(wait_reading_process_input, both definitions):
Don't call detect_input_pending; use detect_input_pending_run_timers.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 12 Apr 1996 06:02:54 +0000 |
parents | 51a773474d47 |
children | 3bafb8029b86 |
files | src/process.c |
diffstat | 1 files changed, 25 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/src/process.c Fri Apr 12 06:01:29 1996 +0000 +++ b/src/process.c Fri Apr 12 06:02:54 1996 +0000 @@ -2174,14 +2174,19 @@ set_waiting_for_input (&timeout); } - if (XINT (read_kbd) && detect_input_pending ()) - { - nfds = 0; - FD_ZERO (&Available); - } - else - nfds = select (MAXDESC, &Available, (SELECT_TYPE *)0, (SELECT_TYPE *)0, - &timeout); + { + int old_timers_run = timers_run; + if (XINT (read_kbd) && detect_input_pending_run_timers (do_display)) + { + nfds = 0; + FD_ZERO (&Available); + } + else if (timers_run != old_timers_run) + ; + else + nfds = select (MAXDESC, &Available, (SELECT_TYPE *)0, (SELECT_TYPE *)0, + &timeout); + } xerrno = errno; @@ -2248,14 +2253,7 @@ /* If there is any, return immediately to give it higher priority than subprocesses */ - if (XINT (read_kbd) < 0 && detect_input_pending ()) - { - swallow_events (do_display); - if (detect_input_pending ()) - break; - } - - if ((XINT (read_kbd) > 0 || wait_for_cell) + if ((XINT (read_kbd) != 0 || wait_for_cell) && detect_input_pending_run_timers (do_display)) { swallow_events (do_display); @@ -3930,11 +3928,16 @@ if (frame_garbaged && do_display) redisplay_preserve_echo_area (); - if (XINT (read_kbd) && detect_input_pending ()) - nfds = 0; - else - nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0, - &timeout); + { + int old_timers_run = timers_run; + if (XINT (read_kbd) && detect_input_pending_run_timers (do_display)) + nfds = 0; + else if (timers_run != old_timers_run) + ; + else + nfds = select (1, &waitchannels, (SELECT_TYPE *)0, (SELECT_TYPE *)0, + &timeout); + } xerrno = errno; @@ -3969,14 +3972,7 @@ /* Check for keyboard input */ - if (XINT (read_kbd) < 0 && detect_input_pending ()) - { - swallow_events (do_display); - if (detect_input_pending ()) - break; - } - - if (XINT (read_kbd) > 0 + if (XINT (read_kbd) != 0 && detect_input_pending_run_timers (do_display)) { swallow_events (do_display);