From: Eli Zaretskii Date: Mon, 22 Aug 2016 17:19:35 +0000 (+0300) Subject: Display mini-window resized even when there are several frames X-Git-Tag: emacs-26.0.90~1710 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=821ea144bd446268fbe4a4a4775a06da52dea8cb;p=emacs.git 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. --- diff --git a/src/xdisp.c b/src/xdisp.c index 5eaa80905a8..dc68cd48e5f 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 }