]> git.eshelyaron.com Git - emacs.git/commitdiff
Display mini-window resized even when there are several frames
authorEli Zaretskii <eliz@gnu.org>
Mon, 22 Aug 2016 17:19:35 +0000 (20:19 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 22 Aug 2016 17:19:35 +0000 (20:19 +0300)
* 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.

src/xdisp.c

index 5eaa80905a8588d22ab4ec9d224918d2d3dba4fa..dc68cd48e5fec7729f39b58ab094fdea9c7b50de 100644 (file)
@@ -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
     }