Function: log-view-diff-common

log-view-diff-common is a byte-compiled function defined in log-view.el.gz.

Signature

(log-view-diff-common BEG END &optional WHOLE-CHANGESET)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/log-view.el.gz
(defun log-view-diff-common (beg end &optional whole-changeset)
  (defvar vc-allow-async-diff)
  (let* ((to (log-view-current-tag beg))
         (fr-entry (log-view-current-entry end))
         (fr (cadr fr-entry)))
    ;; When TO and FR are the same, or when point is on a line after
    ;; the last entry, look at the previous revision.
    (when (or (string-equal fr to)
              (>= end
                  (save-excursion
                    (goto-char end)
                    (log-view-end-of-defun)
                    (point))))
      (setq fr (vc-call-backend log-view-vc-backend 'previous-revision nil fr)))
    (vc-diff-internal
     vc-allow-async-diff
     (list log-view-vc-backend
           ;; The value passed here should follow what
           ;; `vc-deduce-fileset' returns.  If we want to see the
           ;; diff for all the files in the changeset, pass NIL for
           ;; the file list.
           (unless whole-changeset
             (if log-view-per-file-logs
                 (list (log-view-current-file))
               log-view-vc-fileset)))
     fr to)))