src/: Guess the metaclass early, unless we're explicitly bootstrapping.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 6 Jul 2018 22:18:01 +0000 (23:18 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 9 Jul 2018 11:02:06 +0000 (12:02 +0100)
commit73eceea64f35d47eeecb808cb7bfecb6bac4299b
tree39afd7f668daea84905da72a23ae7d21cacf4960
parentf960a07b6cdf61ef8173dbb3e504f880cfdc17f6
src/: Guess the metaclass early, unless we're explicitly bootstrapping.

Otherwise we hit unbound-slot errors if we try to resolve class
initializers.

Introduce an internal property `%bootstrapping' to tell the class
initialization machinery to leave the metaclass slot alone, and use this
in `bootstrap-classes'.  Otherwise, have the `sod-class'
`shared-initialize' method go off and call `guess-metaclass'
immediately.

Move `guess-metaclass' back into `class-make-impl.lisp' and fix up the
documentation stubs.

This partially reverts 981b6fb624186a54320cea34e53e16276aee2bdb.
doc/SYMBOLS
doc/meta.tex
src/builtin.lisp
src/class-finalize-impl.lisp
src/class-finalize-proto.lisp
src/class-make-impl.lisp
src/class-make-proto.lisp