comparison src/process.c @ 92266:f32eae6092fa

(wait_reading_process_output): Check for window changes caused by timers. Suggested by Johan Bockgrd.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 27 Feb 2008 15:09:04 +0000
parents b7a5a89054dc
children 5dbe361f12c2
comparison
equal deleted inserted replaced
92265:9d5f4925c981 92266:f32eae6092fa
4360 4360
4361 do 4361 do
4362 { 4362 {
4363 int old_timers_run = timers_run; 4363 int old_timers_run = timers_run;
4364 struct buffer *old_buffer = current_buffer; 4364 struct buffer *old_buffer = current_buffer;
4365 Lisp_Object old_window = selected_window;
4365 4366
4366 timer_delay = timer_check (1); 4367 timer_delay = timer_check (1);
4367 4368
4368 /* If a timer has run, this might have changed buffers 4369 /* If a timer has run, this might have changed buffers
4369 an alike. Make read_key_sequence aware of that. */ 4370 an alike. Make read_key_sequence aware of that. */
4370 if (timers_run != old_timers_run 4371 if (timers_run != old_timers_run
4371 && old_buffer != current_buffer 4372 && (old_buffer != current_buffer
4373 || !EQ (old_window, selected_window))
4372 && waiting_for_user_input_p == -1) 4374 && waiting_for_user_input_p == -1)
4373 record_asynch_buffer_change (); 4375 record_asynch_buffer_change ();
4374 4376
4375 if (timers_run != old_timers_run && do_display) 4377 if (timers_run != old_timers_run && do_display)
4376 /* We must retry, since a timer may have requeued itself 4378 /* We must retry, since a timer may have requeued itself