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))))))))))