* enum.c (enumeratorize): create new enumerator for current method if
no block is given.
* enumerator.c: moved from ext/enumerator.
0 lines of code changed in:
* eval.c, intern.h (rb_proc_call, rb_obj_method, rb_method_call):
export.
* ext/enumerator/enumerator.c (enumerator_with_index): [EXPERIMENTAL]
added a new method Enumerator#with_index. [ruby-talk:147728]
150 lines of code changed in:
* ext/enumerator/enumerator.c (each_cons_i): pass copy of an
internal consequent array. [ruby-talk:118691]
5 lines of code changed in:
* ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.
* ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,
ext/stringio/extconf.rb: added.
0 lines of code changed in:
* io.c (read_all): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24479]
* dir.c (rb_push_glob): block call at once the end of method.
[ruby-dev:24487]
* ext/enumerator/enumerator.c (enum_each_slice): remove
rb_gc_force_recycle() to prevent potential SEGV.
[ruby-dev:24499]
* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
buffer by clearing klass. [ruby-dev:24510]
* ext/socket/socket.c (sock_s_getservbyaname): protocol string
might be altered. [ruby-dev:24503]
* string.c (rb_str_upto): check if return value from succ is a
string. [ruby-dev:24504]
* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
avoid mode string modification. [ruby-dev:24454]
* io.c (rb_io_getline_fast): should take delim as unsigned char to
distinguish EOF and '\377'. [ruby-dev:24460]
* io.c (rb_io_getline): add check for RS modification.
[ruby-dev:24461]
* enum.c (enum_sort_by): use qsort() directly instead using
rb_iterate(). [ruby-dev:24462]
* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
prevent access to recycled object (via continuation for
example). [ruby-dev:24463]
0 lines of code changed in:
* ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:
Provide Kernel#to_enum as an alias for Kernel#enum_for. Maybe
this is a better name.
8 lines of code changed in:
* ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.
* ext/syck/syck.h: include stdio.h for definition of FILE.
1 lines of code changed in:
Add ext/enumerator, a helper module for the Enumerable interface.
42 lines of code changed in: