From: Juri Linkov Date: Sat, 1 May 2004 03:47:42 +0000 (+0000) Subject: (dired-touch-initial): New fun. X-Git-Tag: ttn-vms-21-2-B4~6485 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=52f134eea75b45425febcb0f95d51f0a5e12ebb2;p=emacs.git (dired-touch-initial): New fun. (dired-do-chxxx): Call it for op-symbol `touch'. --- diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 0709e0cfe1c..dbc3d763040 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -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