Synch to No Gnus 200406020940.
[elisp/gnus.git-] / lisp / assistant.el
index d7031ab..bacbe17 100644 (file)
             (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