diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-08-26 15:27:48 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-08-27 15:52:26 +0900 |
commit | af5e2566405e4808a6d0a29c5b7d305d6fc0aada (patch) | |
tree | dcf0697d8b5b5c441025ca8bf4613e44aa21dea5 /vm_eval.c | |
parent | 703783324c16b8b2b50210d1a7d1119902abbb8b (diff) | |
download | bundler-af5e2566405e4808a6d0a29c5b7d305d6fc0aada.tar.gz |
rb_catch now free from ANYARGS
After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is
dangerous and should be extinct. This commit deletes ANYARGS from
rb_catch, and fixes some bugs revealed by that.
Diffstat (limited to 'vm_eval.c')
-rw-r--r-- | vm_eval.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1921,7 +1921,7 @@ rb_throw(const char *tag, VALUE val) } static VALUE -catch_i(VALUE tag, VALUE data) +catch_i(RB_BLOCK_CALL_FUNC_ARGLIST(tag, _)) { return rb_yield_0(1, &tag); } @@ -1985,7 +1985,7 @@ rb_f_catch(int argc, VALUE *argv, VALUE self) } VALUE -rb_catch(const char *tag, VALUE (*func)(), VALUE data) +rb_catch(const char *tag, rb_block_call_func_t func, VALUE data) { VALUE vtag = tag ? rb_sym_intern_ascii_cstr(tag) : rb_obj_alloc(rb_cObject); return rb_catch_obj(vtag, func, data); @@ -2027,7 +2027,7 @@ rb_catch_protect(VALUE t, rb_block_call_func *func, VALUE data, enum ruby_tag_ty } VALUE -rb_catch_obj(VALUE t, VALUE (*func)(), VALUE data) +rb_catch_obj(VALUE t, rb_block_call_func_t func, VALUE data) { enum ruby_tag_type state; rb_execution_context_t *ec = GET_EC(); |