From: Usaku NAKAMURA Date: 2011-05-31T16:43:08+09:00 Subject: [ruby-dev:43603] [Ruby 1.9 - Bug #4804][Assigned] IO.pipeとNEWLINE_DECORATOR Issue #4804 has been reported by Usaku NAKAMURA. ---------------------------------------- Bug #4804: IO.pipeとNEWLINE_DECORATOR http://redmine.ruby-lang.org/issues/4804 Author: Usaku NAKAMURA Status: Assigned Priority: Normal Assignee: Nobuyoshi Nakada Category: core Target version: 1.9.x ruby -v: ruby 1.9.3dev (2011-05-31 trunk 31858) [x64-mswin64_100] IO.pipeで生成されるIOはDEAFULT_TEXTMODE、すなわちWindowsにおいては FMODE_TEXTMODEに設定されますが、実際には改行コード変換が行われません。 どうもecflagsにNEWLINE_DECORATOR類を指定するパスが存在しないのでは ないかと思われるのですが、この辺のコードが複雑すぎて直し方までは わかりませんでした。 なおこれが原因で、test/test_open3.rbでFailureが起きています。 また、rdocのtestでも2件Failureがあるのですが、おそらく同じ原因では ないかと思っています。 他のプラットフォームは試してないんですが、おそらく以下のコードで 現象を再現できるのではないかと思います。 r, w = IO.pipe(textmode:true) w.write "foo\n" p r.gets # => expect "foo\n", but "foo\r\n" -- http://redmine.ruby-lang.org