Update of /cvsroot/sbcl/sbcl
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv14231
22.214.171.124: SLOT-VALUE and SET-SLOT-VALUE transforms (really 126.96.36.199)
This is the real commit message that was supposed to go in 188.8.131.52.
* Define SLOT-VALUE and SET-SLOT-VALUE as known functions.
* Use &ENVIRONMENT in CONSTANTP and CONSTANT-FORM-VALUE calls in
* Add transforms for SLOT-VALUE and SET-SLOT-VALUE in addition to the
compiler-macros. The transforms are functionally equivalent to the
compiler-macros, but catch more cases: eg.
(define-modify-macro appendf (&rest lists) append)
(appendf (slot-value x 'y) z)
needs the deftransforms as setf-expansion replaces the constant
argument with a gensym.
Keep the compiler-macros around, since they catch the common cases
early and don't mess up the build: the transforms are agressive
enough that we can't enable them until the PCL boot-state is
complete. (The compiler-macros are also slightly cheaper, since
each transform introduces a new lambda.)
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.3501
retrieving revision 1.3502
diff -u -d -r1.3501 -r1.3502
--- version.lisp-expr 12 Jul 2007 17:28:40 -0000 1.3501
+++ version.lisp-expr 12 Jul 2007 23:05:17 -0000 1.3502
@@ -17,4 +17,4 @@
;;; 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".)