Function: window--max-delta-1

window--max-delta-1 is a byte-compiled function defined in window.el.gz.

Signature

(window--max-delta-1 WINDOW DELTA &optional HORIZONTAL IGNORE TRAIL NOUP PIXELWISE)

Documentation

Internal function of window-max-delta.

Source Code

;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun window--max-delta-1 (window delta &optional horizontal ignore trail noup pixelwise)
  "Internal function of `window-max-delta'."
  (if (not (window-parent window))
      ;; Can't go up.  Return DELTA.
      delta
    (let* ((parent (window-parent window))
	   (sub (window-child parent)))
      (catch 'fixed
	(if (window-combined-p sub horizontal)
	    ;; For an iso-combination calculate how much we can get from
	    ;; other child windows.
	    (let ((skip (eq trail 'after)))
	      (while sub
		(cond
		 ((eq sub window)
		  (setq skip (eq trail 'before)))
		 (skip)
		 (t
		  (setq delta
			(+ delta
			   (max
			    (- (window-size sub horizontal pixelwise 'floor)
			       (window-min-size
				sub horizontal ignore pixelwise))
			    0)))))
		(setq sub (window-right sub))))
	  ;; For an ortho-combination throw DELTA when at least one
	  ;; child window is fixed-size.
	  (while sub
	    (when (and (not (eq sub window))
		       (window-size-fixed-p sub horizontal ignore))
	      (throw 'fixed delta))
	    (setq sub (window-right sub))))
	(if noup
	    ;; When NOUP is nil, DELTA is all we can get.
	    delta
	  ;; Else try with parent of WINDOW, passing the DELTA we
	  ;; recovered so far.
	  (window--max-delta-1
	   parent delta horizontal ignore trail nil pixelwise))))))