ruby-trunk-changes r42872 - r42889

今日は Numeric#step の引数チェックの細かな仕様変更と OptionParser のいくつかの定数削除、WIN32OLE_VARIANT の不具合修正の他は細かなリファクタリングが主でした。

nobu:r42872 2013-09-08 04:04:15 +0900

bignum.c の rb_big_fdiv() で割る数の型によって処理を分岐していたのを別々の関数を経由して呼ぶようにリファクタリングしています。整数で割る時は big_fdiv_int() を浮動小数点数で割る時は big_fdiv_float() を呼ぶようにしています。

nobu:r42873 2013-09-08 04:04:18 +0900

bignum.c と math.c で TYPE() マクロを使ってオブジェクトの型を判定していたところを RB_TYPE_P() マクロを使うように変更しています。

nobu:r42874 2013-09-08 04:04:23 +0900

bignum.c と math.c に RB_BIGNUM_TYPE_P() という T_BIGNUM 専用の RB_TYPE_P() マクロのラッパを定義してこれを使うようにしています。

svn:r42875 2013-09-08 04:04:25 +0900

version.h の日付更新。

nobu:r42876 2013-09-08 04:04:28 +0900

Numeric#step の引数のチェックで step や to などの引数が Numeric でない時に TypeError を発生させていたのをやめています。発生する例外のクラスの互換性のための模様。

nobu:r42877 2013-09-08 04:04:33 +0900

Numeric#step の引数のチェックで step に 0 を指定して limit を指定しなかった時に互換性のために limit を負の Float::INFINITY にするようにしています RubySpec の失敗を回避するためとのこと。

nobu:r42878 2013-09-08 04:04:37 +0900

拡張ライブラリになった thread で rb_ensure() に渡す関数ポインタのキャストをやめるためにラッパ関数を作ってそれを渡すように修正しています。

nobu:r42879 2013-09-08 04:04:39 +0900

拡張ライブラリになった thread の Queue#pop の第1引数の解釈(ブロックするかどうか)が逆転していたのを修正しています。

nobu:r42880 2013-09-08 04:08:50 +0900

r42862 で追加された ext/thread/thread.c の svn property を設定しています。

nobu:r42881 2013-09-08 06:48:40 +0900

test/ruby/test_super.rb の行末の空白除去。

nobu:r42882 2013-09-08 06:52:21 +0900

r42862 で新規追加された ext/thread/extconf.rb の svn property を設定しています。

nobu:r42883 2013-09-08 07:03:17 +0900

r42854 の追加修正と思われます。 sizes.c を自動生成するルールで nmake のために {$(VPATH)} を付加していたのですが、ソースディレクトリでビルドする時のために sizes.c というルールも併記しています。

nobu:r42884 2013-09-08 12:54:41 +0900

sizes.c の自動生成のルールについて再度修正。r42854 and r42883 を revert して、 win32/Makefile.sub に nmake でソースディレクトリ以外でビルドする時のためのルールを追加するようにしてます。

akr:r42885 2013-09-08 13:39:23 +0900

NEWS ファイルの GMP の利用についての箇所にさらに用途を追記しています。ついでに追記しやすいように用途を列挙するように文面を変更しています。

suke:r42886 2013-09-08 14:06:20 +0900

拡張ライブラリ win32ole で WIN32OLE_VARIANT に渡すオブジェクトの型のチェックで Array だと中身はチェックせずに素通ししていたのを各要素も再帰的にチェックするようにしています。またこれで WIN32OLE_VERSION を "1.5.5" に上げています。 Hash は…と思いきや Hash は WIN32OLE の Variant に変換できないようです。

akr:r42887 2013-09-08 16:02:42 +0900

f_gcd() で GMP を使う条件を x, y 両方大きい時にしていたのを、いずれかがしきい値より大きい時に GMP を使うように条件を変更しています。

nobu:r42888 2013-09-08 19:52:52 +0900

r42858 で追加した rational.c の関数のテスト用の拡張ライブラリで GMP を使う時だけ利用する関数を未使用関数の警告を抑制するために #if 〜 #end でくくるようにしています。

nobu:r42889 2013-09-08 21:37:29 +0900

lib/optparse.rb の OptionParser::Version, LastModified, Release など Subversion の $Id$ の置換結果を利用するようにしていたのを定数ごと削除しています。 [ruby-core:57069] [Bug #8877]