ruby-trunk-changes r46551 - r46563

今日も ENV のメソッドのメモリリーク党の不具合修正や、lib/yaml.rb から Psych::EngineManager を削除する変更がありました。

nobu: r46551 2014-06-26 02:45:10 +0900

例外が捕捉されなかった時に出力されるエラーメッセージで例外クラスが匿名クラスだった時に改行が抜けるのを修正しています。

svn: r46552 2014-06-26 02:45:16 +0900

version.h の日付更新。

nobu: r46556 2014-06-26 07:43:23 +0900

r46549 で環境変数名の文字列の NUL 文字('\0')チェック処理を抽出した env_name() の引数を VALUE から volatile VALUE * とポインタ型に変更しています。 SafeStringValue() で変数が上書きされる可能性があるので、呼び元にもそれが伝播するようにしています。

nobu: r46557 2014-06-26 08:28:04 +0900

ENV.select から呼び出されるブロック内で大域脱出(break でも)するとメモリリークする不具合を修正しています。 また Windows 版だとクラッシュすることもあったそうです。 GET_ENVIRON() で char ** で環境変数名リストを確保していたのを、env_keys() で環境変数名の配列を取得してそれを利用するようにして GC にまかせるようにしています。 [ruby-dev:48325] [Bug #9978]

hone: r46558 2014-06-26 09:46:30 +0900

tool/make-snapshot でパッケージ作成時にチェックアウトするディレクトリ名にアーキテクチャ名を含めるようにしています。

hsbt: r46559 2014-06-26 11:52:46 +0900

r46102 を revert しています。r46102 は r46097 の revert で r46097 は lib/yaml.rb から Psych::EngineManager を削除するコミットなので、とりやめた削除をあらためて削除したということみたいです。 syck-1.0.3 で不要になったそうです。 [Bug #8344]

hsbt: r46560 2014-06-26 18:05:58 +0900

標準添付ライブラリ webrick で rescue 節で変数に例外オブジェクトを格納していたのに利用していなかったなどの未使用のローカル変数の削除をしています。

usa: r46561 2014-06-26 18:14:45 +0900

r46561 の ChangeLogtypo 修正。

hsbt: r46562 2014-06-26 18:16:56 +0900

test/profile_test_all.rb というテストのプロファイラ? を test/lib/profile_test_all.rb へ移動しています。 make test-all でのメモリ使用量などのプロファイル取得のためのスクリプトですね。

hsbt: r46563 2014-06-26 18:27:22 +0900

test/with_different_ofs.rb も test/lib/with_different_ofs.rb へ移動しています。 これは $, を変更してテストを実行するようにするユーティリティですね。