Function: window--try-to-split-window-in-direction

window--try-to-split-window-in-direction is a byte-compiled function defined in window.el.gz.

Signature

(window--try-to-split-window-in-direction WINDOW DIRECTION ALIST)

Documentation

Try to split WINDOW in DIRECTION.

DIRECTION is passed as SIDE argument to split-window-no-error. ALIST is a buffer display alist.

Source Code

;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun window--try-to-split-window-in-direction (window direction alist)
  "Try to split WINDOW in DIRECTION.
DIRECTION is passed as SIDE argument to `split-window-no-error'.
ALIST is a buffer display alist."
  (and (not (frame-parameter (window-frame window) 'unsplittable))
       (let* ((window-combination-limit
	       ;; When `window-combination-limit' equals
	       ;; `display-buffer' or equals `resize-window' and a
	       ;; `window-height' or `window-width' alist entry are
	       ;; present, bind it to t so resizing steals space
	       ;; preferably from the window that was split.
	       (if (or (eq window-combination-limit 'display-buffer)
		       (and (eq window-combination-limit 'window-size)
			    (or (cdr (assq 'window-height alist))
				(cdr (assq 'window-width alist)))))
		   t
		 window-combination-limit))
	      (new-window (split-window-no-error window nil direction)))
	 (and (window-live-p new-window) new-window))))