ruby-trunk-changes r49844 - r49856

今日は Binding オブジェクトが Refinements の状態を覚えておいて eval の呼び出しをまたがって効果を持つようになる変更などがありました。また benchmark の結果の出力にいくつか選択できるフォーマットを追加しています。

odaira: r49844 2015-03-05 08:44:59 +0900

AIX では /dev/urandom から 0 byte 読み込もうとすると戻り値に -1 (エラー)をかえしてしまうので Random.raw_seed(0) が呼ばれたら何もせず空文字列を返すように修正しています。

svn: r49845 2015-03-05 08:45:10 +0900

version.h の日付更新。

nobu: r49846 2015-03-05 09:14:02 +0900

ベンチマーク結果を整形する benchmark/driver.rb で Markdown 形式のテーブルで結果を出力できるようにしています。

nobu: r49847 2015-03-05 10:01:02 +0900

r49832 で .tarvis.yml に追加した OS X でのテスト終了後の ~/Library/Logs/DiagnosticReports のファイルチェックを削除しています。

shugo: r49848 2015-03-05 11:20:25 +0900

Refinements のテストのための test/ruby/test_refinement.rb の先頭で警告除去のため Module#refine を一度呼んでいたのを削除しています。 2.0.0 の時に Refinements はまだ experimental な機能だったので利用しようとすると初回に警告が出ていたのでそれを抑制するためにやっていたのだと思います。今はもう警告自体がなくなったので不要になっていました。

nobu: r49849 2015-03-05 11:38:54 +0900

benchmark/driver.rb で結果を出力するファイル名を指定されたフォーマットに応じた拡張子をつけるようにしています。

nobu: r49850 2015-03-05 11:39:09 +0900

benchmark/driver.rb の出力形式にさらに plain text を追加しています。

shugo: r49851 2015-03-05 11:56:03 +0900

Binding オブジェクトに Refinements の Module#using の利用状況を記憶させて、同じ Binding オブジェクトを eval に渡した時に前回の Refinements の状態が引き継がれるようにしています。うーむ実装がよくわからなくなってきた。 [ruby-core:67945] [Bug #10818]

gogotanaka: r49852 2015-03-05 12:29:37 +0900

math.c で用途によってローカル変数を2つ(d, d0)定義していたのを同じ変数を使いまわすようにリファクタリングしています。

nobu: r49853 2015-03-05 14:07:39 +0900

lib/rubygems/test_case.rb でテスト用に作成して環境変数 GEM_HOME や GEM_PATH に設定しておいた一時ディレクトリを終了時に削除するようにしています。

nobu: r49854 2015-03-05 16:01:26 +0900

benchmark/driver.rb の出力で各カラムの幅を取得するインデックスの取りかたをちょっと変更しています。

gogotanaka: r49855 2015-03-05 17:00:14 +0900

Hash#delete の rdoc で指定されたキーがなかった時の戻り値の説明が間違っていたのを修正しています。 https://github.com/ruby/ruby/pull/844

nobu: r49856 2015-03-05 17:17:26 +0900

benchmark/driver.rb で各カラムの幅の調整を全部の行のそのカラムの最大文字数から取得するようにしています。