mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-29 19:48:19 +00:00
(display-buffer): Fix handling of not-this-window
argument. (Bug#1415)
This commit is contained in:
parent
0956be4f1a
commit
a9d451f034
@ -1,3 +1,8 @@
|
||||
2008-11-27 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* window.el (display-buffer): Fix handling of not-this-window
|
||||
argument. (Bug#1415)
|
||||
|
||||
2008-11-27 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* international/characters.el: Set category 'C' to characters
|
||||
|
@ -1038,14 +1038,31 @@ consider all visible or iconified frames."
|
||||
(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))))
|
||||
((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 `get-' routines below choose it. (Bug#1415)
|
||||
(and not-this-window (not (window-dedicated-p))
|
||||
(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)
|
||||
(let ((window (get-buffer-window buffer 'visible)))
|
||||
(unless (and not-this-window
|
||||
(eq window (selected-window)))
|
||||
window))
|
||||
(get-largest-window 'visible)
|
||||
(let ((window (get-buffer-window buffer 0)))
|
||||
(unless (and not-this-window
|
||||
(eq window (selected-window)))
|
||||
window))
|
||||
(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)))))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user