--- Coro/Coro/State.xs 2007/09/24 18:30:58 1.163 +++ Coro/Coro/State.xs 2007/09/25 01:47:23 1.164 @@ -1381,7 +1381,9 @@ } void -_eval (Coro::State coro, SV *coderef) +call (Coro::State coro, SV *coderef) + ALIAS: + eval = 1 CODE: { if (coro->mainstack) @@ -1402,7 +1404,10 @@ SAVETMPS; PUSHMARK (SP); PUTBACK; - call_sv (coderef, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD); + if (ix) + eval_sv (coderef, 0); + else + call_sv (coderef, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD); SPAGAIN; FREETMPS; LEAVE;