diff options
| author | Richard M. Stallman | 1995-06-14 18:20:14 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-06-14 18:20:14 +0000 |
| commit | 99b92e644a46720af065513f9d4f2439c693ad2c (patch) | |
| tree | 1ec28795398967122cda47e45689b6de6bc466d6 /src | |
| parent | 851359de805f0eb3a15892b6417a178933c8f325 (diff) | |
| download | emacs-99b92e644a46720af065513f9d4f2439c693ad2c.tar.gz emacs-99b92e644a46720af065513f9d4f2439c693ad2c.zip | |
(Fdelete_frame): If the minibuf window was selected, make that remain so.
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/frame.c b/src/frame.c index 3591ef4f20b..685761dc2c2 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -901,6 +901,7 @@ but if the second optional argument FORCE is non-nil, you may do so.") | |||
| 901 | Lisp_Object frame, force; | 901 | Lisp_Object frame, force; |
| 902 | { | 902 | { |
| 903 | struct frame *f; | 903 | struct frame *f; |
| 904 | int minibuffer_selected; | ||
| 904 | 905 | ||
| 905 | if (EQ (frame, Qnil)) | 906 | if (EQ (frame, Qnil)) |
| 906 | { | 907 | { |
| @@ -940,6 +941,8 @@ but if the second optional argument FORCE is non-nil, you may do so.") | |||
| 940 | } | 941 | } |
| 941 | } | 942 | } |
| 942 | 943 | ||
| 944 | minibuffer_selected = EQ (minibuf_window, selected_window); | ||
| 945 | |||
| 943 | /* Don't let the frame remain selected. */ | 946 | /* Don't let the frame remain selected. */ |
| 944 | if (f == selected_frame) | 947 | if (f == selected_frame) |
| 945 | Fhandle_switch_frame (next_frame (frame, Qt), Qnil); | 948 | Fhandle_switch_frame (next_frame (frame, Qt), Qnil); |
| @@ -950,6 +953,11 @@ but if the second optional argument FORCE is non-nil, you may do so.") | |||
| 950 | Fset_window_buffer (selected_frame->minibuffer_window, | 953 | Fset_window_buffer (selected_frame->minibuffer_window, |
| 951 | XWINDOW (minibuf_window)->buffer); | 954 | XWINDOW (minibuf_window)->buffer); |
| 952 | minibuf_window = selected_frame->minibuffer_window; | 955 | minibuf_window = selected_frame->minibuffer_window; |
| 956 | |||
| 957 | /* If the dying minibuffer window was selected, | ||
| 958 | select the new one. */ | ||
| 959 | if (minibuffer_selected) | ||
| 960 | Fselect_window (minibuf_window); | ||
| 953 | } | 961 | } |
| 954 | 962 | ||
| 955 | /* Clear any X selections for this frame. */ | 963 | /* Clear any X selections for this frame. */ |