ruby-trunk-changes r32758 - r32768

今日は IO#eachbyte の不具合、RDoc 3.9 のマージなどがありました。

nobu:r32758 2011-07-30 23:14:46 +0900

IO#each_byte のループで内部のバッファを最初に取得して終端を決めてからループしていたために、ブロック内の操作で内部のバッファが更新されると止まらなくなってしまう可能性があったのを修正しています。 [ruby-core:38609] [Bug #5119]
しかし IO#pos の呼び出しでバッファが flush されるというのはちょっと盲点ですね。修正内容はわかるものの、しばらくなんで IO#pos を呼ぶことで発生するんだろうかと思いました。

nobu:r32759 2011-07-30 23:19:11 +0900

tool/rbinstall.rb からプリインストールされている gem パッケージとして扱う標準添付ライブラリのリストを管理している部分を defs/default_gems というファイルに分離しています。

mrkn:r32762 2011-07-31 01:24:35 +0900

bigdecimal のバージョン番号をチェックしている test_version というテストを削除しています。

svn:r32763 2011-07-31 01:24:38 +0900

version.h の日付更新。

naruse:r32766 2011-07-31 01:31:36 +0900

IO#each_byte の修正で不要になったローカル変数を削除しています。

drbrain:r32767 2011-07-31 09:19:00 +0900

RDoc 3.9 をマージしています。コードはよく読んでいませんが、 stopdoc や nodoc などの rdoc 向けの制御用コメントの動作の修正と "===" の見出し機能の修正、ri [] がうまく動作しなかった不具合の修正などがあるようです。

ktsj:r32768 2011-07-31 11:32:48 +0900

Thread.new に Method オブジェクトを渡して実行させると SEGV する不具合を修正。cfp (control frame stack pointer) が 0 の時にそのままアクセスして落ちているのでとりあえず例外を発生させて SEGV は回避するようにしています(このようなスレッドは実行はできない)。 [ruby-dev:44208] [Bug #5083]