ruby-trunk-changes r57647 - r57652

今日は cygwin 向けのテストの修正や Array#sum に引数を渡した時の挙動の微妙な変更などがありました。

nobu: r57647 2017-02-17 22:31:42 +0900

標準添付ライブラリ fileutils のテストで相対パスによる symlink の作成で symlink が置かれるディレクトリからの相対パスになるように修正しています。 FileUtils.rm_f のテストなどだったのでリンク先が切れててもテストには影響はなかったみたいですが、正しく意図したリンクがはられるように修正しています。

nobu: r57648 2017-02-17 22:31:43 +0900

標準添付ライブラリ fileutils のテストで Cygwin ではリンク切れしている symlink についてのテストをスキップするようにしています。どうも Cygwin では CYGWIN=winsymlinks:nativestrict という環境変数が設定されていると、Windows の link を使うのでそもそも壊れた symlink が作れないみたいですね。

nobu: r57649 2017-02-18 12:42:35 +0900

array.c の rb_ary_sum() から数値の加算処理の共通部分を finish_exact_sum() という関数にくくり出すリファクタリング

svn: r57650 2017-02-18 12:42:36 +0900

version.h の日付更新。

nobu: r57651 2017-02-18 13:23:20 +0900

r57649 でくくり出した finish_exact_sum() に引数を追加して、Array#sum に初期値として引数が渡されている時に配列の要素が 0 だったら加算(+ メソッド)を呼び出さないような最適化が行なわれていたのを、引数が指定されていたら常に加算するようにしています。これ必要あるんですかね。チケットの例だと引数に誤って文字列を渡してエラーにならないケースがある、ということで、まあわからなくもないのですが…。 [ruby-core:79572] [Bug #13222]

kazu: r57652 2017-02-18 14:52:16 +0900

標準添付ライブラリ cgi とそのテストのスクリプトの magic comment frozen_string_literal を true に変更しています。文字列操作が多いのでスクリプトの内容の変更も多少あります。