diff src/process.c @ 14613:386831bc4a4e

(wait_reading_process_input): 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.
author Karl Heuer <kwzh@gnu.org>
date Wed, 21 Feb 1996 21:08:31 +0000
parents 80196bfd8b94
children 0493e857a13b
line wrap: on
line diff
--- a/src/process.c	Wed Feb 21 21:06:51 1996 +0000
+++ b/src/process.c	Wed Feb 21 21:08:31 1996 +0000
@@ -2193,7 +2193,7 @@
 #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 @@
       /* 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;