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;
|
ignore_mouse_drag_p = true;
|
||||||
#endif
|
#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);
|
x_consider_frame_title (w->frame);
|
||||||
|
unbind_to (count1, Qnil);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue