ruby-trunk-changes r49974 - r49982

今日は WEBrick の :DoNotReverseLookup というオプションの扱いについての不具合修正などがありました。

gogotanaka: r49974 2015-03-16 02:52:46 +0900

Proc のテストメソッドの typo 修正。 https://github.com/ruby/ruby/pull/852

svn: r49975 2015-03-16 02:53:01 +0900

version.h の日付更新。

gogotanaka: r49976 2015-03-16 02:53:01 +0900

lambda のテストで利用しているメソッド名の typo 修正。 https://github.com/ruby/ruby/pull/851

nobu: r49977 2015-03-16 16:47:48 +0900

random.c で Data_Wrap_Struct() を使っているところで警告を抑制するため直前に #define RUBY_UNTYPED_DATA_WARNING 0 を追加しています。コミットログが内容と異なっていて次のコミットのものと一緒になってますね。

nobu: r49978 2015-03-16 16:49:27 +0900

r49977 の random.c での警告避けはやっぱりやめて、include/ruby/ruby.h で rb_data_object_alloc_warning() の警告を __builtin_constant_p() がうまく働く時にだけ有効にするようにしています。こうすると random.c の Data_Wrap_Struct() は klass に定数 0 を渡しているので警告が抑制されるとのこと。

gogotanaka: r49979 2015-03-16 17:39:29 +0900

Math.log, Math.log2, Math.log10 の実装で不要なローカル変数を消して1つの変数を使いまわすようにしています。今読んでて気がつきましたけど、多分 DBL2NUM() が関数マクロなので引数は複数回評価されるように展開される可能性があるために、マクロの引数に式を書かないように別の変数に代入していたんでしょうね。今は DBL2NUM() は rb_float_new() の呼び出しとして定義されているので、特に実害はありません。

hsbt: r49980 2015-03-16 17:43:28 +0900

標準添付ライブラリ webrick で Socket#do_not_reverse_lookup で逆引きを抑制するフラグ :DoNotReverseLookup を導入した時に config[:DoNotReverseLoopup] をそのまま代入していたためデフォルト値の時にも明示的に false を代入したのと同様になってしまっていたので、nil チェックをした上で !! で ture もしくは false にして代入するようにしています。 https://github.com/ruby/ruby/pull/731

svn: r49981 2015-03-16 17:43:42 +0900

r49980 で新規追加されたファイルの svn property 設定。

nobu: r49982 2015-03-16 19:20:25 +0900

r49966 で struct dirent::d_dtype を glob_helper() で利用するようにして lstat(2) の呼び出しを減らした時に d_dtype が DT_UNKNOWN という定数の場合も考慮するように条件を追加しています。