tfpt review "/shelveset:IO12;REDMOND\tomat"

Fixes core/io, core/file, and library/stringio spec failuires.

Includes Shri's pipe implementation.
File descriptors on RubyContext need to be shared for duplicated IO objects and 
reference counted so that close called for fd closes it only if there is no 
other open shared duplicated fd.
Factors RubyBufferedStream out of RubyIO. The stream can buffer up to 4 bytes 
and the buffer can be modified (needed for ungetc). Also fixes various 
buffering bugs.
Merges IOMode and RubyFileMode.
Makes implementation of Array#flatten non-recursive, more efficient and 
reusable (used in Kernel#print).

Fixes specs:
-       Text files used by specs ought to use Unix end of lines (\n)
-       Some specs were failing in MRI 1.8.6 and/or MRI 1.9 on Windows. Some of 
them were obviously wrong so I've fixed them or deleted them. Some might work 
on Unix so I've made them conditional. Could somebody go thru the specs that 
are conditional on Windows or failing in 1.8.6 or 1.9, test them on Linux/MacOS 
and file bugs on MRI so that it's clear if the differences are intentional or 
not. I've filed few bugs already where the behavior is obviously wrong.
-       Also many StringIO specs test for a different behavior than 
corresponding IO/File specs. Since StringIO is supposed to be used as a mock 
for IO I would  consider all those differences bugs. But there are dozens of 
them so I'm not sure about that.

Tomas

Attachment: IO12.diff
Description: IO12.diff

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to