From 878593430ab711b066257c035b817bc66e31f1df Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Thu, 10 May 2012 18:20:49 +0900 Subject: mrb_run to return last evaluated value --- src/codegen.c | 2 +- src/vm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codegen.c b/src/codegen.c index 89af78c63..a943c607a 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -523,7 +523,7 @@ scope_body(codegen_scope *s, node *tree) int idx = scope->idx; if (!s->iseq) { - codegen(scope, tree->cdr, NOVAL); + codegen(scope, tree->cdr, VAL); genop(scope, MKOP_A(OP_STOP, 0)); } else { diff --git a/src/vm.c b/src/vm.c index 5d7fb6072..88b64ac79 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1558,7 +1558,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) /* stop VM */ L_STOP: mrb->jmp = prev_jmp; - return mrb_nil_value(); + return regs[irep->nlocals]; } CASE(OP_ERR) { -- cgit v1.2.3