summaryrefslogtreecommitdiff
path: root/src/process.c
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2008-02-27 15:09:04 +0000
committerChong Yidong <cyd@stupidchicken.com>2008-02-27 15:09:04 +0000
commit70bb1e5f2a0905f3d121bd42e95f51744f544d2f (patch)
tree3d1f26047f04db7ad7fd62fb302dc8d72fce1efa /src/process.c
parentaf2080a243a43560c8b0375c39936e9722c3f9f3 (diff)
downloademacs-70bb1e5f2a0905f3d121bd42e95f51744f544d2f.tar.gz
(wait_reading_process_output): Check for window changes caused by timers.
Suggested by Johan Bockgård.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c
index 03b6a0b4f95..e959dea41c0 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4362,13 +4362,15 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
{
int old_timers_run = timers_run;
struct buffer *old_buffer = current_buffer;
+ Lisp_Object old_window = selected_window;
timer_delay = timer_check (1);
/* If a timer has run, this might have changed buffers
an alike. Make read_key_sequence aware of that. */
if (timers_run != old_timers_run
- && old_buffer != current_buffer
+ && (old_buffer != current_buffer
+ || !EQ (old_window, selected_window))
&& waiting_for_user_input_p == -1)
record_asynch_buffer_change ();