(defun dot () (point))

(defun vc-ediff () 
"Ediff the current file (following the cursor) in the VC dired buf with its
most recent version."
    (interactive)

    ; Grab the file name at dot.
    (setq d (dot))
    (end-of-line)
    (setq filename (buffer-substring d (dot)))

    ; Call litte bro'.
    (vc-ediff-1 filename)
)


(defun vc-ediff-buffer ()
"Do like vc-ediff (q.v.), but from a file buvfer instead of the vc dired buffer."
    (interactive)
    (vc-ediff-1 (buffer-name))
)

(defun vc-ediff-1 (filename)
"Junior partner for vc-ediff{-buffer}, q.q.v."
    ; Open the most recent checked-in version, courtesy of
    ; vc-version-other-window.  The "" arg means let VC figure out the most
    ; recent version, thank you very much.
    (vc-version-other-window "")

    ; We're now in the buf of the latest version.  Run ediff on the root file
    ; and this version file.
    (ediff filename (buffer-name))
)