ruby-trunk-changes r49196 - r49206

今日は Array#keep_if の不具合修正やマルチバイト文字と改行を含む例外で SEGV する不具合の修正などがありました。

nobu: r49196 2015-01-10 10:12:17 +0900

Array#keep_if のブロックで途中で break すると要素が重複することがある不具合を修正しています。 keep_if は delete_if/reject! の逆ですね。 [ruby-dev:48805] [Bug #10722]

svn: r49197 2015-01-10 10:12:27 +0900

version.h の日付更新。

hsbt: r49199 2015-01-10 10:58:59 +0900

complex.c からもコメントアウトされたソースコードを削除しています。

nobu: r49200 2015-01-10 11:20:51 +0900

r49198 の ChangeLog エントリの typo 修正。

usa: r49201 2015-01-10 12:35:11 +0900

マルチバイト文字と改行を含むメッセージの例外を発生させて rescue しないと SEGV する不具合を修正しています。バイト数でカウンタを持っていたのに rb_str_subseq() ではなく rb_str_substr() を用いているところがあったのがいけなかったようです。 [ruby-core:67473] [Bug #10727]

hsbt: r49202 2015-01-10 12:57:17 +0900

拡張ライブラリ zlib の rdoc 用コメントの Zlib.crc32 の仮引数名を修正しています。 [ruby-core:67186] [Bug #10668]

nobu: r49203 2015-01-10 13:02:08 +0900

r49201 で修正したマルチバイト文字+改行の例外による SEGV についてのテストを追加しています。 [ruby-core:67473] [Bug #10727]

nobu: r49204 2015-01-10 16:15:12 +0900

拡張ライブラリ etc の Etc.getgrgid や Etc.getgrnam のテストでのチェックを修正しています。 getgrent(3) が返すものが認証方式の設定や環境によっては不十分(とりあえず Open Directory を OS X で使っている環境だとエラーだったらしいです)なので、name と gid のみで比較するようにしています。

akr: r49205 2015-01-10 20:40:20 +0900

test/ruby/test_integer_comb.rb で Integer#size を8倍してビット数を得ていたところを Integer#bit_length メソッドを利用するようにリファクタリングしています。

nobu: r49206 2015-01-10 21:24:19 +0900

make test-all 用の test/lib/test/unit.rb でテストから除外するファイル/ディレクトリを指定する EXCLUDES 環境変数や --excludes-dir オプションに File::PATH_SEPARATOR (":" や ";"。プラットフォームで異なる) で区切って複数のパスを渡せるようにしています。