mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-29 08:31:35 -08:00
(resize_mini_window): Use grow_mini_window and
shrink_mini_window.
This commit is contained in:
parent
57209cbae0
commit
da4487236d
1 changed files with 11 additions and 22 deletions
33
src/xdisp.c
33
src/xdisp.c
|
|
@ -5518,30 +5518,19 @@ resize_mini_window (w, exact_p)
|
|||
|
||||
/* Let it grow only, until we display an empty message, in which
|
||||
case the window shrinks again. */
|
||||
if (height > XFASTINT (w->height)
|
||||
|| exact_p
|
||||
|| BEGV == ZV)
|
||||
if (height > XFASTINT (w->height))
|
||||
{
|
||||
Lisp_Object old_selected_window;
|
||||
Lisp_Object fix_window;
|
||||
int old_height = XFASTINT (w->height);
|
||||
|
||||
freeze_window_starts (f, height > XFASTINT (w->height));
|
||||
|
||||
/* If the mini-buffer is selected, try to not change
|
||||
the height of Vminibuf_scroll_window. Otherwise try
|
||||
to not change the height of the selected window. */
|
||||
if (MINI_WINDOW_P (XWINDOW (selected_window)))
|
||||
fix_window = Vminibuf_scroll_window;
|
||||
else
|
||||
fix_window = selected_window;
|
||||
|
||||
old_selected_window = selected_window;
|
||||
XSETWINDOW (selected_window, w);
|
||||
XWINDOW (fix_window)->height_fixed_p = 1;
|
||||
change_window_height (height - XFASTINT (w->height), 0);
|
||||
XWINDOW (fix_window)->height_fixed_p = 0;
|
||||
selected_window = old_selected_window;
|
||||
freeze_window_starts (f, 1);
|
||||
grow_mini_window (w, height - XFASTINT (w->height));
|
||||
window_height_changed_p = XFASTINT (w->height) != old_height;
|
||||
}
|
||||
else if (height < XFASTINT (w->height)
|
||||
&& (exact_p || BEGV == ZV))
|
||||
{
|
||||
int old_height = XFASTINT (w->height);
|
||||
freeze_window_starts (f, 0);
|
||||
shrink_mini_window (w);
|
||||
window_height_changed_p = XFASTINT (w->height) != old_height;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue