From: Richard M. Stallman Date: Sun, 22 Dec 2002 21:57:05 +0000 (+0000) Subject: (select_window_1): Undo 9/21 change. X-Git-Tag: ttn-vms-21-2-B4~11942 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d17551171b121c360874a9710e1fee7dddffeb66;p=emacs.git (select_window_1): Undo 9/21 change. --- 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)