Function: ediff-setup-diff-regions

ediff-setup-diff-regions is a byte-compiled function defined in ediff-diff.el.gz.

Signature

(ediff-setup-diff-regions FILE-A FILE-B FILE-C)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-diff.el.gz
;;; Functions

;; Generate the difference vector and overlays for the two files
;; With optional arg REG-TO-REFINE, refine this region.
;; File-C argument is not used here. It is there just because
;; ediff-setup-diff-regions is called via a funcall to
;; ediff-setup-diff-regions-function, which can also have the value
;; ediff-setup-diff-regions3, which takes 4 arguments.
(defun ediff-setup-diff-regions (file-A file-B _file-C)
  ;; looking for '-c', '-i', '-u', or 'c', 'i', 'u' among clustered non-long options
  (if (string-match "^-[ciu]\\| -[ciu]\\|\\(^\\| \\)-[^- ]+[ciu]"
		    ediff-diff-options)
      (error "Options `-c', `-u', and `-i' are not allowed in `ediff-diff-options'"))

  ;; create, if it doesn't exist
  (or (ediff-buffer-live-p ediff-diff-buffer)
      (setq ediff-diff-buffer
	    (get-buffer-create (ediff-unique-buffer-name "*ediff-diff" "*"))))
  (ediff-make-diff2-buffer ediff-diff-buffer file-A file-B)
  (ediff-prepare-error-list ediff-diff-ok-lines-regexp ediff-diff-buffer)
  (ediff-convert-diffs-to-overlays
   (ediff-extract-diffs
    ediff-diff-buffer ediff-word-mode ediff-narrow-bounds)))