From: Michael Neumann Date: 2004-07-19T22:04:23+09:00 Subject: [RCR 265] Readable/Writeable modules --------------030505030207020600080606 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Appended is the patch for RCR 265. http://rcrchive.net/rcr/RCR/RCR265 Regards, Michael --------------030505030207020600080606 Content-Type: text/plain; name="readable-writeable.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="readable-writeable.diff" ? y.tab.h Index: io.c =================================================================== RCS file: /src/ruby/io.c,v retrieving revision 1.285 diff -u -r1.285 io.c --- io.c 29 Jun 2004 01:17:39 -0000 1.285 +++ io.c 19 Jul 2004 12:55:19 -0000 @@ -86,6 +86,9 @@ # error off_t is bigger than long, but you have no long long... #endif +VALUE rb_mReadable; +VALUE rb_mWriteable; + VALUE rb_cIO; VALUE rb_eEOFError; VALUE rb_eIOError; @@ -5354,6 +5357,9 @@ cygwin_internal(CW_PERFILE, pf); #endif + rb_mReadable = rb_define_module("Readable"); + rb_mWriteable = rb_define_module("Writeable"); + rb_eIOError = rb_define_class("IOError", rb_eStandardError); rb_eEOFError = rb_define_class("EOFError", rb_eIOError); @@ -5382,6 +5388,8 @@ rb_cIO = rb_define_class("IO", rb_cObject); rb_include_module(rb_cIO, rb_mEnumerable); + rb_include_module(rb_cIO, rb_mReadable); + rb_include_module(rb_cIO, rb_mWriteable); rb_define_alloc_func(rb_cIO, io_alloc); rb_define_singleton_method(rb_cIO, "new", rb_io_s_new, -1); Index: ruby.h =================================================================== RCS file: /src/ruby/ruby.h,v retrieving revision 1.105 diff -u -r1.105 ruby.h --- ruby.h 7 Apr 2004 06:30:14 -0000 1.105 +++ ruby.h 19 Jul 2004 12:55:21 -0000 @@ -561,6 +561,8 @@ RUBY_EXTERN VALUE rb_mKernel; RUBY_EXTERN VALUE rb_mComparable; RUBY_EXTERN VALUE rb_mEnumerable; +RUBY_EXTERN VALUE rb_mReadable; +RUBY_EXTERN VALUE rb_mWriteable; RUBY_EXTERN VALUE rb_mPrecision; RUBY_EXTERN VALUE rb_mErrno; RUBY_EXTERN VALUE rb_mFileTest; Index: ext/stringio/stringio.c =================================================================== RCS file: /src/ruby/ext/stringio/stringio.c,v retrieving revision 1.28 diff -u -r1.28 stringio.c --- ext/stringio/stringio.c 29 Mar 2004 07:54:24 -0000 1.28 +++ ext/stringio/stringio.c 19 Jul 2004 12:55:30 -0000 @@ -954,6 +954,8 @@ VALUE StringIO = rb_define_class("StringIO", rb_cData); rb_include_module(StringIO, rb_mEnumerable); + rb_include_module(StringIO, rb_mReadable); + rb_include_module(StringIO, rb_mWriteable); rb_define_alloc_func(StringIO, strio_s_allocate); rb_define_singleton_method(StringIO, "open", strio_s_open, -1); rb_define_method(StringIO, "initialize", strio_initialize, -1); Index: ext/zlib/zlib.c =================================================================== RCS file: /src/ruby/ext/zlib/zlib.c,v retrieving revision 1.13 diff -u -r1.13 zlib.c --- ext/zlib/zlib.c 23 Jun 2004 09:19:14 -0000 1.13 +++ ext/zlib/zlib.c 19 Jul 2004 12:55:37 -0000 @@ -3348,6 +3348,8 @@ cGzipWriter = rb_define_class_under(mZlib, "GzipWriter", cGzipFile); cGzipReader = rb_define_class_under(mZlib, "GzipReader", cGzipFile); rb_include_module(cGzipReader, rb_mEnumerable); + rb_include_module(cGzipReader, rb_mReadable); + rb_include_module(cGzipReader, rb_mWriteable); rb_define_singleton_method(cGzipFile, "wrap", rb_gzfile_s_wrap, -1); rb_undef_alloc_func(cGzipFile); Index: lib/readbytes.rb =================================================================== RCS file: /src/ruby/lib/readbytes.rb,v retrieving revision 1.2 diff -u -r1.2 readbytes.rb --- lib/readbytes.rb 13 Aug 1999 05:45:16 -0000 1.2 +++ lib/readbytes.rb 19 Jul 2004 12:55:37 -0000 @@ -1,6 +1,6 @@ # readbytes.rb # -# add IO#readbytes, which reads fixed sized data. +# add Readable#readbytes, which reads fixed sized data. # it guarantees read data size. class TruncatedDataError