Eli Zaretskii writes: >> From: Juri Linkov >> Cc: Andreas Schwab , christopher@librehacker.com, >> Eli Zaretskii , 70725@debbugs.gnu.org >> 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': > > Thierry, is this solution okay with you? This fix one issue, but default is still wrong IMHO: When pressing RET with an empty prompt the value is different than what is inserted in minibuffer with M-n. Why do we bother setting the timesamp at the exact time when pressing RET instead of when pressing "T", I mean user would consider the timestamp is set once "T" is pressed, with this the behavior would be consistent with RET and M-n and the code much simpler. >> 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 -- Thierry