diff options
| author | Martin Rudalics | 2011-08-01 20:10:58 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2011-08-01 20:10:58 +0200 |
| commit | d90e2ea0eeccb7422fc7c8ab727a61c49c135e03 (patch) | |
| tree | b6f3ede59fab8e4ac6e16be5e4f8c3ece63c71e9 | |
| parent | ffc21858b7a5d321975dd1673bb94d16a6032bae (diff) | |
| download | emacs-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/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/window.el | 24 |
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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-08-01 Stefan Monnier <monnier@iro.umontreal.ca> | 10 | 2011-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). |