diff options
| author | Richard M. Stallman | 1997-06-30 06:13:58 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-06-30 06:13:58 +0000 |
| commit | 01db62107e79eb1104ba2b33658a1eb051a6fcb3 (patch) | |
| tree | d6b4844e16c14f33f894a082aee6dc3dbe53cbd1 | |
| parent | 0855015c91e69eceb0506159aad2f3ebe491ace6 (diff) | |
| download | emacs-01db62107e79eb1104ba2b33658a1eb051a6fcb3.tar.gz emacs-01db62107e79eb1104ba2b33658a1eb051a6fcb3.zip | |
(dired-do-shell-command): New arg FILE-LIST
so that we don't recompute it after the user provides the input.
| -rw-r--r-- | lisp/dired-aux.el | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 6c625ea5620..303eed96aed 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -319,7 +319,7 @@ with a prefix argument." | |||
| 319 | ;; The in-background argument is only needed in Emacs 18 where | 319 | ;; The in-background argument is only needed in Emacs 18 where |
| 320 | ;; shell-command doesn't understand an appended ampersand `&'. | 320 | ;; shell-command doesn't understand an appended ampersand `&'. |
| 321 | ;;;###autoload | 321 | ;;;###autoload |
| 322 | (defun dired-do-shell-command (command &optional arg) | 322 | (defun dired-do-shell-command (command &optional arg file-list) |
| 323 | "Run a shell command COMMAND on the marked files. | 323 | "Run a shell command COMMAND on the marked files. |
| 324 | If no files are marked or a specific numeric prefix arg is given, | 324 | If no files are marked or a specific numeric prefix arg is given, |
| 325 | the next ARG files are used. Just \\[universal-argument] means the current file. | 325 | the next ARG files are used. Just \\[universal-argument] means the current file. |
| @@ -339,16 +339,17 @@ The shell command has the top level directory as working directory, so | |||
| 339 | output files usually are created there instead of in a subdir." | 339 | output files usually are created there instead of in a subdir." |
| 340 | ;;Functions dired-run-shell-command and dired-shell-stuff-it do the | 340 | ;;Functions dired-run-shell-command and dired-shell-stuff-it do the |
| 341 | ;;actual work and can be redefined for customization. | 341 | ;;actual work and can be redefined for customization. |
| 342 | (interactive (list | 342 | (interactive |
| 343 | ;; Want to give feedback whether this file or marked files are used: | 343 | (let ((files (dired-get-marked-files t current-prefix-arg))) |
| 344 | (dired-read-shell-command (concat "! on " | 344 | (list |
| 345 | "%s: ") | 345 | ;; Want to give feedback whether this file or marked files are used: |
| 346 | current-prefix-arg | 346 | (dired-read-shell-command (concat "! on " |
| 347 | (dired-get-marked-files | 347 | "%s: ") |
| 348 | t current-prefix-arg)) | 348 | current-prefix-arg |
| 349 | current-prefix-arg)) | 349 | files) |
| 350 | (let* ((on-each (not (string-match "\\*" command))) | 350 | current-prefix-arg |
| 351 | (file-list (dired-get-marked-files t arg))) | 351 | files))) |
| 352 | (let* ((on-each (not (string-match "\\*" command)))) | ||
| 352 | (if on-each | 353 | (if on-each |
| 353 | (dired-bunch-files | 354 | (dired-bunch-files |
| 354 | (- 10000 (length command)) | 355 | (- 10000 (length command)) |