X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffopcompiler.impure-cload.lisp;h=1e05ee693e5929519c57a418abc2b68826248a5d;hb=90c2b0563695904419451b6172efcf9c7008ad8b;hp=b4f58fba3ba33d5f362dc36d641b6850b4d8efef;hpb=b7ec0e2b9f51e41c924c254b837cf64d115567df;p=sbcl.git diff --git a/tests/fopcompiler.impure-cload.lisp b/tests/fopcompiler.impure-cload.lisp index b4f58fb..1e05ee6 100644 --- a/tests/fopcompiler.impure-cload.lisp +++ b/tests/fopcompiler.impure-cload.lisp @@ -78,3 +78,19 @@ (let* ((a 13) (b a)) (assert* (eql b 13))))) + +(setf (symbol-value 'fopcompile-test-foo) 1) +(assert* (eql fopcompile-test-foo 1)) + +;;; Ensure that we're passing sensible environments to macros during +;;; fopcompilation. Reported by Samium Gromoff. + +(defmacro bar (vars &environment env) + (assert (equal vars + (mapcar #'car (sb-c::lexenv-vars env))))) + +(symbol-macrolet ((foo 1)) + (let* ((x (bar (foo))) + (y (bar (x foo)))) + (bar (y x foo))))) +