]> code.delx.au - gnu-emacs/commitdiff
In quit-window call unrecord-window-buffer later. (Bug#9937)
authorMartin Rudalics <rudalics@gmx.at>
Wed, 2 Nov 2011 09:39:18 +0000 (10:39 +0100)
committerMartin Rudalics <rudalics@gmx.at>
Wed, 2 Nov 2011 09:39:18 +0000 (10:39 +0100)
* 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.

lisp/ChangeLog
lisp/window.el

index 4591b9b9281c1b64500c5b79e50282aa620e4fe8..a009352e46eff65dd4a3b9d5cbb05f943564b301 100644 (file)
@@ -1,3 +1,10 @@
+2011-11-02  Martin Rudalics  <rudalics@gmx.at>
+
+       * 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  <lekktu@gmail.com>
 
        * vc/vc-bzr.el (vc-bzr-state, vc-bzr-after-dir-status):
index d254248c2c72b99f6a8e134c44ba44105e9212bf..d93658a2cef79c7f1bdfa344182f04a0e2cd3846 100644 (file)
@@ -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.