In target-error.lisp, function check-type-error, the :DATUM slot of
the TYPE-ERROR condition is initialized using the PLACE, rather than
the PLACE-VALUE. The NOTES section at the end of the CHECK-TYPE CLHS
(check-type place typespec)
== (assert (typep place 'typespec) (place)
'type-error :datum place :expected-type 'typespec)
Shouldn't datum then hold the value of PLACE here, rather than the
I haven't been able to find a clearer spot to back up my expected
behaviour, though, which is that the type-error-datum hold the object
which failed the type test, rather than the /place/ which does so.
Lispworks and CLisp share the SBCL behaviour, which makes me wonder
whether my expectations are leading me astray.
Thanks in advance for any comments,