summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-10 18:20:49 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-10 18:20:49 +0900
commit878593430ab711b066257c035b817bc66e31f1df (patch)
treecd55a5121272c68e409661dfc9045b555632c63b
parent8268f95e0e096503cb960e66e2e1492bbc964d6f (diff)
downloadmruby-878593430ab711b066257c035b817bc66e31f1df.tar.gz
mruby-878593430ab711b066257c035b817bc66e31f1df.zip
mrb_run to return last evaluated value
-rw-r--r--src/codegen.c2
-rw-r--r--src/vm.c2
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) {