ruby-trunk-changes r42848 - r42861

今日は GMP を gcd でも使うようにしたり Windows 版の Process.clock_getres のサポート追加などがありました。

nobu:r42848 2013-09-06 00:05:20 +0900

rewrite_cref_stack() で NODE を辿るのに再帰呼び出しを使っていたのをループに書きかえています。

svn:r42849 2013-09-06 00:05:27 +0900

version.h の日付更新。

tenderlove:r42850 2013-09-06 02:39:53 +0900

拡張ライブラリ psych でシングルクオートを含んだ文字列を dump した時に不正な dump 結果になるのを修正するため、文字列に記号などが含まれていた時にダブルクオートを使った YAML にするようにしています。 https://github.com/tenderlove/psych/issues/157

nobu:r42851 2013-09-06 10:29:21 +0900

transcode.c の rb_econv_substr_append() の引数 src を RB_GC_GUARD() で保護するようにしています。引数は呼び元で保護されるのでは……と思ったけどやっぱり消えることがあるのかなぁ。

nobu:r42852 2013-09-06 11:29:17 +0900

transcode.c の rb_econv_substr_append() の必ず1回は実行されるようにしている while ループを do{}while() ループに書き換えています。

nobu:r42853 2013-09-06 11:45:50 +0900

transcode.c の rb_econv_substr_append() から文字列をエンコーディング変換して追加する処理を rb_econv_append() として切り出しています。

nobu:r42854 2013-09-06 14:23:25 +0900

common.mk の sizes.c を自動生成するためのルールに {$(VPATH)} を使うようにしています。 nmake のための修正。

nobu:r42855 2013-09-06 14:23:28 +0900

Windows 環境で Process.clock_getres を動かすために clock_getres() をエミュレートする関数を定義しています。 [ruby-dev:47699] [Bug #8869]

nobu:r42856 2013-09-06 14:36:23 +0900

r42855 で追加した Windows 版の clock_getres() のエミュレーション関数の未使用の変数を削除しています。 [ruby-dev:47699] [Bug #8869]

kazu:r42857 2013-09-06 18:17:27 +0900

r42717 および r42850 の ChangeLog エントリの Github の issue/pull request を参照する記法は psych のリポジトリのものを参照しているのですが、ruby プロジェクトのものを指すものとして解釈されてしまうので削除しています。

akr:r42858 2013-09-06 21:07:08 +0900

rational.c の f_gcd() で桁が大きい数の時は GMP を利用するようにしています。

akr:r42859 2013-09-06 21:07:54 +0900

r42858 で新規追加したファイルの svn property を設定しています。

akr:r42860 2013-09-06 22:05:16 +0900

NEWS ファイルに GMP の用途として大きな整数の乗算と書いていたので、その他の処理にも使っていることを追記しています。

akr:r42861 2013-09-06 22:49:55 +0900

configure で mingw プラットフォーム用に clock_getres() が存在するものとして扱うようにしています。