]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-do-shell-command): Changed documentation.
authorGerd Moellmann <gerd@gnu.org>
Mon, 6 Dec 1999 16:44:28 +0000 (16:44 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 6 Dec 1999 16:44:28 +0000 (16:44 +0000)
(dired-shell-stuff-it): A `?' in COMMAND has now the same
meaning as `*'.

lisp/ChangeLog
lisp/dired-aux.el

index fd03530ffc43ddac9b9c1a8c6385c9be07cd789f..ebe88cb4b3132604a37422ae55af21f3a7fe5713 100644 (file)
@@ -1,3 +1,9 @@
+1999-12-06  Inge Frick  <inge@nada.kth.se>
+
+       * 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  <gerd@gnu.org>
 
        * simple.el (insert-buffer): Doc fix.
index e9fe84a9ec347d78fbca853a03be96d17b8c12ce..b4ea496eceb6a78392fbe17f0b77170b5b850ee7 100644 (file)
@@ -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