Function: vc-cvs-after-dir-status
vc-cvs-after-dir-status is a byte-compiled function defined in
vc-cvs.el.gz.
Signature
(vc-cvs-after-dir-status UPDATE-FUNCTION)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-cvs.el.gz
(defun vc-cvs-after-dir-status (update-function)
(let ((result nil)
(translation '((?? . unregistered)
(?A . added)
(?C . conflict)
(?M . edited)
(?P . needs-merge)
(?R . removed)
(?U . needs-update))))
(goto-char (point-min))
(while (not (eobp))
(if (looking-at "^[ACMPRU?] \\(.*\\)$")
(push (list (match-string 1)
(cdr (assoc (char-after) translation)))
result)
(cond
((looking-at "cvs update: warning: .* was lost")
;; Format is:
;; cvs update: warning: FILENAME was lost
;; U FILENAME
;; with FILENAME in the first line possibly enclosed in
;; quotes (since CVS 1.12.3). To avoid problems, use the U
;; line where name is never quoted.
(forward-line 1)
(when (looking-at "^U \\(.*\\)$")
(push (list (match-string 1) 'missing) result)))
((looking-at "cvs update: New directory `\\(.*\\)' -- ignored")
(push (list (match-string 1) 'unregistered) result))))
(forward-line 1))
(funcall update-function result)))