# HG changeset patch # User Karoly Lorentey # Date 1077679777 0 # Node ID af4a10a1bd5590d550b1643e4309524d5848b8f8 # Parent 19323b99ddcc33af02e4e957a0e96e921f84cc95 Revert patch-93, that was the real culprit. Reapply patch-97. src/keyboard.c (read_avail_input): Don't BLOCK_INPUT. src/xterm.c (XTread_socket): Don't try to handle a new event if the input buffer is full. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-99 diff -r 19323b99ddcc -r af4a10a1bd55 src/keyboard.c --- a/src/keyboard.c Wed Feb 25 03:16:45 2004 +0000 +++ b/src/keyboard.c Wed Feb 25 03:29:37 2004 +0000 @@ -6589,14 +6589,6 @@ int err; struct display *d; - if (interrupt_input_blocked) - { - interrupt_input_pending = 1; - return -1; - } - - BLOCK_INPUT; - /* Loop through the available displays, and call their input hooks. */ d = display_list; while (d) @@ -6669,8 +6661,6 @@ if (err && !nread) nread = -1; - UNBLOCK_INPUT; - return nread; } diff -r 19323b99ddcc -r af4a10a1bd55 src/xterm.c --- a/src/xterm.c Wed Feb 25 03:16:45 2004 +0000 +++ b/src/xterm.c Wed Feb 25 03:29:37 2004 +0000 @@ -7209,6 +7209,12 @@ { int finish; + if (numchars <= 1) + { + /* The input buffer is full; read the rest next time. */ + break; + } + XNextEvent (dpyinfo->display, &event); #ifdef HAVE_X_I18N