ruby-trunk-changes r33010 - r33013

StringIO の IO 互換の向上、ISeq.disasm の不具合修正がありました。

nobu:r33010 2011-08-20 10:43:26 +0900

StringIO#read の第2引数(読み込み先のバッファとして使う String オブジェクトを指定する)に nil を渡された時に IO だと自動的に新しい文字列を確保する(つまり省略時と同じ挙動をする)のに StringIO だと例外が発生してしまうので、挙動を揃えるようにしています。 また第1引数(読み込むサイズ)が指定された場合は第2引数でバッファに使う String が渡されても読み込み後にそのエンコーディングを ASCII-8BIT にするようにしています。 [追記]それから第1引数が nil で第2引数に String が渡された場合も、StringIO#string (StringIO が中に持ってる文字列)のエンコーディングをコピーするようにしています。[/追記] [ruby-core:39026] [Bug #5207]

svn:r33012 2011-08-20 10:43:34 +0900

version.h の日付更新。

ktsj:r33013 2011-08-20 13:26:20 +0900

RubyVM::InstructionSequence.disasm で Proc オブジェクトを YARV の命令列にして文字列でダンプする処理で rb_iseq_t* 型で受けるべきところ VALUE の変数で受けてしまって値を壊していたのを修正しています。いつのまに……