ruby-trunk-changes r49227 - r49238

今日は細かな修正や最適化が主でした。

nobu: r49227 2015-01-13 12:47:41 +0900

Range#bsearch の実装で BSEARCH_CHECK() マクロの中で引数を1度だけ評価して結果をローカル変数に入れておくようにすることで変換を複数回実行するのを避けるようにする最適化。

nobu: r49228 2015-01-13 12:47:55 +0900

Range#bsearch でも引数エラー時にクラス名を例外メッセージに埋め込む時に PRIsVALUE を利用することでエンコーディングを保持するようにしています。

svn: r49229 2015-01-13 12:47:56 +0900

version.h の日付更新。

nobu: r49230 2015-01-13 12:51:35 +0900

Range#bsearch のリファクタリング。 r49216 の Array#bsearch と同様に satisfied を具体的な要素の値を保持しておくようにしています。数値などの時に最後に再度変換しなくてすむようにしています。

nobu: r49231 2015-01-13 14:16:37 +0900

Net::HTTP のテストで不正なドメイン名の URI を使った時のエラーのチェックで実際に DNS に問い合わせをせずにスタブを追加して想定した例外を発生させるようにしています。利用しているDNSサーバの挙動によってはテストが失敗することがあるとのこと。 [ruby-core:67454] [Bug #10721]

nobu: r49232 2015-01-13 17:21:44 +0900

tool/rbinstall.rb の未使用のローカル変数やブロックスコープの変数で外側の変数を遮蔽しているなどの警告の除去。

nobu: r49233 2015-01-13 17:21:51 +0900

tool/rbinstall.rb で Gem.install のオプションに :dir_mode、:data_mode、:prog_mode を追加して、同じ Hash オブジェクトをオプション引数に使いまわして渡すようにしています。

nobu: r49234 2015-01-13 21:07:04 +0900

数値の比較でのエラー時の例外メッセージに、引数(右辺値)が Float の時は(即値の flonum の時以外の時も)クラス名ではなく値そのものを表示するように修正しています。

nobu: r49235 2015-01-13 21:07:14 +0900

r49234 と同様に数値の coerce のエラー時にも引数が Float の時はクラス名ではなく値そのものを例外メッセージに埋め込むようにしています。

hsbt: r49236 2015-01-13 21:08:28 +0900

拡張ライブラリ json の upstream のリポジトリから v1.8.1 から v1.8.2 への差分から TypedData に関するマクロ等の変更以外をマージしています。 どうも最近 json の upstream との同期が複雑なことになっているみたいですね。 [ruby-core:67564] [Feature #10739]

nobu: r49237 2015-01-13 21:57:13 +0900

make distclean で auto4te.cache を、make realclean で id.c, id.h, probes.dmyh などの自動生成されるソースを削除するようにルールを追加しています。 [ruby-core:67562] [Bug #10737]

nobu: r49238 2015-01-13 21:59:26 +0900

tool/rbinstall.rb で bundled gems をインストールした先の mode を変更する時に指定するディレクトリを Gem.dir からローカル変数の gem_dir に修正しています。 r49047 と同様に環境変数 GEM_HOME に影響をうけないようにするためでしょう。 https://github.com/ruby/ruby/pull/812