changeset 26726:c7faf448e65b

(dired-do-shell-command): Changed documentation. (dired-shell-stuff-it): A `?' in COMMAND has now the same meaning as `*'.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 06 Dec 1999 16:40:26 +0000
parents 7e3e0c11f5b6
children 5fbb18ca751a
files lisp/dired-aux.el
diffstat 1 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dired-aux.el	Mon Dec 06 16:26:36 1999 +0000
+++ b/lisp/dired-aux.el	Mon Dec 06 16:40:26 1999 +0000
@@ -319,6 +319,10 @@
 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 @@
 ;; (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