aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-08-09 18:40:39 +0000
committerGerd Moellmann2000-08-09 18:40:39 +0000
commit9f50252b45a42ded27392f946516958d2d2da822 (patch)
tree76684c4b2c24295ab96584613fab9c2cef2bbabc /src
parente7067d00c2dc032251b45a7e82cbb9dcd9274adf (diff)
downloademacs-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.c20
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 {