+2004-05-29 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * assistant.el (assistant-render-text, assistant-eval): add :set
+ widget type, which is different because it takes and returns a
+ list. Much hilarity ensues.
+
2004-05-28 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-button-alist): Fixed regexp for manual links.
(variable (cadr elem))
(type (assistant-get-variable node variable 'type)))
(cond
- ((eq (car-safe type) :set)
+ ((eq (car-safe type) :radio)
(push
(apply
#'widget-create
- 'checklist
+ 'radio-button-choice
:assistant-variable variable
:assistant-node node
:value (assistant-get-variable node variable)
"node")))
(cadr type))
assistant-widgets))
- ((eq (car-safe type) :radio)
+ ((eq (car-safe type) :set)
(push
(apply
#'widget-create
- 'radio-button-choice
+ 'set
:assistant-variable variable
:assistant-node node
- :value (assistant-get-variable node variable)
+ :value (assistant-get-variable node variable nil t)
:notify (lambda (widget &rest ignore)
(assistant-set-variable
(widget-get widget :assistant-node)
(let ((bindings nil))
(dolist (variable (assistant-get-all-variables))
(setq variable (cadr variable))
- (push (list (car variable) (if (eq (nth 3 variable) 'default)
- nil
- (nth 3 variable)))
+ (push (list (car variable)
+ (if (eq (nth 3 variable) 'default)
+ nil
+ (if (listp (nth 3 variable))
+ `(list ,@(nth 3 variable))
+ (nth 3 variable))))
bindings))
(eval
`(let ,bindings