Function: ediff-vc-internal

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

Signature

(ediff-vc-internal REV1 REV2 &optional STARTUP-HOOKS)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-vers.el.gz
(defun ediff-vc-internal (rev1 rev2 &optional startup-hooks)
  ;; Run Ediff on versions of the current buffer.
  ;; If REV1 is "", use the latest version of the current buffer's file.
  ;; If REV2 is "" then compare current buffer with REV1.
  ;; If the current buffer is named `F', the version is named `F.~REV~'.
  ;; If `F.~REV~' already exists, it is used instead of being re-created.
  (let ((vc-find-revision-no-save (not ediff-keep-tmp-versions))
        rev1buf rev2buf)
    (if (string= rev1 "")
	(setq rev1 (ediff-vc-latest-version (buffer-file-name))))
    (save-window-excursion
      (save-excursion
	(vc-revision-other-window rev1)
	(setq rev1buf (current-buffer)))
      (save-excursion
	(or (string= rev2 "")           ; use current buffer
	    (vc-revision-other-window rev2))
	(setq rev2buf (current-buffer))))
    (ediff-buffers
     rev1buf rev2buf
     startup-hooks
     'ediff-revision)))