Mercurial > emacs
changeset 64766:a0da2f13ae20
(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.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Sun, 07 Aug 2005 01:07:33 +0000 |
parents | 5c99fdc302d4 |
children | 11814686b09f |
files | lisp/wid-edit.el |
diffstat | 1 files changed, 7 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/wid-edit.el Sun Aug 07 01:05:10 2005 +0000 +++ b/lisp/wid-edit.el Sun Aug 07 01:07:33 2005 +0000 @@ -1956,13 +1956,14 @@ (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 @@ (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)))