diff options
| author | Chong Yidong | 2008-02-27 15:07:14 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-02-27 15:07:14 +0000 |
| commit | 9c9086d306adbfa0d53a4fa79e46d8ace8082478 (patch) | |
| tree | bd32978bead6898155fccd84dd86efa40962a83b /src/process.c | |
| parent | 1239e1989d9e100fb1f25e26d4e8aba17fb8a1f4 (diff) | |
| download | emacs-9c9086d306adbfa0d53a4fa79e46d8ace8082478.tar.gz emacs-9c9086d306adbfa0d53a4fa79e46d8ace8082478.zip | |
(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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c index f7abc7993d3..184701e4d1b 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4376,13 +4376,15 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | |||
| 4376 | { | 4376 | { |
| 4377 | int old_timers_run = timers_run; | 4377 | int old_timers_run = timers_run; |
| 4378 | struct buffer *old_buffer = current_buffer; | 4378 | struct buffer *old_buffer = current_buffer; |
| 4379 | Lisp_Object old_window = selected_window; | ||
| 4379 | 4380 | ||
| 4380 | timer_delay = timer_check (1); | 4381 | timer_delay = timer_check (1); |
| 4381 | 4382 | ||
| 4382 | /* If a timer has run, this might have changed buffers | 4383 | /* If a timer has run, this might have changed buffers |
| 4383 | an alike. Make read_key_sequence aware of that. */ | 4384 | an alike. Make read_key_sequence aware of that. */ |
| 4384 | if (timers_run != old_timers_run | 4385 | if (timers_run != old_timers_run |
| 4385 | && old_buffer != current_buffer | 4386 | && (old_buffer != current_buffer |
| 4387 | || !EQ (old_window, selected_window)) | ||
| 4386 | && waiting_for_user_input_p == -1) | 4388 | && waiting_for_user_input_p == -1) |
| 4387 | record_asynch_buffer_change (); | 4389 | record_asynch_buffer_change (); |
| 4388 | 4390 | ||