Function: vc-dir-resynch-file
vc-dir-resynch-file is a byte-compiled function defined in
vc-dir.el.gz.
Signature
(vc-dir-resynch-file &optional FNAME)
Documentation
Update the entries for FNAME in any directory buffers that list it.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-dir.el.gz
(defun vc-dir-resynch-file (&optional fname)
"Update the entries for FNAME in any directory buffers that list it."
(let ((file (expand-file-name (or fname buffer-file-name)))
(drop '()))
(save-current-buffer
;; look for a vc-dir buffer that might show this file.
(dolist (status-buf vc-dir-buffers)
(if (not (buffer-live-p status-buf))
(push status-buf drop)
(set-buffer status-buf)
(if (not (derived-mode-p 'vc-dir-mode))
(push status-buf drop)
(let ((ddir default-directory))
(when (string-prefix-p ddir file)
(if (file-directory-p file)
(progn
(vc-dir-resync-directory-files file)
(ewoc-set-hf vc-ewoc
(vc-dir-headers vc-dir-backend default-directory) ""))
(let* ((complete-state (vc-dir-recompute-file-state file ddir))
(state (cadr complete-state)))
(vc-dir-update
(list complete-state)
status-buf (or (not state)
(eq state 'up-to-date)))))))))))
;; Remove out-of-date entries from vc-dir-buffers.
(dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers)))))