From: Nikodemus S. <de...@us...> - 2011-05-28 12:27:40
|
Update of /cvsroot/sbcl/sbcl In directory vz-cvs-3.sog:/tmp/cvs-serv27819 Modified Files: NEWS package-data-list.lisp-expr version.lisp-expr Log Message: 1.0.48.28: make TRULY-THE macroexpandable lp#771673 * MACRO-FUNCTION no longer checks :FUNCTION :KIND, allowing us to have special operators with macro-expansions in the first place. * Add %MACROEXPAND and %MACROEXPAND which are careful not to expand special forms, and use them in place of SB!XC:MACROEXPAND. * Set the :FUNCTION :MACRO-FUNCTION into an expander that just converts it to THE. This only happens when someone explicitly calls MACROEXPAND or uses MACRO-FUNCTION directly -- never in the compiler. * Also add a SETF-expander. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1929 retrieving revision 1.1930 diff -u -d -r1.1929 -r1.1930 --- NEWS 27 May 2011 10:55:11 -0000 1.1929 +++ NEWS 28 May 2011 12:27:36 -0000 1.1930 @@ -34,6 +34,8 @@ * bug fix: miscompilation of MULTIPLE-VALUE-CALL when asserting derived types from a function defined in the same file. (regression from 1.0.43.57) + * bug fix: TRULY-THE forms are now macroexpandable and setf-expandable. + (lp#771673) changes in sbcl-1.0.48 relative to sbcl-1.0.47: * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.554 retrieving revision 1.555 diff -u -d -r1.554 -r1.555 --- package-data-list.lisp-expr 11 May 2011 16:48:37 -0000 1.554 +++ package-data-list.lisp-expr 28 May 2011 12:27:36 -0000 1.555 @@ -898,6 +898,10 @@ ;; hash mixing operations "MIX" "MIXF" + ;; Macroexpansion that doesn't touch special forms + "%MACROEXPAND" + "%MACROEXPAND-1" + ;; I'm not convinced that FDEFINITIONs are the ideal ;; solution, so exposing ways to peek into the system ;; seems undesirable, since it makes it harder to get Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.5289 retrieving revision 1.5290 diff -u -d -r1.5289 -r1.5290 --- version.lisp-expr 27 May 2011 10:55:11 -0000 1.5289 +++ version.lisp-expr 28 May 2011 12:27:37 -0000 1.5290 @@ -20,4 +20,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.48.27" +"1.0.48.28" |