Function: vc-src-dir-status-files
vc-src-dir-status-files is a byte-compiled function defined in
vc-src.el.gz.
Signature
(vc-src-dir-status-files DIR FILES UPDATE-FUNCTION)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-src.el.gz
;; FIXME: Respect `vc-dir-process-output-limit'.
(defun vc-src-dir-status-files (dir files update-function)
(let* ((result nil)
(status nil)
(default-directory (or dir default-directory))
(out
(with-output-to-string
(with-current-buffer standard-output
(setq status
(ignore-errors
(apply
#'process-file vc-src-program nil t nil
"status" "-a"
(mapcar #'file-relative-name files)))))))
dlist)
(when (eq 0 status)
(dolist (line (split-string out "[\n\r]" t))
(let* ((pair (split-string line "[\t]" t))
(state (vc-src--parse-state (car pair)))
(frel (cadr pair)))
(if (file-directory-p frel)
(push frel dlist)
(when (not (eq state 'up-to-date))
(push (list frel state) result)))))
(dolist (drel dlist)
(let ((dresult (vc-src-dir-status-files
(expand-file-name drel) nil #'identity)))
(dolist (dres dresult)
(push (list (concat (file-name-as-directory drel) (car dres))
(cadr dres))
result))))
(funcall update-function result))))