diff options
| author | Eli Zaretskii | 2016-08-22 20:19:35 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-08-22 20:19:35 +0300 |
| commit | 821ea144bd446268fbe4a4a4775a06da52dea8cb (patch) | |
| tree | a0e32a41e412ce08ba800b71374c573275d2e02a /src | |
| parent | 8bb999a98abd8fb0f25fd16cd3e0281503728ab6 (diff) | |
| download | emacs-821ea144bd446268fbe4a4a4775a06da52dea8cb.tar.gz emacs-821ea144bd446268fbe4a4a4775a06da52dea8cb.zip | |
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.
Diffstat (limited to 'src')
| -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 5eaa80905a8..dc68cd48e5f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -11744,6 +11744,12 @@ x_consider_frame_title (Lisp_Object frame) | |||
| 11744 | record_unwind_protect (unwind_format_mode_line, | 11744 | record_unwind_protect (unwind_format_mode_line, |
| 11745 | format_mode_line_unwind_data | 11745 | format_mode_line_unwind_data |
| 11746 | (f, current_buffer, selected_window, false)); | 11746 | (f, current_buffer, selected_window, false)); |
| 11747 | /* select-frame calls resize_mini_window, which could resize the | ||
| 11748 | mini-window and by that undo the effect of this redisplay | ||
| 11749 | cycle wrt minibuffer and echo-area display. Binding | ||
| 11750 | inhibit-redisplay to t makes the call to resize_mini_window a | ||
| 11751 | no-op, thus avoiding the adverse side effects. */ | ||
| 11752 | specbind (Qinhibit_redisplay, Qt); | ||
| 11747 | 11753 | ||
| 11748 | Fselect_window (f->selected_window, Qt); | 11754 | Fselect_window (f->selected_window, Qt); |
| 11749 | set_buffer_internal_1 | 11755 | set_buffer_internal_1 |
| @@ -17177,16 +17183,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p) | |||
| 17177 | ignore_mouse_drag_p = true; | 17183 | ignore_mouse_drag_p = true; |
| 17178 | #endif | 17184 | #endif |
| 17179 | } | 17185 | } |
| 17180 | ptrdiff_t count1 = SPECPDL_INDEX (); | ||
| 17181 | /* x_consider_frame_title calls select-frame, which calls | ||
| 17182 | resize_mini_window, which could resize the mini-window and by | ||
| 17183 | that undo the effect of this redisplay cycle wrt minibuffer | ||
| 17184 | and echo-area display. Binding inhibit-redisplay to t makes | ||
| 17185 | the call to resize_mini_window a no-op, thus avoiding the | ||
| 17186 | adverse side effects. */ | ||
| 17187 | specbind (Qinhibit_redisplay, Qt); | ||
| 17188 | x_consider_frame_title (w->frame); | 17186 | x_consider_frame_title (w->frame); |
| 17189 | unbind_to (count1, Qnil); | ||
| 17190 | #endif | 17187 | #endif |
| 17191 | } | 17188 | } |
| 17192 | 17189 | ||