Function: ediff-skip-unsuitable-frames
ediff-skip-unsuitable-frames is a byte-compiled function defined in
ediff-wind.el.gz.
Signature
(ediff-skip-unsuitable-frames &optional OK-UNSPLITTABLE)
Documentation
Skip unsplittable frames and frames that have dedicated windows.
Create a new splittable frame if none is found.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-wind.el.gz
(defun ediff-skip-unsuitable-frames (&optional ok-unsplittable)
"Skip unsplittable frames and frames that have dedicated windows.
Create a new splittable frame if none is found."
(if (ediff-window-display-p)
(let ((wind-frame (window-frame))
seen-windows)
(while (and (not (memq (selected-window) seen-windows))
(or
(ediff-frame-has-dedicated-windows wind-frame)
(ediff-frame-iconified-p wind-frame)
;; skip small windows
(< (frame-height wind-frame)
(* 3 window-min-height))
(if ok-unsplittable
nil
(ediff-frame-unsplittable-p wind-frame))))
;; remember history
(setq seen-windows (cons (selected-window) seen-windows))
;; try new window
(other-window 1 t)
(setq wind-frame (window-frame))
)
(if (memq (selected-window) seen-windows)
;; fed up, no appropriate frames
(setq wind-frame (make-frame '((unsplittable)))))
(select-frame wind-frame)
)))