Subject: Re: bug#70725: 29.3; dired-do-touch completion

From: Juri Linkov <[email-masked]>
Date: Tue, 07 May 2024 19:48:54 +0300

> However this doesn't explain why dired-do-touch uses a completing-read

Indeed, this was an oversight.  Here is the patch
that replaces 'completing-read' with 'read-string':

diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index a2ce3083cfe..f3343b9b637 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -658,10 +658,13 @@ dired-mark-read-string
 
 Optional arg COLLECTION is a collection of possible completions,
 passed as the second arg to `completing-read'."
-  (dired-mark-pop-up nil op-symbol files
-		     'completing-read
-		     (format prompt (dired-mark-prompt arg files))
-		     collection nil nil initial nil default-value nil))
+  (apply #'dired-mark-pop-up
+         nil op-symbol files
+         (if (eq op-symbol 'touch) 'read-string 'completing-read)
+         (format prompt (dired-mark-prompt arg files))
+         (if (eq op-symbol 'touch)
+             `(,initial nil ,default-value nil)
+           `(,collection nil nil ,initial nil ,default-value nil))))
 
 
 ;;; Cleaning a directory: flagging some backups for deletion