Function: vc-annotate-show-diff-revision-at-line-internal
vc-annotate-show-diff-revision-at-line-internal is a byte-compiled
function defined in vc-annotate.el.gz.
Signature
(vc-annotate-show-diff-revision-at-line-internal FILEDIFF)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-annotate.el.gz
(defun vc-annotate-show-diff-revision-at-line-internal (filediff)
(defvar vc-allow-async-diff)
(if (not (derived-mode-p 'vc-annotate-mode))
(message "Cannot be invoked outside of a vc annotate buffer")
(let* ((rev-at-line (vc-annotate-extract-revision-at-line))
(prev-rev nil)
(rev (car rev-at-line))
(fname (cdr rev-at-line)))
(if (not rev-at-line)
(message "Cannot extract revision number from the current line")
(setq prev-rev
(let ((vc-use-short-revision vc-annotate-use-short-revision))
(vc-call-backend vc-annotate-backend 'previous-revision
(if filediff fname nil) rev)))
(vc-diff-internal
vc-allow-async-diff
;; The value passed here should follow what
;; `vc-deduce-fileset' returns.
(list vc-annotate-backend
(if filediff
(list fname)
nil))
prev-rev rev)))))