aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2011-08-01 20:10:58 +0200
committerMartin Rudalics2011-08-01 20:10:58 +0200
commitd90e2ea0eeccb7422fc7c8ab727a61c49c135e03 (patch)
treeb6f3ede59fab8e4ac6e16be5e4f8c3ece63c71e9
parentffc21858b7a5d321975dd1673bb94d16a6032bae (diff)
downloademacs-d90e2ea0eeccb7422fc7c8ab727a61c49c135e03.tar.gz
emacs-d90e2ea0eeccb7422fc7c8ab727a61c49c135e03.zip
Don't set dedicated status for reused normal windows (Bug#9215).
* window.el (display-buffer-in-window): Don't set dedicated status of window here (Bug#9215). (display-buffer-pop-up-window, display-buffer-pop-up-frame) (display-buffer-pop-up-side-window) (display-buffer-in-side-window): Set dedicated status of window here.
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/window.el24
2 files changed, 28 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a3699fc999f..791233439bb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
12011-08-01 Martin Rudalics <rudalics@gmx.at>
2
3 * window.el (display-buffer-in-window): Don't set dedicated status
4 of window here (Bug#9215).
5 (display-buffer-pop-up-window, display-buffer-pop-up-frame)
6 (display-buffer-pop-up-side-window)
7 (display-buffer-in-side-window): Set dedicated status of window
8 here.
9
12011-08-01 Stefan Monnier <monnier@iro.umontreal.ca> 102011-08-01 Stefan Monnier <monnier@iro.umontreal.ca>
2 11
3 * emacs-lisp/package.el (package-generate-autoloads): Load autoloads 12 * emacs-lisp/package.el (package-generate-autoloads): Load autoloads
diff --git a/lisp/window.el b/lisp/window.el
index 905db8dc9b6..215dbab7849 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -4715,15 +4715,12 @@ documentation of `display-buffer-alist' for a description."
4715 (setq window (window-normalize-live-window window)) 4715 (setq window (window-normalize-live-window window))
4716 (let* ((old-frame (selected-frame)) 4716 (let* ((old-frame (selected-frame))
4717 (new-frame (window-frame window)) 4717 (new-frame (window-frame window))
4718 (dedicate (cdr (assq 'dedicate specifiers)))
4719 (no-other-window (cdr (assq 'no-other-window specifiers)))) 4718 (no-other-window (cdr (assq 'no-other-window specifiers))))
4720 ;; Show BUFFER in WINDOW. 4719 ;; Show BUFFER in WINDOW.
4721 (unless (eq buffer (window-buffer window)) 4720 (unless (eq buffer (window-buffer window))
4722 ;; If we show another buffer in WINDOW, undedicate it first. 4721 ;; If we show another buffer in WINDOW, undedicate it first.
4723 (set-window-dedicated-p window nil)) 4722 (set-window-dedicated-p window nil))
4724 (set-window-buffer window buffer) 4723 (set-window-buffer window buffer)
4725 (when dedicate
4726 (set-window-dedicated-p window dedicate))
4727 (when no-other-window 4724 (when no-other-window
4728 (set-window-parameter window 'no-other-window t)) 4725 (set-window-parameter window 'no-other-window t))
4729 (unless (or (eq old-frame new-frame) 4726 (unless (or (eq old-frame new-frame)
@@ -4965,7 +4962,7 @@ Return the new window, nil if it could not be created."
4965 (selected-window (selected-window)) 4962 (selected-window (selected-window))
4966 root new new-parent) 4963 root new new-parent)
4967 4964
4968 ;; We are in an atomic window. 4965 ;; We are in an atomic window.
4969 (when (and (window-parameter window 'window-atom) (not nest)) 4966 (when (and (window-parameter window 'window-atom) (not nest))
4970 ;; Split the root window. 4967 ;; Split the root window.
4971 (setq window (window-atom-root window))) 4968 (setq window (window-atom-root window)))
@@ -5059,6 +5056,10 @@ description."
5059 (setq display-buffer-window (cons window 'new-window)) 5056 (setq display-buffer-window (cons window 'new-window))
5060 ;; Install BUFFER in the new window. 5057 ;; Install BUFFER in the new window.
5061 (display-buffer-in-window buffer window specifiers) 5058 (display-buffer-in-window buffer window specifiers)
5059 (let ((dedicate (cdr (assq 'dedicate specifiers))))
5060 (when dedicate
5061 ;; Dedicate window to buffer.
5062 (set-window-dedicated-p window dedicate)))
5062 ;; Adjust sizes if asked for (for `fit-window-to-buffer' 5063 ;; Adjust sizes if asked for (for `fit-window-to-buffer'
5063 ;; and friends BUFFER must be already shown in the new 5064 ;; and friends BUFFER must be already shown in the new
5064 ;; window). 5065 ;; window).
@@ -5094,7 +5095,12 @@ documentation of `display-buffer-alist' for a description."
5094 (set-window-parameter 5095 (set-window-parameter
5095 window 'quit-restore (list 'new-frame buffer selected-window)) 5096 window 'quit-restore (list 'new-frame buffer selected-window))
5096 (setq display-buffer-window (cons window 'new-frame)) 5097 (setq display-buffer-window (cons window 'new-frame))
5097 (display-buffer-in-window buffer window specifiers)))))) 5098 (display-buffer-in-window buffer window specifiers)
5099 (let ((dedicate (cdr (assq 'dedicate specifiers))))
5100 (when dedicate
5101 ;; Dedicate window to buffer.
5102 (set-window-dedicated-p window dedicate)))
5103 window)))))
5098 5104
5099(defun display-buffer-pop-up-side-window (buffer side slot &optional specifiers) 5105(defun display-buffer-pop-up-side-window (buffer side slot &optional specifiers)
5100 "Display BUFFER in a new window on SIDE of the selected frame. 5106 "Display BUFFER in a new window on SIDE of the selected frame.
@@ -5142,6 +5148,10 @@ failed."
5142 (setq display-buffer-window (cons window 'new-window)) 5148 (setq display-buffer-window (cons window 'new-window))
5143 ;; Install BUFFER in new window. 5149 ;; Install BUFFER in new window.
5144 (display-buffer-in-window buffer window specifiers) 5150 (display-buffer-in-window buffer window specifiers)
5151 (let ((dedicate (cdr (assq 'dedicate specifiers))))
5152 (when dedicate
5153 ;; Dedicate window to buffer.
5154 (set-window-dedicated-p window dedicate)))
5145 ;; Adjust sizes of new window if asked for. 5155 ;; Adjust sizes of new window if asked for.
5146 (display-buffer-set-height window specifiers) 5156 (display-buffer-set-height window specifiers)
5147 (display-buffer-set-width window specifiers) 5157 (display-buffer-set-width window specifiers)
@@ -5282,6 +5292,10 @@ SPECIFIERS must be a list of buffer display specifiers."
5282 (set-window-parameter window 'window-slot slot)) 5292 (set-window-parameter window 'window-slot slot))
5283 ;; Install BUFFER in the window. 5293 ;; Install BUFFER in the window.
5284 (display-buffer-in-window buffer window specifiers) 5294 (display-buffer-in-window buffer window specifiers)
5295 (let ((dedicate (cdr (assq 'dedicate specifiers))))
5296 (when dedicate
5297 ;; Dedicate window to buffer.
5298 (set-window-dedicated-p window dedicate)))
5285 (when new-window 5299 (when new-window
5286 ;; Adjust sizes if asked for (for `fit-window-to-buffer' and 5300 ;; Adjust sizes if asked for (for `fit-window-to-buffer' and
5287 ;; friends BUFFER must be already shown in the new window). 5301 ;; friends BUFFER must be already shown in the new window).