diff options
Diffstat (limited to 'src/frame.c')
-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.") Lisp_Object frame, force; { struct frame *f; + int minibuffer_selected; if (EQ (frame, Qnil)) { @@ -940,6 +941,8 @@ but if the second optional argument FORCE is non-nil, you may do so.") } } + minibuffer_selected = EQ (minibuf_window, selected_window); + /* Don't let the frame remain selected. */ if (f == selected_frame) 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.") Fset_window_buffer (selected_frame->minibuffer_window, XWINDOW (minibuf_window)->buffer); minibuf_window = selected_frame->minibuffer_window; + + /* If the dying minibuffer window was selected, + select the new one. */ + if (minibuffer_selected) + Fselect_window (minibuf_window); } /* Clear any X selections for this frame. */ |