Function: vc-resynch-window

vc-resynch-window is a byte-compiled function defined in vc-dispatcher.el.gz.

Signature

(vc-resynch-window FILE &optional KEEP NOQUERY RESET-VC-INFO)

Documentation

If FILE is in the current buffer, either revert or unvisit it.

The choice between revert (to see expanded keywords) and unvisit depends on KEEP. NOQUERY if non-nil inhibits confirmation for reverting. NOQUERY should be t *only* if it is known the only difference between the buffer and the file is due to modifications by the dispatcher client code, rather than user editing!

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-dispatcher.el.gz
(defun vc-resynch-window (file &optional keep noquery reset-vc-info)
  "If FILE is in the current buffer, either revert or unvisit it.
The choice between revert (to see expanded keywords) and unvisit
depends on KEEP.  NOQUERY if non-nil inhibits confirmation for
reverting.  NOQUERY should be t *only* if it is known the only
difference between the buffer and the file is due to
modifications by the dispatcher client code, rather than user
editing!"
  (and (string= buffer-file-name
                (if (file-name-absolute-p file)
                    file
                  (expand-file-name file (vc-root-dir))))
       (if keep
	   (when (file-exists-p file)
	     (when reset-vc-info
	       (vc-file-clearprops file))
	     (vc-revert-buffer-internal t noquery)

	     ;; VC operations might toggle the read-only state.  In
	     ;; that case we need to adjust the `view-mode' status
	     ;; when `view-read-only' is non-nil.
             (and view-read-only
                  (if (file-writable-p file)
                      (and view-mode
                           (let ((view-old-buffer-read-only nil))
                             (view-mode-exit t)))
                    (and (not view-mode)
                         (not (eq (get major-mode 'mode-class) 'special))
                         (view-mode-enter))))

             ;; FIXME: Why use a hook?  Why pass it buffer-file-name?
	     (run-hook-with-args 'vc-mode-line-hook buffer-file-name))
	 (kill-buffer (current-buffer)))))