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

(dired-do-touch): New fun.

(dired-do-chxxx): Add argument -t for touch operation.
This commit is contained in:
Juri Linkov 2004-03-31 16:33:00 +00:00
parent 57654b8c0c
commit 3ccd316045
2 changed files with 28 additions and 2 deletions

View File

@ -1,3 +1,20 @@
2004-03-31 Juri Linkov <juri@jurta.org>
* dired.el: Add autoload for `dired-do-touch'.
(dired-touch-program): New var.
(dired-mode-map): Bind `dired-do-touch' to T and add menu-item.
(dired-no-confirm): Add `touch' to docstring.
* dired-aux.el (dired-do-touch): New fun.
(dired-do-chxxx): Add argument -t for touch operation.
* dired-x.el (dired-mark-sexp): Replace hard-coded month names by
`dired-move-to-filename-regexp'.
2004-03-31 H,Ae(Bkan Granath <hakan.granath@kau.se> (tiny change)
* dired.el (dired-move-to-filename-regexp): Add . to HH:MM.
2004-03-30 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* progmodes/ebnf2ps.el (ebnf-eps-finish-and-write): Write a buffer if

View File

@ -186,7 +186,7 @@ List has a form of (file-name full-file-name (attribute-list))"
(directory-files dir)))
(defun dired-do-chxxx (attribute-name program op-symbol arg)
;; Change file attributes (mode, group, owner) of marked files and
;; Change file attributes (mode, group, owner, timestamp) of marked files and
;; refresh their file lines.
;; ATTRIBUTE-NAME is a string describing the attribute to the user.
;; PROGRAM is the program used to change the attribute.
@ -203,7 +203,10 @@ List has a form of (file-name full-file-name (attribute-list))"
(dired-bunch-files 10000
(function dired-check-process)
(append
(list operation program new-attribute)
(list operation program)
(if (eq op-symbol 'touch)
'("-t") nil)
(list new-attribute)
(if (string-match "gnu" system-configuration)
'("--") nil))
files))
@ -236,6 +239,12 @@ This calls chmod, thus symbolic modes like `g+w' are allowed."
(error "chown not supported on this system"))
(dired-do-chxxx "Owner" dired-chown-program 'chown arg))
(defun dired-do-touch (&optional arg)
"Change the timestamp of the marked (or next ARG) files.
This calls touch."
(interactive "P")
(dired-do-chxxx "Timestamp" dired-touch-program 'touch arg))
;; Process all the files in FILES in batches of a convenient size,
;; by means of (FUNCALL FUNCTION ARGS... SOME-FILES...).
;; Batches are chosen to need less than MAX chars for the file names,