[Openmcl-devel] Class Documentation

Gary Byers gb at clozure.com
Tue Dec 16 22:20:26 UTC 2003



On Tue, 16 Dec 2003, Sven Van Caekenberghe wrote:

> (documentation <symbol> 'type) on a symbol naming a CLOS class returns
> a list of (in my case 1) string(s).
>
> Is that intentional in 0.14, it was different in 0.13 were a single
> string was returned.
>
> Sven
>

? (pprint (macroexpand-1 '(defclass foo () () (:documentation "The FOO class"))))
(PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL)
         (%COMPILE-TIME-DEFCLASS 'FOO NIL)
         (PROGN))
       (PROGN (RECORD-SOURCE-FILE 'FOO 'CLASS)
              (ENSURE-CLASS 'FOO
                            :DIRECT-SUPERCLASSES
                            '(STANDARD-OBJECT)
                            :DIRECT-SLOTS
                            (LIST)
                            ':DOCUMENTATION
                            '("The FOO class"))))
?

That looks like a bug in the expansion of DEFCLASS: in the local function
CANONICALIZE-DEFCLASS-OPTION (inside the definition of DEFCLASS), the
T clause in the "(case option-name ...)" form should be:



		(t
                   (list `',(car option) `',(cadr option)))

instead of

		(t
                   (list `',(car option) `',(cdr option)))




More information about the Openmcl-devel mailing list