# HG changeset patch # User Juri Linkov # Date 1275935282 -10800 # Node ID 4a42850741ad2a856d8a5192d368ef61236ea72c # Parent c4f9f87f04a26cbee87bf8818a84bd9626aaff39 * window.el (pop-to-buffer): Remove the conditional that compares new-window and old-window, so it will reselect the selected window unconditionally. http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00078.html * window.c (Fselect_window): Move `record_buffer' up to the beginning of this function, so the buffer gets recorded even if the selected window does not change. http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00137.html diff -r c4f9f87f04a2 -r 4a42850741ad lisp/ChangeLog --- a/lisp/ChangeLog Mon Jun 07 12:35:57 2010 +0200 +++ b/lisp/ChangeLog Mon Jun 07 21:28:02 2010 +0300 @@ -1,3 +1,10 @@ +2010-06-07 Martin Rudalics + + * window.el (pop-to-buffer): Remove the conditional that + compares new-window and old-window, so it will reselect + the selected window unconditionally. + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00078.html + 2010-06-07 Stefan Monnier * emacs-lisp/smie.el (smie-indent-offset-after) diff -r c4f9f87f04a2 -r 4a42850741ad lisp/window.el --- a/lisp/window.el Mon Jun 07 12:35:57 2010 +0200 +++ b/lisp/window.el Mon Jun 07 21:28:02 2010 +0300 @@ -1220,19 +1220,16 @@ (let ((buf (get-buffer-create buffer-or-name))) (set-buffer-major-mode buf) buf)))) - (old-window (selected-window)) (old-frame (selected-frame)) new-window new-frame) (set-buffer buffer) (setq new-window (display-buffer buffer other-window)) - (unless (eq new-window old-window) - ;; `display-buffer' has chosen another window, select it. - (select-window new-window norecord) - (setq new-frame (window-frame new-window)) - (unless (eq new-frame old-frame) - ;; `display-buffer' has chosen another frame, make sure it gets - ;; input focus and is risen. - (select-frame-set-input-focus new-frame))) + (select-window new-window norecord) + (setq new-frame (window-frame new-window)) + (unless (eq new-frame old-frame) + ;; `display-buffer' has chosen another frame, make sure it gets + ;; input focus and is risen. + (select-frame-set-input-focus new-frame)) buffer)) ;; I think this should be the default; I think people will prefer it--rms. diff -r c4f9f87f04a2 -r 4a42850741ad src/ChangeLog --- a/src/ChangeLog Mon Jun 07 12:35:57 2010 +0200 +++ b/src/ChangeLog Mon Jun 07 21:28:02 2010 +0300 @@ -1,3 +1,10 @@ +2010-06-07 Martin Rudalics + + * window.c (Fselect_window): Move `record_buffer' up to the + beginning of this function, so the buffer gets recorded + even if the selected window does not change. + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00137.html + 2010-06-07 Juanma Barranquero * cmds.c (Fforward_char, Fbackward_char): Fix typos in docstrings. diff -r c4f9f87f04a2 -r 4a42850741ad src/window.c --- a/src/window.c Mon Jun 07 12:35:57 2010 +0200 +++ b/src/window.c Mon Jun 07 21:28:02 2010 +0300 @@ -3611,6 +3611,7 @@ { ++window_select_count; XSETFASTINT (w->use_time, window_select_count); + record_buffer (w->buffer); } if (EQ (window, selected_window)) @@ -3646,8 +3647,6 @@ selected_window = window; - if (NILP (norecord)) - record_buffer (w->buffer); Fset_buffer (w->buffer); XBUFFER (w->buffer)->last_selected_window = window;