]> git.eshelyaron.com Git - emacs.git/commitdiff
(wait_reading_process_input):
authorKarl Heuer <kwzh@gnu.org>
Wed, 21 Feb 1996 21:08:31 +0000 (21:08 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 21 Feb 1996 21:08:31 +0000 (21:08 +0000)
Pass new arg to swallow_events.

(wait_reading_process_input): If read_kbd is 1,
use detect_input_pending_run_timers instead of detect_input_pending.

src/process.c

index 443da0733378961d375332e985ef8279d5457587..2dd472b463eccd5b99405c907660ac0854d93b41 100644 (file)
@@ -2193,7 +2193,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
 #endif
            }
          else
-           error("select error: %s", strerror (xerrno));
+           error ("select error: %s", strerror (xerrno));
        }
 #if defined(sun) && !defined(USG5_4)
       else if (nfds > 0 && keyboard_bit_set (&Available)
@@ -2212,16 +2212,21 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
       /* If there is any, return immediately
         to give it higher priority than subprocesses */
 
-      /* We used to do this if wait_for_cell,
-        but that caused infinite recursion in selection request events.  */
-      if ((XINT (read_kbd) || wait_for_cell)
-         && detect_input_pending ())
+      if (XINT (read_kbd) < 0 && detect_input_pending ())
        {
-         swallow_events ();
+         swallow_events (do_display);
          if (detect_input_pending ())
            break;
        }
 
+      if ((XINT (read_kbd) > 0 || wait_for_cell)
+         && detect_input_pending_run_timers ())
+       {
+         swallow_events (do_display);
+         if (detect_input_pending_run_timers ())
+           break;
+       }
+
       /* Exit now if the cell we're waiting for became non-nil.  */
       if (wait_for_cell && ! NILP (*wait_for_cell))
        break;