io.c:1182
static VALUE
rb_io_each_line(argc, argv, io)
    int argc;
    VALUE *argv;
    VALUE io;
{
    VALUE str;
    OpenFile *fptr;
    VALUE rs;

    if (argc == 0) {
	rs = rb_rs;
    }
    else {
	rb_scan_args(argc, argv, "1", &rs);
    }
    GetOpenFile(io, fptr);
    while (!NIL_P(str = rb_io_getline(rs, fptr))) {
	rb_yield(str);
    }
    return io;
}
