fix 'lambda' expander (PR 10534)
svn: r16648
This commit is contained in:
parent
89f5ad32b4
commit
df2e50497d
|
@ -569,6 +569,7 @@ lambda_expand(Scheme_Object *form, Scheme_Comp_Env *env, Scheme_Expand_Info *ere
|
||||||
{
|
{
|
||||||
Scheme_Object *args, *body, *fn;
|
Scheme_Object *args, *body, *fn;
|
||||||
Scheme_Comp_Env *newenv;
|
Scheme_Comp_Env *newenv;
|
||||||
|
Scheme_Expand_Info erec1;
|
||||||
|
|
||||||
SCHEME_EXPAND_OBSERVE_PRIM_LAMBDA(erec[drec].observer);
|
SCHEME_EXPAND_OBSERVE_PRIM_LAMBDA(erec[drec].observer);
|
||||||
|
|
||||||
|
@ -594,12 +595,15 @@ lambda_expand(Scheme_Object *form, Scheme_Comp_Env *env, Scheme_Expand_Info *ere
|
||||||
|
|
||||||
fn = SCHEME_STX_CAR(form);
|
fn = SCHEME_STX_CAR(form);
|
||||||
|
|
||||||
|
scheme_init_expand_recs(erec, drec, &erec1, 1);
|
||||||
|
erec1.value_name = scheme_false;
|
||||||
|
|
||||||
return scheme_datum_to_syntax(cons(fn,
|
return scheme_datum_to_syntax(cons(fn,
|
||||||
cons(args,
|
cons(args,
|
||||||
scheme_expand_block(body,
|
scheme_expand_block(body,
|
||||||
newenv,
|
newenv,
|
||||||
erec,
|
&erec1,
|
||||||
drec))),
|
0))),
|
||||||
form, form,
|
form, form,
|
||||||
0, 2);
|
0, 2);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user