diff --git a/array.c b/array.c index 1c8172aef4..ee69729e3b 100644 --- a/array.c +++ b/array.c @@ -1275,7 +1275,7 @@ rb_ary_slice_bang(argc, argv, ary) if (rb_scan_args(argc, argv, "11", &arg1, &arg2) == 2) { pos = NUM2LONG(arg1); len = NUM2LONG(arg2); -delete_pos_len: + delete_pos_len: if (pos < 0) { pos = RARRAY(ary)->len + pos; } @@ -1288,9 +1288,7 @@ delete_pos_len: goto delete_pos_len; } - rb_ary_delete_at(ary, NUM2LONG(arg1)); - - return arg2; + return rb_ary_delete_at(ary, NUM2LONG(arg1)); } static VALUE diff --git a/compar.c b/compar.c index 43e31693f3..ebdd47a8d7 100644 --- a/compar.c +++ b/compar.c @@ -22,7 +22,7 @@ cmp_equal(x, y) { VALUE c = rb_funcall(x, cmp, 1, y); - if (NIL_P(c)) return Qnil; + if (NIL_P(c)) return Qfalse; if (NUM2LONG(c) == 0) return Qtrue; return Qfalse; }