]> git.eshelyaron.com Git - emacs.git/commitdiff
(widget-choice-value-create): Unconditionally respect user choice.
authorLuc Teirlinck <teirllm@auburn.edu>
Sun, 7 Aug 2005 01:07:33 +0000 (01:07 +0000)
committerLuc Teirlinck <teirllm@auburn.edu>
Sun, 7 Aug 2005 01:07:33 +0000 (01:07 +0000)
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

index 1198eff55ba83a0244384cdc70796bcdd05dce7f..9c391ab117686338cc1f1deaf6309d3e905e5de3 100644 (file)
@@ -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)))