1450 static void
1451 rb_ary_splice(VALUE ary, long beg, long len, VALUE rpl)
1452 {
1453 long rlen;
1454
1455 if (len < 0) rb_raise(rb_eIndexError, "negative length (%ld)", len);
1456 if (beg < 0) {
1457 beg += RARRAY_LEN(ary);
1458 if (beg < 0) {
1459 rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",
1460 beg - RARRAY_LEN(ary), -RARRAY_LEN(ary));
1461 }
1462 }
1463 if (RARRAY_LEN(ary) < len || RARRAY_LEN(ary) < beg + len) {