* enum.c (enum_zip): honor length of the receiver, not the

shortest length.  [ruby-core:14738]

* enum.c (enum_zip): returns array not enumerator for no block
  form.  [ruby-core:14738]

* enumerator.c (next_ii): do not ignore multiple values yielded.

* array.c (rb_ary_zip): faster version without creating generators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-01-08 09:50:01 +00:00
parent 1309c10332
commit 929faf7906
4 changed files with 128 additions and 16 deletions

View file

@ -365,9 +365,9 @@ enumerator_with_index(VALUE obj)
}
static VALUE
next_ii(VALUE i, VALUE obj)
next_ii(VALUE i, VALUE obj, int argc, VALUE *argv)
{
rb_fiber_yield(1, &i);
rb_fiber_yield(argc, argv);
return Qnil;
}