summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-08-22 20:19:35 +0300
committerEli Zaretskii <eliz@gnu.org>2016-08-22 20:19:35 +0300
commit821ea144bd446268fbe4a4a4775a06da52dea8cb (patch)
treea0e32a41e412ce08ba800b71374c573275d2e02a
parent8bb999a98abd8fb0f25fd16cd3e0281503728ab6 (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.c15
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
}