Function: vc-diff-finish

vc-diff-finish is a byte-compiled function defined in vc.el.gz.

Signature

(vc-diff-finish BUFFER MESSAGES &optional OLDBUF)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc.el.gz
(defun vc-diff-finish (buffer messages &optional oldbuf)
  ;; The empty sync output case has already been handled, so the only
  ;; possibility of an empty output is for an async process.
  (when (buffer-live-p buffer)
    (let ((emptyp (zerop (buffer-size buffer))))
      (with-current-buffer buffer
	(and messages emptyp
	     (let ((inhibit-read-only t))
	       (insert (cdr messages) ".\n")
	       (message "%s" (cdr messages))))
	(diff-setup-whitespace)
	(diff-setup-buffer-type)
        ;; `oldbuf' is the buffer that used to show this diff.  Make
        ;; sure that we restore point in it if it's given.
	(if oldbuf
            (vc-diff-restore-buffer oldbuf buffer)
          (goto-char (point-min)))
	(run-hooks 'vc-diff-finish-functions))
      (when (and messages (not emptyp))
	(message "%sdone" (car messages))))))