ruby-trunk-changes r30736 - r30744

Array#uniq! や Thread の deadlock 検出時の SEGV の修正が入ってます。また最近の修正で irb --disable-gems がエラーになっていたのが修正されています。

naruse:r30736 2011-01-31 05:42:40 +0900

Array#uniq! にブロックを渡した時の配列操作に不具合があったのを修正。[ruby-core:34997] [Bug #4346]

svn:r30737 2011-01-31 05:42:42 +0900

version.h の日付更新。

naruse:r30738 2011-01-31 06:00:04 +0900

r30736 のテストと ruby-core の参照を追加追記しています。

naruse:r30739 2011-01-31 06:47:10 +0900

r30736 の修正に追加。サイズ0にしたArrayのEMBEDフラグをセット。

naruse:r30740 2011-01-31 12:44:57 +0900

64bit の型から 32bit への暗黙の型変換の警告除去です。

yugui:r30741 2011-01-31 14:46:50 +0900

irb に --disable-gems オプションを渡すと Gem が未定義なためエラーになっていたのを修正。[ruby-core:34990] [Bug #4345]

nagachika:r30742 2011-01-31 20:57:14 +0900

ChangeLog の関数名 typo 修正。

nagachika:r30743 2011-01-31 21:40:19 +0900

Thread が終了する時に deadlock を検出して、main thread に例外を投げる時に ruby のメソッド呼び出しを利用していて、その前に Thread 毎の VM スタックを解放してしまうので不正メモリアクセスの可能性があったのを修正しています。[Bug #4009] [ruby-core:32982]

kosaki:r30744 2011-01-31 21:59:54 +0900

r30698 を revert しています。ここは実際の型が一致するかチェックするために同じ名前を2つの型で宣言していて、名前が衝突しているのは意図的だったらしいです。