[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
*slotd-unsupplied*
- To: commonloops.pa@Xerox.COM
- Subject: *slotd-unsupplied*
- From: kempf@Sun.COM
- Date: Wed, 06 Jul 88 17:00:29 -0700
- Redistributed: commonloops.pa
The method PARSE-CLASS-SLOT in defclass.lisp initializes the type and
initfunction slots of a standard-slot-description object to
*slotd-unsupplied*. This is OK, except *slotd-unsupplied* is not
a valid type specifier nor is it a valid function. As a result,
when, for example, initialize-from-defaults in slots.lisp checks
to see if the initfunction is NIL, it is not, but it is not
a valid function either. Result: initialize-from-defaults trys
to funcall *slotd-unsupplied*. Something similar happens in
COMPUTE-EFFECTIVE-SLOTD, where an eq test of (slotd-type slotd)
against *slotd-unsupplied* fails, presumably because
the slot contents is initialized to a copy somewhere.
Anyway, I'd suggest making the initfunction something like:
(function (lambda () *slotd-unsupplied*)
and the type be nil.
This is all happening in the St. Patrick's Day release, in Sun
Common Lisp 2.1.
jak