Function: ediff-regions-internal

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

Signature

(ediff-regions-internal BUFFER-A BEG-A END-A BUFFER-B BEG-B END-B STARTUP-HOOKS JOB-NAME WORD-MODE SETUP-PARAMETERS)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff.el.gz
     startup-hooks 'ediff-regions-linewise nil nil))) ; no word mode

;; compare region beg-A to end-A of buffer-A
;; to regions beg-B -- end-B in buffer-B.
(defun ediff-regions-internal (buffer-A beg-A end-A buffer-B beg-B end-B
					startup-hooks job-name word-mode
					setup-parameters)
  (let ((tmp-buffer (get-buffer-create ediff-tmp-buffer))
	overl-A overl-B
	file-A file-B)
    (unwind-protect
	(progn
	  ;; in case beg/end-A/B aren't markers--make them into markers
	  (ediff-with-current-buffer buffer-A
	    (setq beg-A (move-marker (make-marker) beg-A)
		  end-A (move-marker (make-marker) end-A)))
	  (ediff-with-current-buffer buffer-B
	    (setq beg-B (move-marker (make-marker) beg-B)
		  end-B (move-marker (make-marker) end-B)))

	  ;; make file-A
	  (if word-mode
	      (ediff-wordify beg-A end-A buffer-A tmp-buffer)
	    (ediff-copy-to-buffer beg-A end-A buffer-A tmp-buffer))
	  (setq file-A (ediff-make-temp-file tmp-buffer "regA"))

	  ;; make file-B
	  (if word-mode
	      (ediff-wordify beg-B end-B buffer-B tmp-buffer)
	    (ediff-copy-to-buffer beg-B end-B buffer-B tmp-buffer))
	  (setq file-B (ediff-make-temp-file tmp-buffer "regB"))

	  (setq overl-A (ediff-make-bullet-proof-overlay beg-A end-A buffer-A))
	  (setq overl-B (ediff-make-bullet-proof-overlay beg-B end-B buffer-B))
	  (ediff-setup buffer-A file-A
		       buffer-B file-B
		       nil nil	    ; buffer & file C
		       (cons (lambda ()
			       (delete-file file-A)
			       (delete-file file-B))
			     startup-hooks)
		       (append
			(list (cons 'ediff-word-mode  word-mode)
			      (cons 'ediff-narrow-bounds (list overl-A overl-B))
			      (cons 'ediff-job-name job-name))
			setup-parameters)))
      (if (and (stringp file-A) (file-exists-p file-A))
	  (delete-file file-A))
      (if (and (stringp file-B) (file-exists-p file-B))
	  (delete-file file-B)))
    ))