*** window.el.~1.168.~ 2008-11-18 22:26:34.390625000 +0100 --- window.el 2008-11-24 10:31:29.953125000 +0100 *************** *** 1038,1051 **** (window--try-to-split-window (get-lru-window frame-to-use t)))) (window--display-buffer-2 buffer window-to-use))) ! ((setq window-to-use ! ;; Reuse an existing window. ! (or (get-lru-window frame-to-use) ! (get-buffer-window buffer 'visible) ! (get-largest-window 'visible nil) ! (get-buffer-window buffer 0) ! (get-largest-window 0 nil) ! (frame-selected-window (funcall pop-up-frame-function)))) (window--even-window-heights window-to-use) (window--display-buffer-2 buffer window-to-use))))) --- 1038,1063 ---- (window--try-to-split-window (get-lru-window frame-to-use t)))) (window--display-buffer-2 buffer window-to-use))) ! ((let ((window-to-undedicate ! ;; When NOT-THIS-WINDOW is non-nil, temporarily dedicate ! ;; the selected window to its buffer, to avoid that some of ! ;; the routines below choose it. (Bug#1415) ! (and not-this-window ! (not (window-dedicated-p (selected-window))) ! (set-window-dedicated-p (selected-window) t) ! (selected-window)))) ! (unwind-protect ! (setq window-to-use ! ;; Reuse an existing window. ! (or (get-lru-window frame-to-use) ! (get-buffer-window buffer 'visible) ! (get-largest-window 'visible) ! (get-buffer-window buffer 0) ! (get-largest-window 0) ! (frame-selected-window (funcall pop-up-frame-function)))) ! (when (window-live-p window-to-undedicate) ! ;; Restore dedicated status of selected window. ! (set-window-dedicated-p window-to-undedicate nil)))) (window--even-window-heights window-to-use) (window--display-buffer-2 buffer window-to-use)))))