From: Christophe R. <cr...@us...> - 2003-06-07 13:49:18
|
Update of /cvsroot/sbcl/sbcl/contrib/sb-cltl2 In directory sc8-pr-cvs1:/tmp/cvs-serv20763/contrib/sb-cltl2 Modified Files: tests.lisp Added Files: .cvsignore Log Message: 0.8.0.43: Fix bug 63, by propagating symbol macros into the walker's variable environment ... no, I don't claim to have understood the walker fully; ... test for correct behaviour in sb-cltl2's MACROEXPAND-ALL. --- NEW FILE: .cvsignore --- test-passed Index: tests.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/contrib/sb-cltl2/tests.lisp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tests.lisp 5 Jun 2003 17:25:28 -0000 1.1 +++ tests.lisp 7 Jun 2003 13:49:14 -0000 1.2 @@ -45,3 +45,14 @@ (foo 1)))))) (remove-duplicates *expansions*)) (1)) + +(defun smv (env) + (multiple-value-bind (expansion macro-p) + (macroexpand 'srlt env) + (when macro-p (eval expansion)))) +(defmacro testr (&environment env) + `',(getf (smv env) nil)) + +(deftest macroexpand-all.4 + (macroexpand-all '(symbol-macrolet ((srlt '(nil zool))) (testr))) + (symbol-macrolet ((srlt '(nil zool))) 'zool)) |