ruby-trunk-changes r35262 - r35272

naruse:r35262 2012-04-09 02:53:51 +0900

mathn を require していると Complex#** が期待と違う内部表現のオブジェクトを受け取ってしまって SEGV する不具合を修正。 [ruby-core:44170] [Bug #6267]

svn:r35263 2012-04-09 02:53:56 +0900

version.h の日付更新。

naruse:r35264 2012-04-09 04:17:32 +0900

r35261 の jsonエンコードの修正の RB_GC_GUARD() 挿入位置の変更と他の場所にも RB_GC_GUARD() を追加。

tadf:r35265 2012-04-09 07:00:32 +0900

r35262 で Complex#** の戻り値に f_mul() で乗算していった結果をそのまま返すのではなくて f_complex_new2() で改めて Complex を作り直していたのですが、その部分だけ revert しています。 [ruby-core:44170] [Bug #6267]

naruse:r35266 2012-04-09 08:05:08 +0900

r35265 のテスト追加。

tadf:r35267 2012-04-09 08:12:30 +0900

ext/date/date_strftime.c で値を常に range() マクロを通して利用するようにしています。また range() は値を min, max の範囲に丸めていたのですが、それはやめて常に渡された値をそのまま返すようにしています。新しく使うようにしたところはいいのですが、元々利用していたところは丸めをやめてしまっていいんでしょうか。

marcandre:r35268 2012-04-09 13:07:53 +0900

Hash.new にブロックを渡して、キーがない時に参照された時に返す値を指定させる Proc オブジェクトを設定できるのですが、Hash#default_proc= で後からそれを設定することもできるのに、nil を渡すと例外発生になっていたので、nil を受け付けて設定解除できるようにしています。 [ruby-core:34108] [Feature #4234]

nobu:r35269 2012-04-09 15:16:07 +0900

Ripper がネストした {} をうまくパースできていなかったのを、{} の入れ子になった数をカウントしておいて閉じかっこを認識するようにしています。

naruse:r35270 2012-04-09 19:49:46 +0900

openssl のテストで Thread.pass を一度だけ実行していたところを、期待した処理が済むまで繰り返す Thread.pass を呼ぶようにしています。

nobu:r35271 2012-04-09 23:10:32 +0900

Windows 版の UNC パスのサポートを強化しています。 long UNC という \\?\ というかたちのパスに対応するようにしています。 [ruby-core:30623] [Feature #3399]

nobu:r35272 2012-04-09 23:14:39 +0900

test_file.rb でテストでカレントディレクトリが UNC 上だった時にエラーになっていたのを修正しています。ファイルパスの先頭が "//" の時に仮に "UNC/" と変換するようにしています。