ruby-trunk-changes r44368 - r44384

今日は define_method の作るメソッドの可視性が意図しない変化をしてしまうことがあった不具合の修正などがありました。

usa:r44368 2013-12-24 05:06:44 +0900

r44364 で追加した FileUtils.chown のテストのための前処理で Process.groups を呼んでいましたが、Windows ではこのメソッドが使えないのでファイルの権限回りの処理が使える環境かチェックして呼ぶように修正しています。

svn:r44369 2013-12-24 05:06:52 +0900

version.h の日付更新。

nobu:r44370 2013-12-24 10:13:40 +0900

r44358 の(r44247 などから連なる Hash#reject の変更の) Hash のクラスなどが変更されているかのチェックにつかマクロ名の変更に追随していなかったところがあったので追加修正しています。

nobu:r44371 2013-12-24 10:16:23 +0900

r44299 の ChangeLog エントリの行末の空白除去しています。

ko1:r44372 2013-12-24 12:13:52 +0900

RARRAY_ASET() マクロでコンパイラの警告が出ていたのを回避するため RARRAY_PTR_USE_START() と RARRAY_PTR_USE_END() を使うように定義方法を変更しています。 [ruby-dev:47858] [Bug #9287]

nobu:r44373 2013-12-24 12:43:19 +0900

r44234 で追加したテストのメソッド名が重複していたので名前を変更しています。

ko1:r44374 2013-12-24 14:00:37 +0900

README.EXT と README.EXT.ja に RGenGC の説明とその効用にあやかれるようにするための拡張ライブラリの書きかたについての解説を追記しています。 [ruby-core:57462] [misc #8962]

nobu:r44375 2013-12-24 14:01:05 +0900

r44374 の README.EXT(.ja) の行末の空白除去。

ko1:r44376 2013-12-24 14:13:43 +0900

README.EXT にさらに RGenGC についての wiki ページへのリンクを追記しています。

nobu:r44377 2013-12-24 16:13:23 +0900

r44374 の README.EXT.ja への追記の typo 修正。

nobu:r44378 2013-12-24 16:13:29 +0900

eval.c から未使用の rb_vm_get_cref() の宣言を削除しています。

nobu:r44379 2013-12-24 16:13:35 +0900

標準添付ライブラリ test/unit の assert_throw を minitest の assert_throws の alias として定義するように変更し、test/ruby/test_object.rb で assert_throws を使っていたのを assert_throw を利用するように変更しています。

nobu:r44380 2013-12-24 16:28:11 +0900

r40022 で Module#define_method がその Class/Module での可視性の宣言の状態(無引数の public/protected/private/module_function などでその後のメソッド定義のデフォルトの可視性が変化すること)の影響をうけるようにしたところ、send などを使って定義する時に private なメソッドが定義されてしまうことがあったのを修正しています。呼び元の cref のクラスと同じ時だけ可視性の状態を考慮するようにしています。 [ruby-core:58497] [Bug #9141] [ruby-core:57747] [Bug #9005]

nobu:r44381 2013-12-24 18:19:11 +0900

r44380 のテストで define_method に渡すブロックのブロックパラメータが "*x" になっていたので "*" を削る修正。

nobu:r44382 2013-12-24 18:36:46 +0900

r44379 で一時的に minitest の assert_throws の alias にした unit/test の assert_throw をやっぱり自前の実装にして catch と対応しないタグでの throw による例外に対応するようにしたり、エラー時のメッセージを詳しくしたりしています。

nobu:r44383 2013-12-24 19:05:18 +0900

r44382 の追加で assert_throw の戻り値を catch の戻り値(従って throw に渡された値)にしています。

a_matsuda:r44384 2013-12-24 20:56:10 +0900

ベンチマークスクリプト benchmark/bm_so_meteor_contest.rb のコメントの typo 修正。