     (progress-reporter-update reporter))
   (comint-output-filter process output))
 
-(cl-defun dwim-shell-command-on-marked-files (buffer-name script &key utils extensions shell-util shell-args shell-pipe post-process-template on-completion)
-  "Execute SCRIPT, using BUFFER-NAME.
-
-If script starts with whitespace, imply `:SILENT-SUCCESS' in
- `dwim-shell-command-execute-script'.
-
-See `dwim-shell-command-execute-script' for all other params."
-  (dwim-shell-command-execute-script buffer-name script
-                                     :files (dwim-shell-command--marked-files)
-                                     :utils utils
-                                     :extensions extensions
-                                     :shell-util shell-util
-                                     :shell-args shell-args
-                                     :shell-pipe shell-pipe
-                                     :post-process-template post-process-template
-                                     :on-completion on-completion
-                                     :silent-success (string-prefix-p " " script)))
-
 (defun dwim-shell-command--marked-files ()
   "Return buffer file (if available) or marked files for a `dired' buffer."
   (if (buffer-file-name)

  (interactive)
  (dwim-shell-command-on-marked-files
   "DWIM shell command" (read-shell-command "DWIM shell command: ")))

(cl-defun dwim-shell-command-execute-script (buffer-name script &key files extensions shell-util shell-args shell-pipe utils post-process-template on-completion silent-success gen-temp-dir)
  "Execute a script asynchronously, DWIM style with SCRIPT and BUFFER-NAME.

Focus

  `dwim-shell-command' creates a process buffer to capture command
  output, but doesn't display or focus on it by default.  Instead,
  it tries to guess what's more convenient to focus on.

  While the process is busy, show a spinner in the minibuffer.  No
  focus changes.

  After process is finished:
