Function: vc-dir-marked-only-files-and-states
vc-dir-marked-only-files-and-states is a byte-compiled function
defined in vc-dir.el.gz.
Signature
(vc-dir-marked-only-files-and-states)
Documentation
Return the list of conses (FILE . STATE) for the marked files.
For marked directories return the corresponding conses for the child files.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-dir.el.gz
(defun vc-dir-marked-only-files-and-states ()
"Return the list of conses (FILE . STATE) for the marked files.
For marked directories return the corresponding conses for the
child files."
(let ((crt (ewoc-nth vc-ewoc 0))
result)
(while crt
(let ((crt-data (ewoc-data crt)))
(if (vc-dir-fileinfo->marked crt-data)
;; FIXME: use vc-dir-child-files-and-states here instead of duplicating it.
(if (vc-dir-fileinfo->directory crt-data)
(let* ((dir (vc-dir-fileinfo->directory crt-data))
;; (dirlen (length dir))
data)
(while
(and (setq crt (ewoc-next vc-ewoc crt))
(string-prefix-p dir
(progn
(setq data (ewoc-data crt))
(vc-dir-node-directory crt))))
(unless (vc-dir-fileinfo->directory data)
(push
(cons (expand-file-name (vc-dir-fileinfo->name data))
(vc-dir-fileinfo->state data))
result))))
(push (cons (expand-file-name (vc-dir-fileinfo->name crt-data))
(vc-dir-fileinfo->state crt-data))
result)
(setq crt (ewoc-next vc-ewoc crt)))
(setq crt (ewoc-next vc-ewoc crt)))))
(nreverse result)))