Allow "anonymous" (in the sense of AMOP pp.67-69) classes
... names not necessarily symbols.
This entails a great big rearrangement of class finalization and
various associated activities; (setf class-name) and (setf
find-class) (and their sb-kernel:classoid equivalents) are now
slightly less tangled, but the coupling is still non-intuitive:
classoids need proper names earlier than classes, as they are
used in the compiler transform for TYPEP / DECLARE TYPE, so the
ideal of strictly parallel CLASSOID / CLASS is not present, and
left for future work.
Add tests, both of the new functionality and also for various
things that broke along the way, detected by gcl/ansi-tests and
from emergent properties of our own test suite.
(cons symbol) is, in the default pprint-dispatch-table, now
sensitive to whether the symbol satisfies FBOUNDP. (thanks to
Marcus Pearce)
(cons symbol) is, in the default pprint-dispatch-table, now
sensitive to whether the symbol satisfies FBOUNDP. (thanks to
Marcus Pearce)
+ * minor incompatible change: SB-MOP:FINALIZE-INHERITANCE is now
+ called later in a class's lifetime, possibly as late as when the
+ first instance of the class is created. Previously,
+ SB-MOP:FINALIZE-INHERITANCE was called by the system as soon as a
+ class became finalizeable.
* fixed bug: FILE-POSITION sometimes returned inconsistent results
for multibyte external-format streams. (thanks to "vbzoli")
* fixed bug: CHANGE-CLASS would fail to preserve the values of slots
with :ALLOCATION :CLASS inherited from superclasses of the
original class.
* fixed bug: FILE-POSITION sometimes returned inconsistent results
for multibyte external-format streams. (thanks to "vbzoli")
* fixed bug: CHANGE-CLASS would fail to preserve the values of slots
with :ALLOCATION :CLASS inherited from superclasses of the
original class.
+ * fixed bug: anonymous classes can now be created using the :NAME
+ initarg and MAKE-INSTANCE / REINITIALIZE-INSTANCE, as specified by
+ AMOP. (reported by Leonid Slobodov on comp.lang.lisp)
changes in sbcl-0.9.14 relative to sbcl-0.9.13:
* feature: thread support on Solaris/x86, and experimental thread support
changes in sbcl-0.9.14 relative to sbcl-0.9.13:
* feature: thread support on Solaris/x86, and experimental thread support
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)