mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 04:21:24 +00:00
Respect non-saved value of `read-short-answer' (Bug#31782)
* lisp/emacs-lisp/map-ynp.el (read-answer-short): Add an `auto' setting. (read-answer): Check the function cell of `yes-or-no-p' when `read-answer-short' is `auto' rather than calling `custom-reevaluate-setting' which would reset the option to its saved value.
This commit is contained in:
parent
d228de8a26
commit
95050a5841
1 changed files with 11 additions and 5 deletions
|
|
@ -257,9 +257,14 @@ C-g to quit (cancel the whole command);
|
|||
;; either long or short answers.
|
||||
|
||||
;; For backward compatibility check if short y/n answers are preferred.
|
||||
(defcustom read-answer-short (eq (symbol-function 'yes-or-no-p) 'y-or-n-p)
|
||||
"If non-nil, accept short answers to the question."
|
||||
:type 'boolean
|
||||
(defcustom read-answer-short 'auto
|
||||
"If non-nil, `read-answer' accepts single-character answers.
|
||||
If t, accept short (single key-press) answers to the question.
|
||||
If nil, require long answers. If `auto', accept short answers if
|
||||
the function cell of `yes-or-no-p' is set to `y-or-on-p'."
|
||||
:type '(choice (const :tag "Accept short answers" t)
|
||||
(const :tag "Require long answer" nil)
|
||||
(const :tag "Guess preference" auto))
|
||||
:version "27.1"
|
||||
:group 'minibuffer)
|
||||
|
||||
|
|
@ -290,8 +295,9 @@ When `read-answer-short' is non-nil, accept short answers.
|
|||
Return a long answer even in case of accepting short ones.
|
||||
|
||||
When `use-dialog-box' is t, pop up a dialog window to get user input."
|
||||
(custom-reevaluate-setting 'read-answer-short)
|
||||
(let* ((short read-answer-short)
|
||||
(let* ((short (if (eq read-answer-short 'auto)
|
||||
(eq (symbol-function 'yes-or-no-p) 'y-or-n-p)
|
||||
read-answer-short))
|
||||
(answers-with-help
|
||||
(if (assoc "help" answers)
|
||||
answers
|
||||
|
|
|
|||
Loading…
Reference in a new issue