Also eclass
loop can raise in rb_obj_is_kind_of
This commit is contained in:
parent
e0c100ec96
commit
a6f5f3cccd
Notes:
git
2021-02-09 12:59:38 +09:00
2
eval.c
2
eval.c
@ -1034,6 +1034,7 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1,
|
|||||||
int handle = FALSE;
|
int handle = FALSE;
|
||||||
VALUE eclass;
|
VALUE eclass;
|
||||||
|
|
||||||
|
result = Qnil;
|
||||||
while ((eclass = va_arg(args, VALUE)) != 0) {
|
while ((eclass = va_arg(args, VALUE)) != 0) {
|
||||||
if (rb_obj_is_kind_of(ec->errinfo, eclass)) {
|
if (rb_obj_is_kind_of(ec->errinfo, eclass)) {
|
||||||
handle = TRUE;
|
handle = TRUE;
|
||||||
@ -1042,7 +1043,6 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (handle) {
|
if (handle) {
|
||||||
result = Qnil;
|
|
||||||
state = TAG_NONE;
|
state = TAG_NONE;
|
||||||
if (r_proc) {
|
if (r_proc) {
|
||||||
result = (*r_proc) (data2, ec->errinfo);
|
result = (*r_proc) (data2, ec->errinfo);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user