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:
parent
f99b51295b
commit
06495c96ae
1 changed files with 9 additions and 0 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue