Fix rare problems with echo-area display and multiple frames

* src/xdisp.c (redisplay_window): Bind inhibit-redisplay non-nil
around the call to x_consider_frame_title, to prevent
resize_mini_window from undoing echo-area display.  (Bug#23124)
This commit is contained in:
Eli Zaretskii 2016-03-29 20:38:54 +03:00
parent f99b51295b
commit 06495c96ae

View file

@ -17082,7 +17082,16 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
ignore_mouse_drag_p = true;
#endif
}
ptrdiff_t count1 = SPECPDL_INDEX ();
/* x_consider_frame_title calls select-frame, which calls
resize_mini_window, which could resize the mini-window and by
that undo the effect of this redisplay cycle wrt minibuffer
and echo-area display. Binding inhibit-redisplay to t makes
the call to resize_mini_window a no-op, thus avoiding the
adverse side effects. */
specbind (Qinhibit_redisplay, Qt);
x_consider_frame_title (w->frame);
unbind_to (count1, Qnil);
#endif
}