From 25e3656c19c56dafbe51690ff47920a9f3e9c368 Mon Sep 17 00:00:00 2001 From: Luc Teirlinck Date: Sun, 7 Aug 2005 01:07:33 +0000 Subject: [PATCH] (widget-choice-value-create): Unconditionally respect user choice. Set :explicit-choice back to nil when no longer needed. (widget-choice-action): Unconditionally respect user choice. Eliminate :explicit-choice-value. --- lisp/wid-edit.el | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 1198eff55ba..9c391ab1176 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1956,13 +1956,14 @@ the earlier input." (args (widget-get widget :args)) (explicit (widget-get widget :explicit-choice)) current) - (if (and explicit (equal value (widget-get widget :explicit-choice-value))) + (if explicit (progn ;; If the user specified the choice for this value, - ;; respect that choice as long as the value is the same. + ;; respect that choice. (widget-put widget :children (list (widget-create-child-value widget explicit value))) - (widget-put widget :choice explicit)) + (widget-put widget :choice explicit) + (widget-put widget :explicit-choice nil)) (while args (setq current (car args) args (cdr args)) @@ -2048,13 +2049,10 @@ when he invoked the menu." (setq this-explicit t) (widget-choose tag (reverse choices) event)))) (when current - ;; If this was an explicit user choice, - ;; record the choice, and the record the value it was made for. - ;; widget-choice-value-create will respect this choice, - ;; as long as the value is the same. + ;; If this was an explicit user choice, record the choice, + ;; so that widget-choice-value-create will respect it. (when this-explicit - (widget-put widget :explicit-choice current) - (widget-put widget :explicit-choice-value (widget-get widget :value))) + (widget-put widget :explicit-choice current)) (widget-value-set widget (widget-default-get current)) (widget-setup) (widget-apply widget :notify widget event))) -- 2.39.5