diff options
author | Andy Wingo <wingo@pobox.com> | 2010-02-08 13:33:21 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-02-08 13:34:26 +0100 |
commit | babfc7b2c3fce452aa12fed8d89cd3fbc81e8cc8 (patch) | |
tree | 937751b8769b31d905efa4d541bcf56f907ab22c /libguile/eval.c | |
parent | 1d1cae0e2e063d9a36e7d600f87cf3d6eaf940f3 (diff) | |
download | guile-babfc7b2c3fce452aa12fed8d89cd3fbc81e8cc8.tar.gz |
eval.c uses scm_i_call_with_current_continuation
* libguile/continuations.h
* libguile/continuations.c (scm_i_call_with_current_continuation): New
internal function. Not exported because I'm not sure whether or not
this should have a continuation barrier in the future. Uses a
hand-coded VM procedure.
* libguile/eval.c (eval): Use scm_i_call_with_current_continuation.
Diffstat (limited to 'libguile/eval.c')
-rw-r--r-- | libguile/eval.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/libguile/eval.c b/libguile/eval.c index 65103a1b2..f6b42c5a8 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -295,19 +295,7 @@ eval (SCM x, SCM env) } case SCM_M_CONT: - { - int first; - SCM val = scm_make_continuation (&first); - - if (!first) - return val; - else - { - proc = eval (mx, env); - args = scm_list_1 (val); - goto apply_proc; - } - } + return scm_i_call_with_current_continuation (eval (mx, env)); case SCM_M_CALL_WITH_VALUES: { |