Mercurial > emacs
changeset 25741:e26ea124e009
(resize_mini_window): Temporarily set the selected
window's or Vminibuf_scroll_window's height to "fixed" around
the call the change_window_height.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 16 Sep 1999 12:52:27 +0000 |
parents | 68659a16bc42 |
children | 3d91004572f8 |
files | src/xdisp.c |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Thu Sep 16 12:52:25 1999 +0000 +++ b/src/xdisp.c Thu Sep 16 12:52:27 1999 +0000 @@ -5507,12 +5507,24 @@ || BEGV == ZV) { 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; window_height_changed_p = XFASTINT (w->height) != old_height; }