X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffopcompiler.impure-cload.lisp;h=25fc8e7a558fd462c3e3247bd90575f563913dfe;hb=a189a69454ef7635149319ae213b337f17c50d20;hp=7b117a83de3c27a7edff0cbeac6d8b8c7708ce74;hpb=cf65b9804d28c5e6ee2fa53cbac143c2f87f108c;p=sbcl.git diff --git a/tests/fopcompiler.impure-cload.lisp b/tests/fopcompiler.impure-cload.lisp index 7b117a8..25fc8e7 100644 --- a/tests/fopcompiler.impure-cload.lisp +++ b/tests/fopcompiler.impure-cload.lisp @@ -81,3 +81,16 @@ (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)))) +