> +(defun dired--no-subst-prompt (command char-positions) > […] > + ((setq confirmations (dired--need-confirm-positions command "*")) > + (y-or-n-p (dired--no-subst-prompt confirmations command))) > + ((setq confirmations (dired--need-confirm-positions command "?")) > + (y-or-n-p (dired--no-subst-prompt command confirmations))) Mmmm, am I missing something, or have the arguments to dired--no-subst-prompt been reversed in the "*" case? I.e. shoudn't > + (y-or-n-p (dired--no-subst-prompt confirmations command))) rather be > + (y-or-n-p (dired--no-subst-prompt command confirmations))) ? As things stand, "! grep 'foo.*'" in Dired fails, saying: let: Wrong type argument: stringp, (9)