diff options
| author | Gerd Moellmann | 2000-08-09 18:40:39 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-08-09 18:40:39 +0000 |
| commit | 9f50252b45a42ded27392f946516958d2d2da822 (patch) | |
| tree | 76684c4b2c24295ab96584613fab9c2cef2bbabc /src | |
| parent | e7067d00c2dc032251b45a7e82cbb9dcd9274adf (diff) | |
| download | emacs-9f50252b45a42ded27392f946516958d2d2da822.tar.gz emacs-9f50252b45a42ded27392f946516958d2d2da822.zip | |
(echo_area_display): Display thoroughly if input is
pending. Bind redisplay-dont-pause to t during the redisplay.
in case input is pending.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 3f0cbc58f5c..79717849bd6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -6239,15 +6239,27 @@ echo_area_display (update_frame_p) | |||
| 6239 | 6239 | ||
| 6240 | if (update_frame_p) | 6240 | if (update_frame_p) |
| 6241 | { | 6241 | { |
| 6242 | /* Not called from redisplay_internal. If we changed | 6242 | /* Not called from redisplay_internal. If we changed window |
| 6243 | window configuration, we must redisplay thoroughly. | 6243 | configuration, we must redisplay thoroughly, of course. |
| 6244 | Otherwise, we can do with updating what we displayed | 6244 | |
| 6245 | Likewise if input is pending, because the pending input | ||
| 6246 | can have interrupted a previous redisplay, or redisplay | ||
| 6247 | wasn't called because of the pending input (see | ||
| 6248 | keyboard.c). In both cases, we would display the message | ||
| 6249 | fine, but the rest of the display would be garbage. | ||
| 6250 | |||
| 6251 | Otherwise, we can do with updating just what we displayed | ||
| 6245 | above. */ | 6252 | above. */ |
| 6246 | if (window_height_changed_p) | 6253 | |
| 6254 | if (window_height_changed_p || detect_input_pending ()) | ||
| 6247 | { | 6255 | { |
| 6256 | int count = specpdl_ptr - specpdl; | ||
| 6257 | |||
| 6258 | specbind (Qredisplay_dont_pause, Qt); | ||
| 6248 | ++windows_or_buffers_changed; | 6259 | ++windows_or_buffers_changed; |
| 6249 | ++update_mode_lines; | 6260 | ++update_mode_lines; |
| 6250 | redisplay_internal (0); | 6261 | redisplay_internal (0); |
| 6262 | unbind_to (count, Qnil); | ||
| 6251 | } | 6263 | } |
| 6252 | else if (FRAME_WINDOW_P (f)) | 6264 | else if (FRAME_WINDOW_P (f)) |
| 6253 | { | 6265 | { |