From 734fbd863cc9e3475294f800e62283ea09e6c3ba Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Mon, 20 Aug 2012 11:28:39 +0200 Subject: [PATCH] In select_window always make selected window's buffer current. * window.c (select_window): Always make selected window's buffer current. --- src/ChangeLog | 5 +++++ src/window.c | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 58fa0de36b2..c6a45756ec5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-08-20 Martin Rudalics + + * window.c (select_window): Always make selected window's buffer + current. + 2012-08-20 Dmitry Antipov Use AREF and ASET for docstrings of category tables. diff --git a/src/window.c b/src/window.c index b379eecabdd..9045721009d 100644 --- a/src/window.c +++ b/src/window.c @@ -477,6 +477,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) record_buffer (w->buffer); } + /* Make the selected window's buffer current. */ + Fset_buffer (w->buffer); + if (EQ (window, selected_window) && !inhibit_point_swap) return window; @@ -496,9 +499,9 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) else fset_selected_window (sf, window); - /* Store the current buffer's actual point into the - old selected window. It belongs to that window, - and when the window is not selected, must be in the window. */ + /* Store the old selected window's buffer's point in pointm of the old + selected window. It belongs to that window, and when the window is + not selected, must be in the window. */ if (!inhibit_point_swap) { ow = XWINDOW (selected_window); @@ -509,9 +512,6 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) } selected_window = window; - - Fset_buffer (w->buffer); - bset_last_selected_window (XBUFFER (w->buffer), window); /* Go to the point recorded in the window. -- 2.39.5