aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-11-16 14:26:42 +0000
committerRichard M. Stallman1994-11-16 14:26:42 +0000
commit61c6f8734b76291938d115c9fa917c18e5065bdb (patch)
tree5c18110a6fb98c36439fcb564cbd4af6c6f24326
parentd0011c119946db620381192f87f7b7d7290c0894 (diff)
downloademacs-61c6f8734b76291938d115c9fa917c18e5065bdb.tar.gz
emacs-61c6f8734b76291938d115c9fa917c18e5065bdb.zip
(dired-collect-file-versions): Discard version #s from
arg; then do nothing if already in dired-file-version-alist.
-rw-r--r--lisp/dired-aux.el31
1 files changed, 18 insertions, 13 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 878e5c57108..83355b991b6 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -246,19 +246,24 @@ with a prefix argument."
246 (forward-line 1))))) 246 (forward-line 1)))))
247 247
248(defun dired-collect-file-versions (fn) 248(defun dired-collect-file-versions (fn)
249 ;; "If it looks like file FN has versions, return a list of the versions. 249 (let ((fn (file-name-sans-versions fn)))
250 ;;That is a list of strings which are file names. 250 ;; Only do work if this file is not already in the alist.
251 ;;The caller may want to flag some of these files for deletion." 251 (if (assoc fn dired-file-version-alist)
252 (let* ((base-versions 252 nil
253 (concat (file-name-nondirectory fn) ".~")) 253 ;; If it looks like file FN has versions, return a list of the versions.
254 (bv-length (length base-versions)) 254 ;;That is a list of strings which are file names.
255 (possibilities (file-name-all-completions 255 ;;The caller may want to flag some of these files for deletion."
256 base-versions 256 (let* ((base-versions
257 (file-name-directory fn))) 257 (concat (file-name-nondirectory fn) ".~"))
258 (versions (mapcar 'backup-extract-version possibilities))) 258 (bv-length (length base-versions))
259 (if versions 259 (possibilities (file-name-all-completions
260 (setq dired-file-version-alist (cons (cons fn versions) 260 base-versions
261 dired-file-version-alist))))) 261 (file-name-directory fn)))
262 (versions (mapcar 'backup-extract-version possibilities)))
263 (if versions
264 (setq dired-file-version-alist
265 (cons (cons fn versions)
266 dired-file-version-alist)))))))
262 267
263(defun dired-trample-file-versions (fn) 268(defun dired-trample-file-versions (fn)
264 (let* ((start-vn (string-match "\\.~[0-9]+~$" fn)) 269 (let* ((start-vn (string-match "\\.~[0-9]+~$" fn))