# HG changeset patch # User Gerd Moellmann # Date 938087922 0 # Node ID a6041d251b77bb71be2c40f7ec3570b227fe253b # Parent 2bbee3534773b00fbcc2d08dd59b474cb2057aaf (resize_mini_window): Use grow_mini_window and shrink_mini_window. diff -r 2bbee3534773 -r a6041d251b77 src/xdisp.c --- a/src/xdisp.c Thu Sep 23 11:58:41 1999 +0000 +++ b/src/xdisp.c Thu Sep 23 11:58:42 1999 +0000 @@ -5518,30 +5518,19 @@ /* 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) - { - Lisp_Object old_selected_window; - Lisp_Object fix_window; + if (height > XFASTINT (w->height)) + { 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; } }