Function: window--size-fixed-1
window--size-fixed-1 is a byte-compiled function defined in
window.el.gz.
Signature
(window--size-fixed-1 WINDOW HORIZONTAL IGNORE)
Documentation
Internal function for window-size-fixed-p.
Source Code
;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun window--size-fixed-1 (window horizontal ignore)
"Internal function for `window-size-fixed-p'."
(let ((sub (window-child window)))
(catch 'fixed
(if sub
;; WINDOW is an internal window.
(if (window-combined-p sub horizontal)
;; An iso-combination is fixed size if all its child
;; windows are fixed-size.
(progn
(while sub
(unless (window--size-fixed-1 sub horizontal ignore)
;; We found a non-fixed-size child window, so
;; WINDOW's size is not fixed.
(throw 'fixed nil))
(setq sub (window-right sub)))
;; All child windows are fixed-size, so WINDOW's size is
;; fixed.
(throw 'fixed t))
;; An ortho-combination is fixed-size if at least one of its
;; child windows is fixed-size.
(while sub
(when (window--size-fixed-1 sub horizontal ignore)
;; We found a fixed-size child window, so WINDOW's size
;; is fixed.
(throw 'fixed t))
(setq sub (window-right sub))))
;; WINDOW is a live window.
(and (or (not (windowp ignore)) (not (eq window ignore)))
(or (and (not (eq ignore 'preserved))
(window--preserve-size window horizontal))
(with-current-buffer (window-buffer window)
(if horizontal
(memq window-size-fixed '(width t))
(memq window-size-fixed '(height t))))))))))