Function: dired-collect-file-versions

dired-collect-file-versions is a byte-compiled function defined in dired-aux.el.gz.

Signature

(dired-collect-file-versions FN)

Source Code

;; Defined in /usr/src/emacs/lisp/dired-aux.el.gz
(defvar backup-extract-version-start)  ; used in backup-extract-version

(defun dired-collect-file-versions (fn)
  (let ((fn (file-name-sans-versions fn)))
    ;; Only do work if this file is not already in the alist.
    (if (assoc fn dired-file-version-alist)
	nil
      ;; If it looks like file FN has versions, return a list of the versions.
      ;;That is a list of strings which are file names.
      ;;The caller may want to flag some of these files for deletion.
      (let* ((base-versions
	      (concat (file-name-nondirectory fn) ".~"))
	     (backup-extract-version-start (length base-versions))
	     (possibilities (file-name-all-completions
			     base-versions
			     (file-name-directory fn)))
	     (versions (mapcar #'backup-extract-version possibilities)))
	(if versions
	    (setq dired-file-version-alist
		  (cons (cons fn versions)
			dired-file-version-alist)))))))