1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-12 16:23:57 +00:00

(dired-touch-initial): New fun.

(dired-do-chxxx): Call it for op-symbol `touch'.
This commit is contained in:
Juri Linkov 2004-05-01 03:47:42 +00:00
parent ca858c6419
commit 52f134eea7

View File

@ -185,6 +185,18 @@ List has a form of (file-name full-file-name (attribute-list))"
(file-attributes full-file-name))))
(directory-files dir)))
(defun dired-touch-initial (files)
"Create initial input value for `touch' command."
(let (initial)
(while files
(let ((current (nth 5 (file-attributes (car files)))))
(if (and initial (not (equal initial current)))
(setq initial (current-time) files nil)
(setq initial current))
(setq files (cdr files))))
(format-time-string "%Y%m%d%H%M.%S" initial)))
(defun dired-do-chxxx (attribute-name program op-symbol arg)
;; Change file attributes (mode, group, owner, timestamp) of marked files and
;; refresh their file lines.
@ -196,7 +208,8 @@ List has a form of (file-name full-file-name (attribute-list))"
(new-attribute
(dired-mark-read-string
(concat "Change " attribute-name " of %s to: ")
nil op-symbol arg files))
(if (eq op-symbol 'touch) (dired-touch-initial files))
op-symbol arg files))
(operation (concat program " " new-attribute))
failures)
(setq failures