aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-08-30 14:59:06 +0000
committerGerd Moellmann2000-08-30 14:59:06 +0000
commitedc681111e677b28d461fc56282381caf90952a0 (patch)
tree16a070b9c55e3599d8f0de22c63fb68bb0d65ad7 /src
parent5226a93199bccca738870ecc6ab60c09039b8443 (diff)
downloademacs-edc681111e677b28d461fc56282381caf90952a0.tar.gz
emacs-edc681111e677b28d461fc56282381caf90952a0.zip
(echo_area_display): Check display_completed instead
of calling detect_input_pending.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 671f7f8aa5f..e8805a314f2 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -6292,30 +6292,24 @@ echo_area_display (update_frame_p)
6292 6292
6293 if (update_frame_p) 6293 if (update_frame_p)
6294 { 6294 {
6295 /* Not called from redisplay_internal. If we changed window 6295 /* Not called from redisplay_internal. */
6296 configuration, we must redisplay thoroughly, of course. 6296
6297 6297 if (!display_completed || window_height_changed_p)
6298 Likewise if input is pending, because the pending input
6299 can have interrupted a previous redisplay, or redisplay
6300 wasn't called because of the pending input (see
6301 keyboard.c). In both cases, we would display the message
6302 fine, but the rest of the display would be garbage.
6303
6304 Otherwise, we can do with updating just what we displayed
6305 above. */
6306
6307 if (window_height_changed_p || detect_input_pending ())
6308 { 6298 {
6299 /* Must update other windows. If current display is not
6300 up-to-date because the last redisplay was interrupted
6301 by pending input, esp. the mode-line above the echo
6302 area might display garbage which looks odd. */
6309 int count = specpdl_ptr - specpdl; 6303 int count = specpdl_ptr - specpdl;
6310
6311 specbind (Qredisplay_dont_pause, Qt); 6304 specbind (Qredisplay_dont_pause, Qt);
6312 ++windows_or_buffers_changed; 6305 windows_or_buffers_changed = 1;
6313 ++update_mode_lines;
6314 redisplay_internal (0); 6306 redisplay_internal (0);
6315 unbind_to (count, Qnil); 6307 unbind_to (count, Qnil);
6316 } 6308 }
6317 else if (FRAME_WINDOW_P (f)) 6309 else if (FRAME_WINDOW_P (f))
6318 { 6310 {
6311 /* Window configuration is the same as before.
6312 Can do with a display update of the echo area. */
6319 update_single_window (w, 1); 6313 update_single_window (w, 1);
6320 rif->flush_display (f); 6314 rif->flush_display (f);
6321 } 6315 }