[macruby-changes] [151] MacRuby/trunk/array.c
source_changes at macosforge.org
source_changes at macosforge.org
Thu Apr 17 20:47:56 PDT 2008
Revision: 151
http://trac.macosforge.org/projects/ruby/changeset/151
Author: lsansonetti at apple.com
Date: 2008-04-17 20:47:56 -0700 (Thu, 17 Apr 2008)
Log Message:
-----------
better Array#to_a
Modified Paths:
--------------
MacRuby/trunk/array.c
Modified: MacRuby/trunk/array.c
===================================================================
--- MacRuby/trunk/array.c 2008-04-18 03:47:40 UTC (rev 150)
+++ MacRuby/trunk/array.c 2008-04-18 03:47:56 UTC (rev 151)
@@ -102,7 +102,7 @@
} while (0)
#endif
-static VALUE rb_ary_frozen_p(VALUE ary);
+VALUE rb_ary_frozen_p(VALUE ary);
static inline void
rb_ary_modify_check(VALUE ary)
@@ -171,7 +171,7 @@
* while being sorted).
*/
-static VALUE
+VALUE
rb_ary_frozen_p(VALUE ary)
{
#if WITH_OBJC
@@ -1747,15 +1747,11 @@
* the receiver to an Array object.
*/
-#if WITH_OBJC
-static bool rb_objc_ary_is_pure(VALUE ary);
-#endif
-
static VALUE
rb_ary_to_a(VALUE ary)
{
#if WITH_OBJC
- if (!rb_objc_ary_is_pure(ary)) {
+ if (rb_obj_is_kind_of(ary, rb_cArray) == Qfalse) {
#else
if (rb_obj_class(ary) != rb_cArray) {
#endif
@@ -3795,7 +3791,8 @@
for (i = 0; i < nlen; i++) {
rb_ary_store(cc, lev, RARRAY_AT(ary, stack[lev+1]));
for (lev++; lev < n; lev++) {
- rb_ary_store(cc, lev, RARRAY_AT(ary, stack[lev+1] = stack[lev]+1));
+ stack[lev+1] = stack[lev]+1;
+ rb_ary_store(cc, lev, RARRAY_AT(ary, stack[lev+1]));
}
#if WITH_OBJC
rb_yield(rb_ary_dup(cc));
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080417/b50e4534/attachment.html
More information about the macruby-changes
mailing list