Mercurial > emacs
changeset 8931:c64388cd7346
(struct saved_window_data): New slots min_width, min_height.
(Fcurrent_window_configuration): Set slots from window_min_...
(Fset_window_configuration): Restore them.
Set window_min_height and window_min_width to 1 while restoring windows.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 20 Sep 1994 02:20:05 +0000 |
parents | 166ebab32ffa |
children | cdc7e11a5ca8 |
files | src/window.c |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Tue Sep 20 01:28:35 1994 +0000 +++ b/src/window.c Tue Sep 20 02:20:05 1994 +0000 @@ -2697,6 +2697,9 @@ Lisp_Object minibuf_scroll_window; Lisp_Object root_window; Lisp_Object focus_frame; + /* Record the values of window-min-width and window-min-height + so that window sizes remain consistent with them. */ + Lisp_Object min_width, min_height; /* A vector, interpreted as a struct saved_window */ Lisp_Object saved_windows; }; @@ -2796,6 +2799,11 @@ windows_or_buffers_changed++; + /* Temporarily avoid any problems with windows that are smaller + than they are supposed to be. */ + window_min_height = 1; + window_min_width = 1; + /* Kludge Alert! Mark all windows now on frame as "deleted". Restoring the new configuration "undeletes" any that are in it. @@ -2936,6 +2944,10 @@ #endif } + /* Restore the minimum heights recorded in the configuration. */ + window_min_height = XINT (data->min_height); + window_min_width = XINT (data->min_width); + #ifdef MULTI_FRAME /* Fselect_window will have made f the selected frame, so we reselect the proper frame here. Fhandle_switch_frame will change the @@ -3105,6 +3117,8 @@ data->minibuf_scroll_window = Vminibuf_scroll_window; data->root_window = FRAME_ROOT_WINDOW (f); data->focus_frame = FRAME_FOCUS_FRAME (f); + XSET (data->min_height, Lisp_Int, window_min_height); + XSET (data->min_width, Lisp_Int, window_min_width); tem = Fmake_vector (make_number (n_windows), Qnil); data->saved_windows = tem; for (i = 0; i < n_windows; i++)