1.0.28.3: ABOUT-TO-MODIFY-SYMBOL-VALUE doesn't choke on FUNCTION subtypes
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 1 May 2009 10:54:28 +0000 (10:54 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 1 May 2009 10:54:28 +0000 (10:54 +0000)
commit75f37cd646778cc8d4bed86d79309b7161bd41dc
treef9b4e71157f90d4fdfe3af66a508941a0c912408
parent4af56c115ef7ec63e06be677f9dfbf8116882e4c
1.0.28.3: ABOUT-TO-MODIFY-SYMBOL-VALUE doesn't choke on FUNCTION subtypes

 * Evaluating eg. a SET when the type of the variable as been
   proclaimed to be a subtype of FUNCTION used to break, since
   ABOUT-TO-MODIFY-SYMBOL-VALUE uses %%TYPEP to check the type, and
   function subtypes are not normally acceptable type specifiers to
   TYPEP.

   SBCL is, however, able to reason about such types, so we add an
   optional STRICT argument to %%TYPEP defaulting to T, which
   A-T-M-S-V give as NIL to allow checking of function subtypes.

   Reported by Lorenz Mösenlechner.
NEWS
src/code/early-extensions.lisp
src/code/typep.lisp
tests/compiler.impure.lisp
version.lisp-expr