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
IO12.diff
Description: IO12.diff
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core