Mercurial > emacs
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 |