Fetch proc before evaluating arguments
This commit is contained in:
@@ -24,7 +24,9 @@ static void eval_list(am_t *am)
|
|||||||
am_cdr(am, UNEV, EXPR);
|
am_cdr(am, UNEV, EXPR);
|
||||||
am_car(am, EXPR, EXPR);
|
am_car(am, EXPR, EXPR);
|
||||||
|
|
||||||
am_push(am, EXPR);
|
env_fetch(am);
|
||||||
|
am_push(am, VAL);
|
||||||
|
|
||||||
while (!AM_UNEV(am)->is_atom) {
|
while (!AM_UNEV(am)->is_atom) {
|
||||||
am_push(am, ARGL);
|
am_push(am, ARGL);
|
||||||
am_car(am, EXPR, UNEV);
|
am_car(am, EXPR, UNEV);
|
||||||
@@ -37,9 +39,8 @@ static void eval_list(am_t *am)
|
|||||||
am_pop(am, ARGL);
|
am_pop(am, ARGL);
|
||||||
am_append(am, ARGL, VAL);
|
am_append(am, ARGL, VAL);
|
||||||
}
|
}
|
||||||
am_pop(am, EXPR);
|
|
||||||
|
|
||||||
env_fetch(am);
|
am_pop(am, VAL);
|
||||||
am_call(am, VAL);
|
am_call(am, VAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user