1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-10 15:56:18 +00:00

* lisp/dired-aux.el (dired-touch-initial): Remove function.

(dired-do-chxxx): For op-symbol `touch', set `initial' to the
current time, and `default' to the last modification time of the
current marked file.

Fixes: debbugs:6887
This commit is contained in:
Juri Linkov 2011-07-30 12:14:58 +03:00
parent b4010ade66
commit 2cc8e51a1f
2 changed files with 21 additions and 20 deletions

View File

@ -1,7 +1,14 @@
2011-07-30 Juri Linkov <juri@jurta.org>
* dired-aux.el (dired-touch-initial): Remove function.
(dired-do-chxxx): For op-symbol `touch', set `initial' to the
current time, and `default' to the last modification time of the
current marked file (bug#6887).
2011-07-28 Jose E. Marchesi <jemarch@gnu.org>
* simple.el (goto-line): Use string-to-number to provide a
numeric argument to read-number.
numeric argument to read-number (bug#9163).
2011-07-27 Michael Albinus <michael.albinus@gmx.de>

View File

@ -226,34 +226,28 @@ 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."
;; Nobody can explain what this version is supposed to do. (Bug#6887)
;; Also, the manual says it uses "the present time".
;;; (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)))
(format-time-string "%Y%m%d%H%M.%S" (current-time)))
;;; Change file attributes
(defun dired-do-chxxx (attribute-name program op-symbol arg)
;; Change file attributes (mode, group, owner, timestamp) of marked files and
;; Change file attributes (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.
;; OP-SYMBOL is the type of operation (for use in dired-mark-pop-up).
;; ARG describes which files to use, as in dired-get-marked-files.
;; OP-SYMBOL is the type of operation (for use in `dired-mark-pop-up').
;; ARG describes which files to use, as in `dired-get-marked-files'.
(let* ((files (dired-get-marked-files t arg))
(initial
(if (eq op-symbol 'touch)
(format-time-string "%Y%m%d%H%M.%S")))
(default
(if (eq op-symbol 'touch)
(and (stringp (car files))
(format-time-string "%Y%m%d%H%M.%S"
(nth 5 (file-attributes (car files)))))))
(new-attribute
(dired-mark-read-string
(concat "Change " attribute-name " of %s to: ")
(if (eq op-symbol 'touch) (dired-touch-initial files))
op-symbol arg files))
initial op-symbol arg files default))
(operation (concat program " " new-attribute))
failures)
(setq failures