From a5df6154c14e7e5134512d398980eae615c45bd7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 15 Feb 2007 08:12:54 +0000 Subject: [PATCH] fix bugs related to getting rid of #%expression in fully expanded code svn: r5615 --- src/mzscheme/src/eval.c | 2 +- src/mzscheme/src/syntax.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mzscheme/src/eval.c b/src/mzscheme/src/eval.c index b9fb53b998..bc6ef9824d 100644 --- a/src/mzscheme/src/eval.c +++ b/src/mzscheme/src/eval.c @@ -4077,7 +4077,7 @@ scheme_compile_expand_expr(Scheme_Object *form, Scheme_Comp_Env *env, /* FIXME: this needs EXPAND_OBSERVE callbacks. */ var = scheme_stx_track(SCHEME_PTR1_VAL(var), form, form); form = scheme_stx_cert(var, scheme_false, NULL, form, NULL, 1); - if (!rec[drec].comp) { + if (!rec[drec].comp && (rec[drec].depth != -1)) { /* Already fully expanded. */ return form; } diff --git a/src/mzscheme/src/syntax.c b/src/mzscheme/src/syntax.c index ea4dd795a3..2214fbe265 100644 --- a/src/mzscheme/src/syntax.c +++ b/src/mzscheme/src/syntax.c @@ -4434,7 +4434,7 @@ static Scheme_Object *expression_syntax(Scheme_Object *form, Scheme_Comp_Env *en static Scheme_Object *expression_expand(Scheme_Object *form, Scheme_Comp_Env *env, Scheme_Expand_Info *erec, int drec) { return single_expand(form, scheme_no_defines(env), erec, drec, 0, - !scheme_is_toplevel(env)); + !(env->flags & SCHEME_TOPLEVEL_FRAME)); }