From d17551171b121c360874a9710e1fee7dddffeb66 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 22 Dec 2002 21:57:05 +0000 Subject: [PATCH] (select_window_1): Undo 9/21 change. --- src/window.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/window.c b/src/window.c index db49c7afceb..fb81e45cbc4 100644 --- a/src/window.c +++ b/src/window.c @@ -2767,8 +2767,7 @@ BUFFER can be a buffer or buffer name. */) DEFUN ("select-window", Fselect_window, Sselect_window, 1, 1, 0, doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer. If WINDOW is not already selected, also make WINDOW's buffer current. -If WINDOW's frame is the selected frame, also make WINDOW the frame's -selected window. +Also make WINDOW the frame's selected window. Note that the main editor command loop selects the buffer of the selected window before each command. */) @@ -2810,7 +2809,16 @@ select_window_1 (window, recordflag) selected_window = window; sf = SELECTED_FRAME (); - if (XFRAME (WINDOW_FRAME (w)) == sf) + if (XFRAME (WINDOW_FRAME (w)) != sf) + { + XFRAME (WINDOW_FRAME (w))->selected_window = window; + /* Use this rather than Fhandle_switch_frame + so that FRAME_FOCUS_FRAME is moved appropriately as we + move around in the state where a minibuffer in a separate + frame is active. */ + Fselect_frame (WINDOW_FRAME (w), Qnil); + } + else sf->selected_window = window; if (recordflag) -- 2.39.2