summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/vm.c2
-rw-r--r--tasks/mrbgems_test.rake8
2 files changed, 7 insertions, 3 deletions
diff --git a/src/vm.c b/src/vm.c
index ea3b38adf..8da774b4b 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1598,7 +1598,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
}
CASE(OP_SUBI) {
- /* A B C R(A) := R(A)-C (Syms[B]=:+)*/
+ /* A B C R(A) := R(A)-C (Syms[B]=:-)*/
int a = GETARG_A(i);
mrb_value *regs_a = regs + a;
diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake
index b2d82b6b7..b8d2d75d3 100644
--- a/tasks/mrbgems_test.rake
+++ b/tasks/mrbgems_test.rake
@@ -23,14 +23,18 @@ MRuby.each_target do
unless g.test_rbfiles.empty?
f.puts %Q[ mrb_state *mrb2;]
if g.test_args.empty?
- f.puts %Q[ mrb_value val1, val2, ary1, ary2;]
+ f.puts %Q[ mrb_value val1, val2, val3, ary1, ary2;]
else
- f.puts %Q[ mrb_value val1, val2, ary1, ary2, test_args_hash;]
+ f.puts %Q[ mrb_value val1, val2, val3, ary1, ary2, test_args_hash;]
end
f.puts %Q[ int ai;]
g.test_rbfiles.count.times do |i|
f.puts %Q[ ai = mrb_gc_arena_save(mrb);]
f.puts %Q[ mrb2 = mrb_open();]
+ f.puts %Q[ val3 = mrb_gv_get(mrb, mrb_intern(mrb, "$mrbtest_verbose"));]
+ f.puts %Q[ if (mrb_test(val3)) {]
+ f.puts %Q[ mrb_gv_set(mrb2, mrb_intern(mrb2, "$mrbtest_verbose"), val3);]
+ f.puts %Q[ }]
f.puts %Q[ mrb_load_irep(mrb2, gem_test_irep_#{g.funcname}_preload);]
f.puts %Q[ if (mrb2->exc) {]
f.puts %Q[ mrb_p(mrb2, mrb_obj_value(mrb2->exc));]