Subject: Re: bug#30073: 27.0.50; dired-do-delete ignores customization for short answers

From: Juri Linkov <[email-masked]>
Date: Tue, 16 Jan 2018 01:02:27 +0200

>> What I'm thinking about is introducing a boolean customizable variable
>> that would define whether abbreviated answers are preferred by the user.
>> Then a new minibuffer-reading function could accept a list of abbreviations
>> and map them to long full answers.
>>
>> Something like ‘read-multiple-choice’ or ‘map-y-or-n-p’, but that
>> would allow either long or short answers depending on customization
>> like ‘rmail-confirm-expunge’, ‘url-confirmation-func’,
>> ‘org-confirm-shell-link-function’, ‘org-confirm-elisp-link-function’,
>> or on its argument like ‘strong-query’ in ‘custom-command-apply’.
>>
>> WDYT?
>
> Why limit this to Dired?  People who use fset to get y-or-n-p want
> that everywhere, right?

Right, this is not specific to Dired.  So we could add a new
customizable variable, and easily change ‘yes-or-no-p’ to call
‘y-or-n-p’ if it's non-nil.  Oh, wait, not so easily,
I see that ‘yes-or-no-p’ is implemented in C.
Is there a particular reason why it's not in Lisp?

In any case this would be better customization to choose between
“yes/no” and “y/n”.  Regarding a new multiple options reading function
‘read-answer’, I'm not sure where to put it.  There is a separate file
map-ynp.el for a single function ‘map-y-or-n-p’, and a separate file
rmc.el for a single function ‘read-multiple-choice’.  But I hesitate
to do the same and create a new file for just one function.