ruby-trunk-changes r30711 - r30720

寝落ちてしまったのでひとまず書きかけのところまでで更新します。
今日は private constant の仕様の整理と不具合修正と、rubygems の 1.5.0 取り込みがありました。

mame:r30711 2011-01-29 02:57:19 +0900

定数の visibility を設定する時の例外メッセージの typo 修正です。

svn:r30712 2011-01-29 02:57:20 +0900

version.h の日付更新。

mame:r30713 2011-01-29 02:57:27 +0900

rb_public_const_get(_at|_from) や rb_public_const_defined(_at|from) など定数の visibility を考慮した関数を追加しています。これらは対象の定数が private だと例外が発生します。また、private constant の影響で Marshal が失敗していた現象についてテストを追加しています。

mame:r30714 2011-01-29 02:57:34 +0900

private constant になっている Class や Module を class/module 文で再オープンする場合に

class A::B
end

のような書き方は例外を発生させて

class A
  class B
  end
end

は許容するための修正です。

mame:r30715 2011-01-29 02:57:42 +0900

Module#const_set が定数の visibility を public にリセットしてしまう不具合を修正しています。[ruby-core:32912]

mame:r30716 2011-01-29 02:57:48 +0900

Module#constant は private constants を返さないようにしています。

ryan:r30717 2011-01-29 08:46:47 +0900

rubygems 1.5.0 を取り込んでいます。でかいよー。

mame:r30718 2011-01-29 11:01:19 +0900

ネストしていないトップレベルの定数を private にした時に、 ::A のような表記だけでなく A のような表記も禁止されてしまっていたのを修正。

nobu:r30719 2011-01-29 17:26:57 +0900

新規追加されたファイルの property 変更です。

kosaki:r30720 2011-01-29 20:23:42 +0900

benchmark/driver.rb で benchmark が異常終了した時にコマンドラインを例外メッセージに含めるようにしています。