ruby-trunk-changes r54877 - r54889

今日も Fixnum と Bignum の統合へ向けたテストの修正や Windows での File.truncate の不具合修正などがありました。

naruse: r54877 2016-05-02 03:27:41 +0900

search_nonascii() で UNALIGNED_WORD_ACCESS が偽の時に変数宣言がブロックの途中にあったので関数の先頭に移動しています。

akr: r54878 2016-05-02 06:59:41 +0900

complex.c の k_fixnum_p() と k_bignum_p() で rb_cFixnum と rb_cBignum を直接参照しているところがあったので、それぞれ FIXNUM_P() と RB_TYPE_P() マクロを利用するようにしています。

nobu: r54879 2016-05-02 09:06:04 +0900

search_nonascii() の UNALIGNED_WORD_ACCESS での preprocessor の分岐でブロックの開きかっこのために #else を使っていたところを共通部分に UNALIGNED_WORD_ACCESS 自体を条件部に入れた if 文を括り出すことで共通化しています。

akr: r54880 2016-05-02 12:35:52 +0900

test/ruby/test_refinement.rb の Module#refine が返す Module の inspect のテストで Fixnum を使っていたところを Integer にかえています。

nobu: r54881 2016-05-02 12:53:34 +0900

String#<<, String#concat の rdoc 用コメントの typo 修正。

nobu: r54882 2016-05-02 12:58:28 +0900

String#concat の引数が数値オブジェクトの場合の実装で、エンコーディングが ASCII-8BIT の時にも US-ASCII の時と同様の最適化パスを通るようにしています。

kazu: r54883 2016-05-02 20:46:00 +0900

r54802, r54840, r54859, r54868 の ChangeLog エントリの typo 修正。

kazu: r54884 2016-05-02 20:46:01 +0900

doc/standard_library.rdoc の typo 修正。

kazu: r54885 2016-05-02 20:46:02 +0900

Fixnum#modulo の rdoc 用コメントに Integer#modulo の記述も追記しています。

naruse: r54886 2016-05-02 21:04:04 +0900

正規表現のマッチの処理で正規表現と渡された文字列のエンコーディングが同一だった時、正規表現エンコーディングが US-ASCII で文字列の coderange が ENC_CODERANGE_7BIT だった時に不要な関数呼び出しをスキップできるように分岐を追加しています。また coderange のチェック時に文字列オブジェクトに結果が保存されてたらそれを参照するようにしています。

usa: r54887 2016-05-02 23:03:21 +0900

UTF-8 のマルチバイト文字を持つファイルパスを File.open や File.path, File.directory? などなど File のメソッド群に渡すテストを追加しています。 [ruby-core:75304] [Bug #12340]

svn: r54888 2016-05-02 23:03:22 +0900

r54887 の行末の空白除去。

usa: r54889 2016-05-02 23:05:19 +0900

Windows 版で File.truncate が UTF-8 のマルチバイト文字を含むファイルパスを受け付けていなかったのを修正しています。 [ruby-core:75304] [Bug #12340]