diff options
| author | Chong Yidong | 2008-02-27 15:09:04 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-02-27 15:09:04 +0000 |
| commit | 70bb1e5f2a0905f3d121bd42e95f51744f544d2f (patch) | |
| tree | 3d1f26047f04db7ad7fd62fb302dc8d72fce1efa /src | |
| parent | af2080a243a43560c8b0375c39936e9722c3f9f3 (diff) | |
| download | emacs-70bb1e5f2a0905f3d121bd42e95f51744f544d2f.tar.gz emacs-70bb1e5f2a0905f3d121bd42e95f51744f544d2f.zip | |
(wait_reading_process_output): Check for window changes caused by timers.
Suggested by Johan Bockgård.
Diffstat (limited to 'src')
| -rw-r--r-- | src/process.c | 4 |
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, | |||
| 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 | ||