diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | io.c | 7 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Mon Jun 15 18:48:41 2009 Yukihiro Matsumoto <matz@ruby-lang.org> + + * io.c (argf_each_line): should return self. [ruby-core:23852] + + * io.c (argf_each_byte, argf_each_char): ditto. + Mon Jun 15 17:48:42 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * gc.c (os_obj_of): invoke garbage collection before iteration, to @@ -8406,11 +8406,10 @@ argf_each_line(int argc, VALUE *argv, VALUE argf) { RETURN_ENUMERATOR(argf, argc, argv); for (;;) { - if (!next_argv()) return Qnil; + if (!next_argv()) return argf; rb_block_call(ARGF.current_file, rb_intern("each_line"), argc, argv, rb_yield, 0); ARGF.next_p = 1; } - return argf; } static VALUE @@ -8418,7 +8417,7 @@ argf_each_byte(VALUE argf) { RETURN_ENUMERATOR(argf, 0, 0); for (;;) { - if (!next_argv()) return Qnil; + if (!next_argv()) return argf; rb_block_call(ARGF.current_file, rb_intern("each_byte"), 0, 0, rb_yield, 0); ARGF.next_p = 1; } @@ -8429,7 +8428,7 @@ argf_each_char(VALUE argf) { RETURN_ENUMERATOR(argf, 0, 0); for (;;) { - if (!next_argv()) return Qnil; + if (!next_argv()) return argf; rb_block_call(ARGF.current_file, rb_intern("each_char"), 0, 0, rb_yield, 0); ARGF.next_p = 1; } |