From: Luc Teirlinck Date: Sun, 7 Aug 2005 01:07:33 +0000 (+0000) Subject: (widget-choice-value-create): Unconditionally respect user choice. X-Git-Tag: emacs-pretest-22.0.90~7766 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=25e3656c19c56dafbe51690ff47920a9f3e9c368;p=emacs.git (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. --- 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)))