Function: ediff-windows
ediff-windows is a byte-compiled function defined in ediff.el.gz.
Signature
(ediff-windows DUMB-MODE WIND-A WIND-B STARTUP-HOOKS JOB-NAME WORD-MODE)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff.el.gz
;; Compare visible portions of text in WIND-A and WIND-B, which are
;; selected by clicking.
;; With prefix argument, DUMB-MODE, or on a non-graphical display,
;; works as follows:
;; If WIND-A is nil, use selected window.
;; If WIND-B is nil, use window next to WIND-A.
(defun ediff-windows (dumb-mode wind-A wind-B startup-hooks job-name word-mode)
(if (or dumb-mode (not (display-mouse-p)))
(setq wind-A (ediff-get-next-window wind-A nil)
wind-B (ediff-get-next-window wind-B wind-A))
(setq wind-A (ediff-get-window-by-clicking wind-A nil 1)
wind-B (ediff-get-window-by-clicking wind-B wind-A 2)))
(let ((buffer-A (window-buffer wind-A))
(buffer-B (window-buffer wind-B))
beg-A end-A beg-B end-B)
(save-excursion
(save-window-excursion
(sit-for 0) ; sync before using window-start/end -- a precaution
(select-window wind-A)
(setq beg-A (window-start)
end-A (window-end))
(select-window wind-B)
(setq beg-B (window-start)
end-B (window-end))))
(setq buffer-A
(ediff-clone-buffer-for-window-comparison
buffer-A wind-A "-Window.A-")
buffer-B
(ediff-clone-buffer-for-window-comparison
buffer-B wind-B "-Window.B-"))
(ediff-regions-internal
buffer-A beg-A end-A buffer-B beg-B end-B
startup-hooks job-name word-mode nil)))