[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105300: Fix size adjustment calls in
From: |
martin rudalics |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105300: Fix size adjustment calls in display-buffer subroutines. |
Date: |
Thu, 21 Jul 2011 10:27:44 +0200 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105300
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Thu 2011-07-21 10:27:44 +0200
message:
Fix size adjustment calls in display-buffer subroutines.
* window.el (display-buffer-pop-up-window)
(display-buffer-pop-up-side-window)
(display-buffer-in-side-window): Call display-buffer-set-height
and display-buffer-set-width after setting the new window's
buffer so `fit-window-to-buffer' and friends work on the right
buffer.
modified:
lisp/ChangeLog
lisp/window.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-07-20 16:45:00 +0000
+++ b/lisp/ChangeLog 2011-07-21 08:27:44 +0000
@@ -1,3 +1,12 @@
+2011-07-21 Martin Rudalics <address@hidden>
+
+ * window.el (display-buffer-pop-up-window)
+ (display-buffer-pop-up-side-window)
+ (display-buffer-in-side-window): Call display-buffer-set-height
+ and display-buffer-set-width after setting the new window's
+ buffer so `fit-window-to-buffer' and friends work on the right
+ buffer.
+
2011-07-20 Sam Steingold <address@hidden>
* progmodes/etags.el (etags-file-of-tag, etags-tags-table-files)
=== modified file 'lisp/window.el'
--- a/lisp/window.el 2011-07-19 07:05:51 +0000
+++ b/lisp/window.el 2011-07-21 08:27:44 +0000
@@ -5051,14 +5051,22 @@
(funcall side window)))))
(when (window-live-p window)
- ;; Adjust sizes if asked for.
- (display-buffer-set-height window specifiers)
- (display-buffer-set-width window specifiers)
+ ;; In `quit-restore' parameter record that we popped up
+ ;; this window, its buffer and which window was selected.
(set-window-parameter
window 'quit-restore (list 'new-window buffer selected-window))
+ ;; For `display-buffer-window' mark window as new.
(setq display-buffer-window (cons window 'new-window))
+ ;; Install BUFFER in the new window.
(display-buffer-in-window buffer window specifiers)
+ ;; Adjust sizes if asked for (for `fit-window-to-buffer'
+ ;; and friends BUFFER must be already shown in the new
+ ;; window).
+ (display-buffer-set-height window specifiers)
+ (display-buffer-set-width window specifiers)
+ ;; Reset list of window's previous buffers to nil.
(set-window-prev-buffers window nil)
+ ;; Return the new window.
(throw 'done window))))))))
(defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers)
@@ -5113,26 +5121,33 @@
(display-buffer-split-window main-or-root on-side specifiers))
fun)
(when window
+ ;; We were able to split off a new window.
(unless main
(walk-window-subtree
(lambda (window)
;; Make all main-or-root subwindows main windows.
(set-window-parameter window 'window-side 'none))
main-or-root t))
- ;; Make sure that parent's window-side is nil.
+ ;; Reset window-side parameter of new window's parent to nil.
(set-window-parameter (window-parent window) 'window-side nil)
- ;; Initialize side.
+ ;; Initialize window-side parameter of new window to SIDE.
(set-window-parameter window 'window-side side)
- ;; Adjust sizes if asked for.
- (display-buffer-set-height window specifiers)
- (display-buffer-set-width window specifiers)
- ;; Set window parameters.
+ ;; Install window-slot parameter of new window.
+ (set-window-parameter window 'window-slot slot)
+ ;; In `quit-restore' parameter record that we popped up a new
+ ;; window.
(set-window-parameter
window 'quit-restore (list 'new-window buffer selected-window))
+ ;; For `display-buffer-window' mark window as new.
(setq display-buffer-window (cons window 'new-window))
- (set-window-parameter window 'window-slot slot)
+ ;; Install BUFFER in new window.
(display-buffer-in-window buffer window specifiers)
+ ;; Adjust sizes of new window if asked for.
+ (display-buffer-set-height window specifiers)
+ (display-buffer-set-width window specifiers)
+ ;; Reset list of new window's previous buffers to nil.
(set-window-prev-buffers window nil)
+ ;; Return the new window.
window)))
(defun display-buffer-in-side-window (buffer side &optional slot specifiers)
@@ -5160,7 +5175,7 @@
window-sides-slots))
(selected-window (selected-window))
window this-window this-slot prev-window next-window
- best-window best-slot abs-slot dedicated)
+ best-window best-slot abs-slot dedicated new-window)
(unless (numberp slot)
(setq slot 0))
@@ -5233,13 +5248,16 @@
(setq window (display-buffer-split-window
prev-window prev-side specifiers)))))
(progn
- (display-buffer-set-height window specifiers)
- (display-buffer-set-width window specifiers)
+ ;; In `quit-restore' parameter record that we popped up
+ ;; this window, its buffer and the old selected window.
(set-window-parameter
window 'quit-restore
(list 'new-window buffer selected-window))
+ ;; For `display-buffer-window' mark window as new.
(setq display-buffer-window (cons window 'new-window))
- window))
+ ;; Record that window is new, we need this for
+ ;; adjusting sizes below.
+ (setq new-window window)))
(and best-window
(setq window best-window)
;; Reuse best window (the window nearest to SLOT).
@@ -5262,7 +5280,17 @@
(unless (window-parameter window 'window-slot)
;; Don't change exisiting slot value.
(set-window-parameter window 'window-slot slot))
- (display-buffer-in-window buffer window specifiers)))))
+ ;; Install BUFFER in the window.
+ (display-buffer-in-window buffer window specifiers)
+ (when new-window
+ ;; Adjust sizes if asked for (for `fit-window-to-buffer' and
+ ;; friends BUFFER must be already shown in the new window).
+ (display-buffer-set-height window specifiers)
+ (display-buffer-set-width window specifiers)
+ ;; Reset list of new window's previous buffers to nil.
+ (set-window-prev-buffers window nil))
+ ;; Return the window used.
+ window))))
(defun window-normalize-buffer-to-display (buffer-or-name)
"Normalize BUFFER-OR-NAME argument for buffer display functions.
@@ -6926,7 +6954,7 @@
;; `with-selected-window' should orderly restore the current buffer.
(with-selected-window window
;; We are in WINDOW's buffer now.
- (let* ( ;; Adjust MIN-HEIGHT.
+ (let* (;; Adjust MIN-HEIGHT.
(min-height
(if override
(window-min-size window nil window)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105300: Fix size adjustment calls in display-buffer subroutines.,
martin rudalics <=