diff options
author | Eli Zaretskii <eliz@gnu.org> | 2016-08-22 20:19:35 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-08-22 20:19:35 +0300 |
commit | 821ea144bd446268fbe4a4a4775a06da52dea8cb (patch) | |
tree | a0e32a41e412ce08ba800b71374c573275d2e02a | |
parent | 8bb999a98abd8fb0f25fd16cd3e0281503728ab6 (diff) |
Display mini-window resized even when there are several frames
* src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
t to avoid resizing back the mini-window as result of considering
the title of other frames. (Bug#24285)
(redisplay_window): No need to bind inhibit-redisplay here.
-rw-r--r-- | src/xdisp.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 5eaa80905a..dc68cd48e5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -11744,6 +11744,12 @@ x_consider_frame_title (Lisp_Object frame) record_unwind_protect (unwind_format_mode_line, format_mode_line_unwind_data (f, current_buffer, selected_window, false)); + /* select-frame 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); Fselect_window (f->selected_window, Qt); set_buffer_internal_1 @@ -17177,16 +17183,7 @@ 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 } |