Function: ediff-keep-window-config
ediff-keep-window-config is a byte-compiled function defined in
ediff-wind.el.gz.
Signature
(ediff-keep-window-config CONTROL-BUF)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-wind.el.gz
;;; Functions to decide when to redraw windows
(defun ediff-keep-window-config (control-buf)
(and (eq control-buf (current-buffer))
(/= (buffer-size) 0)
(ediff-with-current-buffer control-buf
(let ((ctl-wind ediff-control-window)
(A-wind ediff-window-A)
(B-wind ediff-window-B)
(C-wind ediff-window-C)
(ancestor-job ediff-merge-with-ancestor-job)
(Ancestor-wind ediff-window-Ancestor))
(and
(ediff-window-visible-p A-wind)
(ediff-window-visible-p B-wind)
;; if buffer C is defined then take it into account
(or (not ediff-3way-job)
(ediff-window-visible-p C-wind))
(or (not ancestor-job)
(not ediff-show-ancestor)
(ediff-window-visible-p Ancestor-wind))
(eq (window-buffer A-wind) ediff-buffer-A)
(eq (window-buffer B-wind) ediff-buffer-B)
(or (not ediff-3way-job)
(eq (window-buffer C-wind) ediff-buffer-C))
(or (not ancestor-job)
(not ediff-show-ancestor)
(eq (window-buffer Ancestor-wind) ediff-ancestor-buffer))
(string= ediff-window-config-saved
(format "%S%S%S%S%S%S%S%S"
ctl-wind A-wind B-wind C-wind Ancestor-wind
ediff-split-window-function
(ediff-multiframe-setup-p)
ediff-wide-display-p)))))))