diff options
| author | Richard M. Stallman | 2002-09-29 17:46:12 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2002-09-29 17:46:12 +0000 |
| commit | aac2d8b2fa5ca26bd5412153b8d48f1b90b24d23 (patch) | |
| tree | 8415f771fcbaf7c479246d4f783fcba10dda0e0c /src | |
| parent | 3b89d388c27ddd25c85711b614baf5a1e69141d5 (diff) | |
| download | emacs-aac2d8b2fa5ca26bd5412153b8d48f1b90b24d23.tar.gz emacs-aac2d8b2fa5ca26bd5412153b8d48f1b90b24d23.zip | |
(STOP_POLLING, RESUME_POLLING): New macros.
(redisplay_internal): Use them. Do RESUME_POLLING at end of function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 10 | ||||
| -rw-r--r-- | src/xdisp.c | 16 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 73abc9bdfa4..9a4a0a446ce 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2002-09-29 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros. | ||
| 4 | (redisplay_internal): Use them. Do RESUME_POLLING at end of function. | ||
| 5 | |||
| 6 | 2002-09-27 Richard M. Stallman <rms@gnu.org> | ||
| 7 | |||
| 8 | * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros. | ||
| 9 | (read_char): Use them. Do all exits thru the end of the function. | ||
| 10 | |||
| 1 | 2002-09-27 Kenichi Handa <handa@etl.go.jp> | 11 | 2002-09-27 Kenichi Handa <handa@etl.go.jp> |
| 2 | 12 | ||
| 3 | * xfaces.c (try_font_list): Pay attention to the case that FAMILY | 13 | * xfaces.c (try_font_list): Pay attention to the case that FAMILY |
diff --git a/src/xdisp.c b/src/xdisp.c index 16c351b9f91..64e94a9d6d1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -8471,6 +8471,14 @@ reconsider_clip_changes (w, b) | |||
| 8471 | b->clip_changed = 1; | 8471 | b->clip_changed = 1; |
| 8472 | } | 8472 | } |
| 8473 | } | 8473 | } |
| 8474 | |||
| 8475 | #define STOP_POLLING \ | ||
| 8476 | do { if (! polling_stopped_here) stop_polling (); \ | ||
| 8477 | polling_stopped_here = 1; } while (0) | ||
| 8478 | |||
| 8479 | #define RESUME_POLLING \ | ||
| 8480 | do { if (polling_stopped_here) start_polling (); \ | ||
| 8481 | polling_stopped_here = 0; } while (0) | ||
| 8474 | 8482 | ||
| 8475 | 8483 | ||
| 8476 | /* If PRESERVE_ECHO_AREA is nonzero, it means this redisplay is not in | 8484 | /* If PRESERVE_ECHO_AREA is nonzero, it means this redisplay is not in |
| @@ -8491,6 +8499,7 @@ redisplay_internal (preserve_echo_area) | |||
| 8491 | int number_of_visible_frames; | 8499 | int number_of_visible_frames; |
| 8492 | int count; | 8500 | int count; |
| 8493 | struct frame *sf = SELECTED_FRAME (); | 8501 | struct frame *sf = SELECTED_FRAME (); |
| 8502 | int polling_stopped_here = 0; | ||
| 8494 | 8503 | ||
| 8495 | /* Non-zero means redisplay has to consider all windows on all | 8504 | /* Non-zero means redisplay has to consider all windows on all |
| 8496 | frames. Zero means, only selected_window is considered. */ | 8505 | frames. Zero means, only selected_window is considered. */ |
| @@ -8979,7 +8988,7 @@ redisplay_internal (preserve_echo_area) | |||
| 8979 | error. */ | 8988 | error. */ |
| 8980 | if (interrupt_input) | 8989 | if (interrupt_input) |
| 8981 | unrequest_sigio (); | 8990 | unrequest_sigio (); |
| 8982 | stop_polling (); | 8991 | STOP_POLLING; |
| 8983 | 8992 | ||
| 8984 | /* Update the display. */ | 8993 | /* Update the display. */ |
| 8985 | set_window_update_flags (XWINDOW (f->root_window), 1); | 8994 | set_window_update_flags (XWINDOW (f->root_window), 1); |
| @@ -9035,7 +9044,7 @@ redisplay_internal (preserve_echo_area) | |||
| 9035 | which can cause an apparent I/O error. */ | 9044 | which can cause an apparent I/O error. */ |
| 9036 | if (interrupt_input) | 9045 | if (interrupt_input) |
| 9037 | unrequest_sigio (); | 9046 | unrequest_sigio (); |
| 9038 | stop_polling (); | 9047 | STOP_POLLING; |
| 9039 | 9048 | ||
| 9040 | if (FRAME_VISIBLE_P (sf) && !FRAME_OBSCURED_P (sf)) | 9049 | if (FRAME_VISIBLE_P (sf) && !FRAME_OBSCURED_P (sf)) |
| 9041 | { | 9050 | { |
| @@ -9111,7 +9120,7 @@ redisplay_internal (preserve_echo_area) | |||
| 9111 | But it is much hairier to try to do anything about that. */ | 9120 | But it is much hairier to try to do anything about that. */ |
| 9112 | if (interrupt_input) | 9121 | if (interrupt_input) |
| 9113 | request_sigio (); | 9122 | request_sigio (); |
| 9114 | start_polling (); | 9123 | RESUME_POLLING; |
| 9115 | 9124 | ||
| 9116 | /* If a frame has become visible which was not before, redisplay | 9125 | /* If a frame has become visible which was not before, redisplay |
| 9117 | again, so that we display it. Expose events for such a frame | 9126 | again, so that we display it. Expose events for such a frame |
| @@ -9152,6 +9161,7 @@ redisplay_internal (preserve_echo_area) | |||
| 9152 | 9161 | ||
| 9153 | end_of_redisplay: | 9162 | end_of_redisplay: |
| 9154 | unbind_to (count, Qnil); | 9163 | unbind_to (count, Qnil); |
| 9164 | RESUME_POLLING; | ||
| 9155 | } | 9165 | } |
| 9156 | 9166 | ||
| 9157 | 9167 | ||