1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00

(dired-do-shell-command): Changed documentation.

(dired-shell-stuff-it): A `?' in COMMAND has now the same
meaning as `*'.
This commit is contained in:
Gerd Moellmann 1999-12-06 16:44:28 +00:00
parent 32fd797262
commit d984dbc116
2 changed files with 20 additions and 6 deletions

View 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.

View 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