Mercurial > emacs
changeset 1016:817b0ce337d7
* window.c (Fset_window_configuration): Removed #if 0'd code which
assumes that minibuf_window is on the same frame as the window
configuration. Removed special case for windows whose prevs
point to themselves.
* window.c (Fset_window_configuration): Rename the argument from
ARG to CONFIGURATION, so it matches the docstring. The
make-docfile program cares.
* window.c [MULTI_FRAME] (syms_of_window): Don't staticpro
minibuf_window; the frame list will take care of it.
* window.c (window_loop): This used to keep track of the first
window processed and wait until we came back around to it. Sadly,
this doesn't work if that window gets deleted. So instead, use
Fprevious_window to find the last window to process, and loop
until we've done that one.
* window.c [not MULTI_FRAME] (init_window_once): Don't forget to
set the `mini_p' flag on the new minibuffer window to t.
* window.c (Fwindow_at): Don't check the type of the frame
argument.
* window.c [not MULTI_FRAME] (window_loop): Set frame to zero,
instead of trying to decode it.
* window.c (init_window_once): Initialize minibuf_window before
FRAME_ROOT_WINDOW, so the latter actually points to something.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Wed, 19 Aug 1992 06:40:02 +0000 |
parents | 58c373be762c |
children | d42877206c0a |
files | src/window.c |
diffstat | 1 files changed, 9 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Wed Aug 19 06:38:40 1992 +0000 +++ b/src/window.c Wed Aug 19 06:40:02 1992 +0000 @@ -2333,8 +2333,8 @@ "Set the configuration of windows and buffers as specified by CONFIGURATION.\n\ CONFIGURATION must be a value previously returned\n\ by `current-window-configuration' (which see).") - (arg) - Lisp_Object arg; + (configuration) + Lisp_Object configuration; { register struct window *w; register struct save_window_data *data; @@ -2345,12 +2345,13 @@ int k; FRAME_PTR f; - while (XTYPE (arg) != Lisp_Window_Configuration) + while (XTYPE (configuration) != Lisp_Window_Configuration) { - arg = wrong_type_argument (intern ("window-configuration-p"), arg); + configuration = wrong_type_argument (intern ("window-configuration-p"), + configuration); } - data = (struct save_window_data *) XVECTOR (arg); + data = (struct save_window_data *) XVECTOR (configuration); saved_windows = XVECTOR (data->saved_windows); f = XFRAME (XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame); @@ -2372,12 +2373,7 @@ /* Mark all windows now on frame as "deleted". Restoring the new configuration "undeletes" any that are in it. */ - delete_all_subwindows (XWINDOW (FRAME_ROOT_WINDOW (f))); -#if 0 - /* This loses when the minibuf frame is not f. */ - delete_all_subwindows (XWINDOW (XWINDOW (minibuf_window)->prev)); -#endif for (k = 0; k < saved_windows->size; k++) { @@ -2393,13 +2389,7 @@ if (!NILP (p->prev)) { w->prev = SAVED_WINDOW_N (saved_windows, XFASTINT (p->prev))->window; -#ifdef MULTI_FRAME - /* This is true for a minibuffer-only frame. */ - if (w->mini_p && EQ (w->prev, p->window)) - w->next = Qnil; - else -#endif /* MULTI_FRAME */ - XWINDOW (w->prev)->next = p->window; + XWINDOW (w->prev)->next = p->window; } else { @@ -2707,8 +2697,10 @@ Qwindowp = intern ("windowp"); staticpro (&Qwindowp); +#ifndef MULTI_FRAME /* Make sure all windows get marked */ staticpro (&minibuf_window); +#endif DEFVAR_LISP ("temp-buffer-show-function", &Vtemp_buffer_show_function, "Non-nil means call as function to display a help buffer.\n\