From 72f7c51bc0bcef4096db8d57e7e5ab2a342e383f Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Sat, 14 Jul 2012 15:39:53 +0900 Subject: mruby should print error properly --- src/parse.y | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/parse.y b/src/parse.y index 75a33c5b7..c766b3927 100644 --- a/src/parse.y +++ b/src/parse.y @@ -4871,6 +4871,7 @@ static mrb_value load_exec(mrb_state *mrb, parser_state *p, mrbc_context *c) { int n; + mrb_value v; if (!p) { mrb_parser_free(p); @@ -4900,7 +4901,9 @@ load_exec(mrb_state *mrb, parser_state *p, mrbc_context *c) if (c->dump_result) codedump_all(mrb, n); if (c->no_exec) return mrb_fixnum_value(n); } - return mrb_run(mrb, mrb_proc_new(mrb, mrb->irep[n]), mrb_top_self(mrb)); + v = mrb_run(mrb, mrb_proc_new(mrb, mrb->irep[n]), mrb_top_self(mrb)); + if (!mrb->exc) return mrb_undef_value(); + return v; } mrb_value -- cgit v1.2.3