chiark / gitweb /
src/class-make-impl.lisp: Don't store `nil' in the `metaclass' slot.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 26 May 2016 08:26:09 +0000 (09:26 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 29 May 2016 13:27:39 +0000 (14:27 +0100)
commit981b6fb624186a54320cea34e53e16276aee2bdb
tree4781900dfa7cd939d0478db902cb0b7441e95caf
parentbe01e762d1fd40a88b26f4bdd40f8f9449d79e0a
src/class-make-impl.lisp: Don't store `nil' in the `metaclass' slot.

Normally we can fill `metaclass' in at construction time, but this is
difficult while we're bootstrapping the class graph.  Previously, we'd
store `nil' in the slot, and expect `bootstrap-classes' to fix things up
later; but actually, the `metaclass' slot is declared to hold only
`sod-class' objects.

Rather than expand the slot type, delay the `guess-metaclass' machinery
until class finalization (moving the code across into the relevant
source files).
doc/SYMBOLS
doc/meta.tex
src/class-finalize-impl.lisp
src/class-finalize-proto.lisp
src/class-make-impl.lisp
src/class-make-proto.lisp