ruby: updated to 1.8.6
[crux-ports.git] / ruby / ruby-array_shift.diff
diff --git a/ruby/ruby-array_shift.diff b/ruby/ruby-array_shift.diff
deleted file mode 100644 (file)
index 3d75248..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -aur ruby-1.8.5.orig/array.c ruby-1.8.5/array.c
---- ruby-1.8.5.orig/array.c    2006-06-24 16:53:36.000000000 +0200
-+++ ruby-1.8.5/array.c 2006-11-12 11:58:46.187673233 +0100
-@@ -501,8 +501,16 @@
-     rb_ary_modify_check(ary);
-     if (RARRAY(ary)->len == 0) return Qnil;
-     top = RARRAY(ary)->ptr[0];
--    ary_make_shared(ary);
--    RARRAY(ary)->ptr++;               /* shift ptr */
-+    if (RARRAY(ary)->len < ARY_DEFAULT_SIZE && !FL_TEST(ary, ELTS_SHARED)) {
-+      MEMMOVE(RARRAY(ary)->ptr, RARRAY(ary)->ptr + 1, VALUE, RARRAY(ary)->len - 1);
-+    }
-+    else {
-+      if (!FL_TEST(ary, ELTS_SHARED)) {
-+          RARRAY(ary)->ptr[0] = Qnil;
-+      }
-+      ary_make_shared(ary);
-+      RARRAY(ary)->ptr++;             /* shift ptr */
-+    }
-     RARRAY(ary)->len--;
-     return top;