ruby-trunk-changes r34582 - r34599

今日は respond_to? が protected なメソッドについて false を返すようになる変更、GC まわりの不具合修正などがありました。

knu:r34582 2012-02-13 23:02:26 +0900

respond_to? メソッドで protected なメソッドがデフォルト(省略可能な第2引数に true を渡さなければ) false を返すように変更されています。 protected なメソッドは呼び元の self に依存しますが呼べないことがあるのに respond_to? で true を返していたので仕様変更になりますが呼べない(可能性がある)時は false を返すというようしています。 [ruby-dev:40461] [ruby-dev:41739] [ruby-dev:41837]

knu:r34584 2012-02-14 01:05:00 +0900

NEWS ファイルに respond_to? と protected メソッドの関係の変更について追記しています。

svn:r34585 2012-02-14 01:05:05 +0900

version.h の日付更新。

drbrain:r34586 2012-02-14 06:19:11 +0900

Enumerator.new の rdoc に遅延 map/select を実装する例を追記しています。またその他の Enumerator の rdoc のサンプルの typo 修正など。 [ruby-core:19679] [Feature #707]

drbrain:r34587 2012-02-14 06:24:01 +0900

Process.wait と wait2 の rdoc に SystemError と書かれている例外名を SystemCallError と修正しています。 [ruby-core:42327] [Bug #5962]

nobu:r34588 2012-02-14 12:10:11 +0900

rb_autoload_load() で rb_ensure() に渡すコールバック関数 autoload_require() と autoload_const_get() の関数の型を rb_ensure() の引数に揃えています。

nobu:r34589 2012-02-14 15:06:40 +0900

Test::Unit でメッセージを生成する際に template 内の "?" という文字を引数の値に置き換えて作っているようなのですが、エスケープされた "\?" はそのまま "?" という文字としてメッセージに含めるようにしています。

nobu:r34592 2012-02-14 16:00:33 +0900

r34580 で IO#read の第2引数に読み込み先の String を渡した時のサイズ変更のタイミングを読み込み後にしたのですが、元々のサイズが読み込みサイズ以上だった場合は先に指定された読み込みサイズにまで切り詰めるようにしています。

nari:r34597 2012-02-14 18:11:24 +0900

オブジェクトスロットの確保時にアライメントをとるためにオブジェクト数を調節するところで 1つだけ減算していたのですが 64bit 環境では1つ減らすだけでは足りないことがあったので改めて個数を計算するようにしています。 [ruby-core:42508] [Bug #6006]

nari:r34598 2012-02-14 18:14:08 +0900

r34597 の ChangeLog エントリにチケット番号を追記しています。

nari:r34599 2012-02-14 20:26:24 +0900

r34581 で導入した CEILMOD() というマクロの名称を CEILDIV() に改名しています。mod(%)してなかったですね。