From 97adfb975605aa3a56a556fc4bf6a15c8a53792a Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 22 Sep 2011 21:42:40 -0400 Subject: [PATCH] * window.el (pop-to-buffer): Ensure right window is selected if we chose another frame. Otherwise, C-x 5 b might not select the right window if reusing a window on another frame. --- lisp/ChangeLog | 5 +++++ lisp/window.el | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cfa2035db91..ceef0b7f9b2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-09-23 Chong Yidong + + * window.el (pop-to-buffer): Ensure right window is selected if we + chose another frame. + 2011-09-22 Eli Zaretskii * simple.el (what-cursor-position): Use get-char-property-change diff --git a/lisp/window.el b/lisp/window.el index fb74c439247..8a72c28f894 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4853,12 +4853,11 @@ at the front of the list of recently selected ones." (old-frame (selected-frame)) (window (display-buffer buffer action)) (frame (window-frame window))) - (if (eq frame old-frame) - ;; Make sure new window is selected (Bug#8615), (Bug#6954). - (select-window window norecord) - ;; If `display-buffer' has chosen another frame, make sure it - ;; gets input focus. + ;; If we chose another frame, make sure it gets input focus. + (unless (eq frame old-frame) (select-frame-set-input-focus frame norecord)) + ;; Make sure new window is selected (Bug#8615), (Bug#6954). + (select-window window norecord) buffer)) (defun pop-to-buffer-same-window (buffer &optional norecord) -- 2.39.5