Function: ediff-setup-diff-regions3
ediff-setup-diff-regions3 is a byte-compiled function defined in
ediff-diff.el.gz.
Signature
(ediff-setup-diff-regions3 FILE-A FILE-B FILE-C)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-diff.el.gz
;; Generate the difference vector and overlays for three files
;; File-C is either the third file to compare (in case of 3-way comparison)
;; or it is the ancestor file.
(defun ediff-setup-diff-regions3 (file-A file-B file-C)
;; looking for '-i' or a 'i' among clustered non-long options
(if (string-match "^-i\\| -i\\|\\(^\\| \\)-[^- ]+i" ediff-diff-options)
(error "Option `-i' is not allowed in `ediff-diff3-options'"))
(or (ediff-buffer-live-p ediff-diff-buffer)
(setq ediff-diff-buffer
(get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*"))))
(message "Computing differences ...")
(apply #'ediff-exec-process ediff-diff3-program ediff-diff-buffer 'synchronize
ediff-actual-diff3-options
(cons file-A (if ediff-merge-with-ancestor-job
;; Ancestor must be the middle file
(list file-C file-B)
(list file-B file-C))))
(ediff-prepare-error-list ediff-diff3-ok-lines-regexp ediff-diff-buffer)
;;(message "Computing differences ... done")
(ediff-convert-diffs-to-overlays
(ediff-extract-diffs3
ediff-diff-buffer
ediff-word-mode ediff-3way-comparison-job ediff-narrow-bounds)
))