ruby-trunk-changes r55166 - r55175

今日は openssl の不具合修正や rb_scan_args() のマクロ版の警告除去などがありました。

eregon: r55166 2016-05-26 05:01:24 +0900

rb_define_class() の rdoc 用コメントの super が NULL の時の記述の修正と、再定義で super が異なる場合の例外を NameError から TypeError に修正しています。

svn: r55167 2016-05-26 05:01:25 +0900

version.h の日付更新。

duerst: r55168 2016-05-26 09:45:44 +0900

Unicode の文字列の downcase, upcase, capitalize の時の casefold をチェックするテストを追加しています。 enc/unicode/data にダウンロードした UnicodeData, CaseFolding, SpecialCasing などのデータを元に自動的にテストを生成するようにしています。

svn: r55169 2016-05-26 09:45:45 +0900

r55168 の行末の空白除去。

svn: r55170 2016-05-26 09:45:45 +0900

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

nobu: r55171 2016-05-26 10:30:31 +0900

rb_scan_args() のマクロ版の実装で clang での警告を除去するため fmt を fmt[i] と配列としてアクセスしていたのを *(""fmt+i) とポインタとしてアクセスするようにしています。文字列リテラルと連結させるようにしているのはなんでだろ。

nobu: r55172 2016-05-26 14:11:07 +0900

r55171 を revert しています。clang で文字列と整数の演算で別の警告が出てしまったそうです。

nobu: r55173 2016-05-26 14:13:54 +0900

rb_scan_args() のマクロ版の fmt 文字列のチェックを修正。もうすごすぎて読む気力も出ませんが、引数の数のカウンタとサイズチェックを同時にするようにマクロ群に引数を追加しています。

nobu: r55174 2016-05-26 14:16:04 +0900

rb_scan_args_count() で clang での警告除去のため rb_scan_args_count_var() と rb_scan_args_count_opt() に渡す fmt に fmt"\0\0\0\0" のように余分な NUL 文字を連結しておくようにしています。

rhe: r55175 2016-05-26 14:24:58 +0900

拡張ライブラリ openssl の OpenSSL::PKey::{DH,DSA,RSA}#size で NULL になる可能性のあるポインタにチェックなしにアクセスしていたところを修正しています。 [ruby-core:75720] [Bug #12428]