summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-07-31 06:08:07 +0000
committerRichard M. Stallman <rms@gnu.org>1997-07-31 06:08:07 +0000
commit1812165d924be772b6e6940d23b816fa7564ced4 (patch)
tree40b405239310192ca955ed7709da2bfb5e44425e
parentd5e95a4c965e1dc8fc2d519d795cf88019b2d1df (diff)
downloademacs-1812165d924be772b6e6940d23b816fa7564ced4.tar.gz
(read_process_output): Don't call setup_coding_system
for proc_decode_coding_system[channel]. It is already done in detect_coding called via decode_coding. (wait_reading_process_input): Call detect_input_pending whenever read_kbd is 0, not just when wait_for_cell.
-rw-r--r--src/process.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/process.c b/src/process.c
index 4f691dd86b2..af4fb8f9f22 100644
--- a/src/process.c
+++ b/src/process.c
@@ -2472,7 +2472,7 @@ 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) != 0)
+ if (XINT (read_kbd) != 0
&& detect_input_pending_run_timers (do_display))
{
swallow_events (do_display);
@@ -2485,13 +2485,14 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
&& requeued_events_pending_p ())
break;
- /* If wait_for_cell. check for keyboard input
- but don't run any timers.
- The reason for this is so that X events will be processed.
+ /* If we are not checking for keyboard input now,
+ do process events (but don't run any timers).
+ This is so that X events will be processed.
Otherwise they may have to wait until polling takes place.
- That would causes delays in pasting selections, for example. */
- if (wait_for_cell
- && detect_input_pending ())
+ That would causes delays in pasting selections, for example.
+
+ (We used to do this only if wait_for_cell.) */
+ if (XINT (read_kbd) == 0 && detect_input_pending ())
{
swallow_events (do_display);
#if 0 /* Exiting when read_kbd doesn't request that seems wrong, though. */
@@ -2763,8 +2764,11 @@ read_process_output (proc, channel)
if (!EQ (p->decode_coding_system, coding->symbol))
{
p->decode_coding_system = coding->symbol;
- setup_coding_system (coding->symbol,
- proc_decode_coding_system[channel]);
+
+ /* Don't call setup_coding_system for
+ proc_decode_coding_system[channel] here. It is done in
+ detect_coding called via decode_coding above. */
+
/* If coding-system for encoding is not yet decided, we set it
as the same as coding-system for decoding. */
if (NILP (p->encode_coding_system))