X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffopcompiler.impure-cload.lisp;h=25fc8e7a558fd462c3e3247bd90575f563913dfe;hb=60deeb7616b22ae52cf1dd8bbc2904a1a0d80ffd;hp=b4f58fba3ba33d5f362dc36d641b6850b4d8efef;hpb=b7ec0e2b9f51e41c924c254b837cf64d115567df;p=sbcl.git diff --git a/tests/fopcompiler.impure-cload.lisp b/tests/fopcompiler.impure-cload.lisp index b4f58fb..25fc8e7 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)))) +