1.0.7.17: SLOT-VALUE and SET-SLOT-VALUE transforms (really 1.0.7.16)
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 12 Jul 2007 23:05:17 +0000 (23:05 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 12 Jul 2007 23:05:17 +0000 (23:05 +0000)
 This is the real commit message that was supposed to go in 1.0.7.16.
 Sorry.

 * Define SLOT-VALUE and SET-SLOT-VALUE as known functions.

 * Use &ENVIRONMENT in CONSTANTP and CONSTANT-FORM-VALUE calls in
   their compiler-macros.

 * 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.)

version.lisp-expr

index 5ba19b0..98cbb2b 100644 (file)
@@ -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".)
-"1.0.7.16"
+"1.0.7.17"