(defun make-mikkelsen (name) (with-open-file (outstream name :direction :output) (format outstream "~a~%" name) (format outstream "________________________________________________________________________~%~%") (format outstream "type: ~a~%" (type-dialog)) (format outstream "location: ~a~%" (location-dialog)) (format outstream "source file:~%") (format outstream "Common Lisp compatible: ~a~%" (compat-dialog)) (format outstream "supported on:~%~%") (format outstream "SYNTAX~%~%") (format outstream "DESCRIPTION~%~%") (format outstream "EXAMPLES~%~%") (format outstream "Comments~%~%") )) (defun type-dialog () (let* ( (u (list "function (subr)" "predicate function (subr)" "special form (fsubr)" "reader expansion" "defined function (closure)" "defined macro (closure)" "system variable" "system constant" "keyword" "object" "message selector")) (a (send choice-item-proto :new u)) (o (send modal-button-proto :new "OK" :action #'(lambda () (elt u (send a :value))))) (b (send modal-dialog-proto :new (list (list a o)) :default-button o)) ) (send b :modal-dialog) )) (defun location-dialog () (let* ( (u (list "built-in" "extension")) (a (send choice-item-proto :new u)) (o (send modal-button-proto :new "OK" :action #'(lambda () (elt u (send a :value))))) (b (send modal-dialog-proto :new (list (list a o)) :default-button o)) ) (send b :modal-dialog) )) (defun compat-dialog () (let* ( (u (list "yes" "similar" "related" "no")) (a (send choice-item-proto :new u)) (o (send modal-button-proto :new "OK" :action #'(lambda () (elt u (send a :value))))) (b (send modal-dialog-proto :new (list (list a o)) :default-button o)) ) (send b :modal-dialog) ))