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:
parent
ca858c6419
commit
52f134eea7
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user