diff options
| author | Jim Blandy | 1992-09-30 14:28:46 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-09-30 14:28:46 +0000 |
| commit | e8121f2afae6a3fba46666a96f021817c3d69b59 (patch) | |
| tree | b44f767f136acd213062025640fb4c09ca9ee46a /src/window.c | |
| parent | 28430d3c3bba5ee29ea37a222062a0d639c7986c (diff) | |
| download | emacs-e8121f2afae6a3fba46666a96f021817c3d69b59.tar.gz emacs-e8121f2afae6a3fba46666a96f021817c3d69b59.zip | |
* 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.
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index f11fed9a2df..cbf4d0f062a 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -2486,11 +2486,18 @@ by `current-window-configuration' (which see).") | |||
| 2486 | } | 2486 | } |
| 2487 | 2487 | ||
| 2488 | FRAME_ROOT_WINDOW (f) = data->root_window; | 2488 | FRAME_ROOT_WINDOW (f) = data->root_window; |
| 2489 | /* We also need to restore the frame's selected window; that's taken | ||
| 2490 | care of below, either by calling Fselect_window, or by explicit | ||
| 2491 | assignment. */ | ||
| 2489 | 2492 | ||
| 2493 | #if 0 /* I don't understand why this is needed, and it causes | ||
| 2494 | problems when the frame's old selected window has been | ||
| 2495 | deleted. */ | ||
| 2490 | #ifdef MULTI_FRAME | 2496 | #ifdef MULTI_FRAME |
| 2491 | if (f != selected_frame && ! FRAME_TERMCAP_P (f)) | 2497 | if (f != selected_frame && ! FRAME_TERMCAP_P (f)) |
| 2492 | Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil); | 2498 | Fselect_frame (WINDOW_FRAME (XWINDOW (data->root_window)), Qnil); |
| 2493 | #endif | 2499 | #endif |
| 2500 | #endif | ||
| 2494 | 2501 | ||
| 2495 | /* Set the screen height to the value it had before this function. */ | 2502 | /* Set the screen height to the value it had before this function. */ |
| 2496 | if (frame_size_change) | 2503 | if (frame_size_change) |
| @@ -2504,6 +2511,8 @@ by `current-window-configuration' (which see).") | |||
| 2504 | else | 2511 | else |
| 2505 | Fset_buffer (XWINDOW (selected_window)->buffer); | 2512 | Fset_buffer (XWINDOW (selected_window)->buffer); |
| 2506 | } | 2513 | } |
| 2514 | else | ||
| 2515 | FRAME_SELECTED_WINDOW (f) = data->current_window; | ||
| 2507 | 2516 | ||
| 2508 | Vminibuf_scroll_window = data->minibuf_scroll_window; | 2517 | Vminibuf_scroll_window = data->minibuf_scroll_window; |
| 2509 | return (Qnil); | 2518 | return (Qnil); |