From d984dbc116c66860123a7d431213a80998d3ca6e Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Mon, 6 Dec 1999 16:44:28 +0000 Subject: [PATCH] (dired-do-shell-command): Changed documentation. (dired-shell-stuff-it): A `?' in COMMAND has now the same meaning as `*'. --- lisp/ChangeLog | 6 ++++++ lisp/dired-aux.el | 20 ++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fd03530ffc4..ebe88cb4b31 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +1999-12-06 Inge Frick + + * dired-aux.el (dired-do-shell-command): Changed documentation. + (dired-shell-stuff-it): A `?' in COMMAND has now the same + meaning as `*'. + 1999-12-06 Gerd Moellmann * simple.el (insert-buffer): Doc fix. diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index e9fe84a9ec3..b4ea496eceb 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -319,6 +319,10 @@ Normally the command is run on each file individually. However, if there is a `*' in the command then it is run just once with the entire file list substituted there. +If there is no `*', but a `?' in the command then it is still run +on each file individually but with the filename substituted there +instead of att the end of the command. + No automatic redisplay of dired buffers is attempted, as there's no telling what files the command may have changed. Type \\[dired-do-redisplay] to redisplay the marked files. @@ -370,13 +374,17 @@ the list of file names explicitly with the FILE-LIST argument." ;; (coming from interactive P and currently ignored) to decide what to do. ;; Smart would be a way to access basename or extension of file names. ;; See dired-trns.el for an approach to this. - ;; Bug: There is no way to quote a * - ;; On the other hand, you can never accidentally get a * into your cmd. + ;; Bug: There is no way to quote a * or a ? + ;; On the other hand, you can never accidentally get a * or a ? into + ;; your cmd. (let ((stuff-it - (if (string-match "\\*" command) - (function (lambda (x) - (dired-replace-in-string "\\*" x command))) - (function (lambda (x) (concat command " " x)))))) + (cond ((string-match "\\*" command) + (function (lambda (x) + (dired-replace-in-string "\\*" x command)))) + ((string-match "\\?" command) + (function (lambda (x) + (dired-replace-in-string "\\?" x command)))) + (t (function (lambda (x) (concat command " " x))))))) (if on-each (mapconcat stuff-it (mapcar 'shell-quote-argument file-list) ";") (let ((fns (mapconcat 'shell-quote-argument -- 2.39.5