summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-eval/src/eval.c1
-rw-r--r--mrbgems/mruby-eval/test/eval.rb6
2 files changed, 7 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c
index 3036837d5..6ca7d4fc2 100644
--- a/mrbgems/mruby-eval/src/eval.c
+++ b/mrbgems/mruby-eval/src/eval.c
@@ -112,6 +112,7 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, cha
if (file) {
mrbc_filename(mrb, cxt, file);
}
+ cxt->capture_errors = TRUE;
p = mrb_parse_nstring(mrb, s, len, cxt);
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb
index c0338d644..eb51f396a 100644
--- a/mrbgems/mruby-eval/test/eval.rb
+++ b/mrbgems/mruby-eval/test/eval.rb
@@ -44,3 +44,9 @@ assert('rest arguments of eval') do
Kernel.eval('[\'test\', __FILE__, __LINE__]', nil, 'test.rb', 10)
end
end
+
+assert 'eval syntax error' do
+ assert_raise(SyntaxError) do
+ eval 'p "test'
+ end
+end