ruby-trunk-changes r52011 - r52031

今日は Enumerable#min, max などに引数で個数を指定した時の不具合修正、EUC-JP の文字列の gsub などの不具合修正などがありました。

nobu: r52011 2015-10-04 08:17:15 +0900

r52004 で減らした test/ruby/test_symbol.rb の Symbol をブロック引数として渡した時の GC 関連のテストのループ回数をさらに減らしています。

nobu: r52012 2015-10-04 10:10:00 +0900

Dir.pwd で返すディレクトリパスのエンコーディングOS X の時に UTF-8 に正規化するようにしています。 Dir.each などでは前から正規化の変換が行なわれていたので Dir.pwd で対応が漏れていたのを修正したということだと思います。

nobu: r52013 2015-10-04 10:25:42 +0900

tool/runruby.rb で r52008 で導入した ruby-runner が存在しなかった場合は ruby 本体を利用するようにしています。

nobu: r52014 2015-10-04 11:18:58 +0900

test/ruby/test_dir_m17n.rb の r52012 で追加した Dir.pwd のテストで filesystem encoding を考慮するようにしています。主に Windows 環境でテストが失敗していたのを修正しているのではないかと思います。

nobu: r52015 2015-10-04 11:32:08 +0900

file.c の rb_str_normalize_ospath0() を rb_str_append_normalized_ospath() と改名して、引数 str に文字列オブジェクトを渡してこれに直接追加するようにしています。

naruse: r52016 2015-10-04 15:13:48 +0900

enc/euc_jp.c の mbc_case_fold() で mbc_enc_len() でエンコーディングに対して不正なバイト列があった時にエラーを返すようにしています。 [Bug #11486]

naruse: r52017 2015-10-04 15:18:46 +0900

r52016 の修正についてのテストを追加しています。 [Bug #11486]

nobu: r52018 2015-10-04 15:50:28 +0900

r51991 で追加された(よくみると r51993 ではテストは revert されてなかったんですね)テストの timeout を緩和しています。

nobu: r52019 2015-10-04 15:51:43 +0900

r52017 で追加されたテストの assert_nil のメッセージにチケット番号を追加しています。 [Bug #11486]

nobu: r52020 2015-10-04 15:56:58 +0900

r52016 の続きっぽいですが enc/euc_jp.c の mbc_case_fold() で削除済みの変数への代入が残っていたのを削っています。 [Bug #11486]

naruse: r52021 2015-10-04 16:25:56 +0900

r52016, r52017, r52019, r52020 など EUC-JP のエンコーディング変換の不具合修正の再修正です。 mbc_enc_len() でチェックするのではなくて(呼び出しは残ってますが…) code_to_mbc() の戻り値をチェックして不正な code point だったら 1 (エラー)を返すようにしています。 [Bug #11486]
mbc_enc_len() の呼び出しが残ってるのはいいんでしょうか。mbc_enc_len() の実装をみてみると副作用はなさそうなので冗長な気が。

nobu: r52022 2015-10-04 21:35:47 +0900

r52006 の make test-testframework の再修正。やっぱり test-all に test-testframework への依存関係もつけて、test-almost という test-testframework 以外のテストのターゲットを追加して、依存関係で実行順序を制御するようにしているそうです。

akr: r52023 2015-10-04 22:05:32 +0900

拡張ライブラリ pathname の ext/pathname/lib/pathname.rb に freeze_string_literals のマジックコメントを追加しています。 [ruby-core:70043] [Feature #11375]
そういえば知らなかったのですがマジックコメントには "-*- ... -*-" が必須なんだそうです。

akr: r52024 2015-10-04 22:06:26 +0900

r52023 の ChangeLog エントリに ML とチケットの参照を追記しています。

nobu: r52025 2015-10-04 23:19:36 +0900

r52008 で導入した tool/runruby.rb 用の ruby-runner の依存関係で Windows での .exe 拡張子の考慮が抜けていたところがあったので追加修正しています。 [Bug #11565]

akr: r52026 2015-10-04 23:41:55 +0900

Enumerable#min, #max などに引数を渡して最大/最小のn個を取り出す時に2つ目以降に誤った値を返す不具合があったのを修正しています。 [ruby-core:70477] [Bug #11471]

akr: r52027 2015-10-04 23:42:52 +0900

r52026 と関連してでしょうか、enum.c の nmin_filter() にコメントを追記しています。

nobu: r52028 2015-10-05 00:43:58 +0900

r52025 の再修正。 PREP に ruby-runner を追加していたのを、実際に /bin/sh が LIBPATHENV で指定される環境変数を捨ててしまう(OS XEl Capitan) の時だけ追加するようにしています。

svn: r52029 2015-10-05 00:44:02 +0900

version.h の日付更新。

nobu: r52030 2015-10-05 00:52:09 +0900

r52028 の行頭の空白除去。

nobu: r52031 2015-10-05 00:53:53 +0900

r52012 の再修正で Dir.pwd でも Dir.glob と同様に filesystem encoding が US-ASCII の時に ASCII-8BIT を使うようにしています。 多分 filesystem encoding にかかわらずマルチバイト文字を含むファイル名がある可能性を考慮してでしょうか。