From: Christophe R. <cr...@us...> - 2009-04-24 10:44:15
|
Update of /cvsroot/sbcl/sbcl In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19253 Modified Files: version.lisp-expr Log Message: 1.0.27.32: implement and use SB!XC:GENSYM We need a gensym variant that doesn't share state with *GENSYM-COUNTER*, so that host macroexpansions don't affect us. (We also need to bind our counter variant in the INFO compiler macro, because compiler macros might or might not be expanded...) 11 individual commit messages follow: Implement SB!XC:GENSYM Host implementations can, even during cross-compilation, expand macros (including arbitrary host macros such as CL:DEFUN) in :compile-toplevel function definitions different numbers of times. This is a problem because some gensyms end up in function arglists (e.g. from MULTIPLE-VALUE-BIND as well as from explicit FLETs or LAMBDAs in macro expansions). Our own SB!XC:GENSYM allows us to control the gensym counter we use and hence the symbol names that are dumped. Use SB!XC:GENSYM in BLOCK-GENSYM remove a needless gensym Nothing wrong with a regular symbol here. Bind SB!XC:*GENSYM-COUNTER* in DEFINE-COMPILER-MACRO INFO The compiler-macro for INFO now uses SB!XC:GENSYM, which is OK except that the compiler macro gets used during cross-compilation; some implementations expand compiler macros, while others (e.g. clisp) interpret the relevant code and so don't. Binding the counter variable renders the effect of the compiler macro on the counter invariant. various reworks of macros to use SB!XC:GENSYM In some cases radically decrease vertical space use by judicious use of MAKE-GENSYM-LIST or WITH-UNIQUE-NAMES, both of which go through BLOCK-GENSYM. more reworks of macros to use SB!XC:GENSYM Nothing vastly interesting here. yet more reworks of macros to use SB!XC:GENSYM Nothing much of interest. even more reworks of macros to use SB!XC:GENSYM more reworks of macros for SB!XC:GENSYM goodness. one more SB!XC:GENSYM fix Use WITH-UNIQUE-NAMES in FD-FOO macros. One more gensym Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.4398 retrieving revision 1.4399 diff -u -d -r1.4398 -r1.4399 --- version.lisp-expr 24 Apr 2009 10:06:20 -0000 1.4398 +++ version.lisp-expr 24 Apr 2009 10:44:08 -0000 1.4399 @@ -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.27.31" +"1.0.27.32" |