On Sat, Dec 28, 2002 at 12:52:50PM -0800, William Harold Newman wrote:
> new BUGS entry re. (I assume) 0.7.10.31 ctor.lisp stuff
> + In sbcl-0.7.10.33 (but not ca. 0.7.10.29),
> + (defclass foo54 () ())
> + (reinitialize-instance (make-instance 'foo54) :dummy 0)
> + does not signal an error. ANSI's definition of REINITIALIZE-INSTANCE
OK -- I'm on it (though Gerd, if you're playing along at home, you're
welcome to fix it for me -- or indeed anyone else... :-)
I presume that what is needed is an added check-initargs-1 in
reinitialize-instance, roughly at the place of the comment that looks
;; ??? Not sure if initargs have to be checked here.
in Gerd's PCL distributions, but there's probably a correct invocation
that in my currently Christmassed-out state I will have to guess at.
OK. Seriously now. The old method had some checking code that was
deleted in the ctor installation; it used fast-init mechanisms for the
checking. Since the aim of completely deleting fast-init is a good one,
I think, one should either reinstate the #| |# commented out section
from the original init.lisp code (which uses the same mechanism as the
checking in the full version of make-instance), or else do something
different (maybe using a ctor to check the initargs -- can that save us
time and effort?).
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)