From 6cbc22ed96077cba008cf70cf88455f2ebf9f043 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 28 Jul 1993 08:19:30 +0000 Subject: [PATCH] (wait_reading_process_input): Undo last two changes: when wait_for_cell, do not check the keyboard. --- src/process.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/process.c b/src/process.c index 3370a3298cf..643c87d1227 100644 --- a/src/process.c +++ b/src/process.c @@ -1812,7 +1812,10 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display) /* Wait till there is something to do */ Available = input_wait_mask; - if (! XINT (read_kbd) && wait_for_cell == 0) + /* We used to have && wait_for_cell == 0 + but that led to lossage handling selection_request events: + within one, we would start to handle another. */ + if (! XINT (read_kbd)) FD_CLR (0, &Available); /* If frame size has changed or the window is newly mapped, @@ -1891,7 +1894,9 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display) /* If there is any, return immediately to give it higher priority than subprocesses */ - if ((XINT (read_kbd) || wait_for_cell) + /* We used to do his if wait_for_cell, + but that caused infinite recursion in selection request events. */ + if ((XINT (read_kbd)) && detect_input_pending ()) { swallow_events ();