# HG changeset patch # User Jim Blandy # Date 717863326 0 # Node ID 5c66007ecabb35010c825182a5730c16533c6508 # Parent 74ae34a80f94d5c4163b56b3d224d3aee750a0a7 * window.c (Fset_window_configuration): Don't select the frame just because we restored its configuration. * window.c (Fset_window_configuration): Don't forget to set the frame's selected window when we can't call Fselect_window. diff -r 74ae34a80f94 -r 5c66007ecabb src/window.c --- a/src/window.c Wed Sep 30 11:57:51 1992 +0000 +++ b/src/window.c Wed Sep 30 14:28:46 1992 +0000 @@ -2486,11 +2486,18 @@ } FRAME_ROOT_WINDOW (f) = data->root_window; - + /* We also need to restore the frame's selected window; that's taken + care of below, either by calling Fselect_window, or by explicit + assignment. */ + +#if 0 /* I don't understand why this is needed, and it causes + problems when the frame's old selected window has been + deleted. */ #ifdef MULTI_FRAME if (f != selected_frame && ! FRAME_TERMCAP_P (f)) Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil); #endif +#endif /* Set the screen height to the value it had before this function. */ if (frame_size_change) @@ -2504,6 +2511,8 @@ else Fset_buffer (XWINDOW (selected_window)->buffer); } + else + FRAME_SELECTED_WINDOW (f) = data->current_window; Vminibuf_scroll_window = data->minibuf_scroll_window; return (Qnil);