diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-13 09:13:33 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-13 09:13:33 +0900 |
| commit | b4657182da44febeccd5f22af636bceda776122f (patch) | |
| tree | 14553befe49eb23a0118014da900b6fc347f2922 /src | |
| parent | bcbf078ebd4c3346982d0dc8e125da12b61a04bc (diff) | |
| download | mruby-b4657182da44febeccd5f22af636bceda776122f.tar.gz mruby-b4657182da44febeccd5f22af636bceda776122f.zip | |
convert &arg using to_proc; fix #2242
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1286,6 +1286,9 @@ RETRY_TRY_BLOCK: int len = m1 + o + r + m2; mrb_value *blk = &argv[argc < 0 ? 1 : argc]; + if (!mrb_nil_p(*blk) && mrb_type(*blk) != MRB_TT_PROC) { + *blk = mrb_convert_type(mrb, *blk, MRB_TT_PROC, "Proc", "to_proc"); + } if (argc < 0) { struct RArray *ary = mrb_ary_ptr(regs[1]); argv = ary->ptr; |
