From: Martin Rudalics Date: Wed, 2 Nov 2011 09:39:18 +0000 (+0100) Subject: In quit-window call unrecord-window-buffer later. (Bug#9937) X-Git-Tag: emacs-pretest-24.0.92~232 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/1885e5b80a94e5653dd604fb0b7e579d6fe64c3e In quit-window call unrecord-window-buffer later. (Bug#9937) * window.el (quit-window): Call unrecord-window-buffer after showing another buffer in the window. (Bug#9937) (bury-buffer): Call switch-to-prev-buffer with second argument 'bury. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4591b9b928..a009352e46 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2011-11-02 Martin Rudalics + + * window.el (quit-window): Call unrecord-window-buffer after + showing another buffer in the window. (Bug#9937) + (bury-buffer): Call switch-to-prev-buffer with second argument + 'bury. + 2011-11-02 Juanma Barranquero * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status): diff --git a/lisp/window.el b/lisp/window.el index d254248c2c..d93658a2ce 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -2852,7 +2852,7 @@ displayed there." (t ;; Switch to another buffer in window. (set-window-dedicated-p nil nil) - (switch-to-prev-buffer nil 'kill))) + (switch-to-prev-buffer nil 'bury))) ;; Always return nil. nil)) @@ -2985,7 +2985,6 @@ one. If non-nil, reset `quit-restore' parameter to nil." (setq resize (with-current-buffer buffer (and temp-buffer-resize-mode (/= (nth 3 quad) (window-total-size window))))) - (unrecord-window-buffer window buffer) (set-window-dedicated-p window nil) (when resize ;; Try to resize WINDOW to its old height but don't signal an @@ -2993,9 +2992,12 @@ one. If non-nil, reset `quit-restore' parameter to nil." (condition-case nil (window-resize window (- (nth 3 quad) (window-total-size window))) (error nil))) - ;; Restore WINDOW's previous buffer, window start and point. + ;; Restore WINDOW's previous buffer, start and point position. (set-window-buffer-start-and-point window (nth 0 quad) (nth 1 quad) (nth 2 quad)) + ;; Unrecord WINDOW's buffer here (Bug#9937) to make sure it's not + ;; re-recorded by `set-window-buffer'. + (unrecord-window-buffer window buffer) ;; Reset the quit-restore parameter. (set-window-parameter window 'quit-restore nil) ;; Select old window.