今日も引き続きビルドプロセスの修正と、標準添付ライブラリ rss が追加する Time#w3cdtf の不具合修正がありました。
nobu: r51760 2015-09-04 23:26:24 +0900
include/ruby/win32.h で stati64() のマクロ定義を切り換えるためのチェックしているマクロ名を RT_VER から RUBY_MSVCRT_VERSION に変更しています。 RUBY_MSVCRT_VERSION は win32/Makefile.sub が生成する config.h で $(RT_VER) に定義されていますが、これは Makefile 内の変数で config.h 内では展開された値が入っているのでソースでは利用できませんでした。
nobu: r51761 2015-09-05 00:27:02 +0900
tool/fake.rb に $static 参照する時に未初期化でないかチェックするようにして警告を抑制しています。
svn: r51762 2015-09-05 00:27:16 +0900
version.h の日付更新。
nobu: r51763 2015-09-05 08:29:01 +0900
Hash#equal? と Hash#eql? の rdoc 用コメントに要素の順序は比較されないことを追記しています。 元々 Hash は順序を保持してませんでしたからね。 [Bug #11508]
nobu: r51764 2015-09-05 10:38:50 +0900
win32/Makefile.sub で VC 向けの警告抑制のオプションを追加しています。
nobu: r51765 2015-09-05 11:00:34 +0900
tool/fake.rb で builddir がカレントディレクトリと同じ時に空文字列になってたので "." を入れておくようにしています。
nobu: r51766 2015-09-05 11:39:55 +0900
標準添付ライブラリ rss が拡張する Time#w3cdtf で、秒の小数点以下の部分の文字列化が末尾の 0 を削る時に桁を削りすぎていたのを修正しています。 元のコードはこりゃいったい何だ…。 [ruby-core:70667] [Bug #11509]
nobu: r51767 2015-09-05 12:58:07 +0900
r51766 の再修正。 ここで文字列化しているわけではないので usec の文字列を置換していたのを、最初の0までの文字数(インデックス)を単に String#index で探して長さを取得するだけにしています。 /\z/ にマッチした時は文字列の長さがかえってくるのでこれでうまくいくんですね。なるほど。 [ruby-core:70667] [Bug #11509]
nobu: r51768 2015-09-05 21:29:29 +0900
tool/fake.rb でパスを config やグローバル変数に格納する時に File.join でくっつけたあと "./a/b" のようなカレントディレクトリの部分を削るようにしています。
nobu: r51769 2015-09-05 23:00:15 +0900
ruby.c で rb_readlink() を関数内で宣言していたところがあったので internal.h で宣言しておくようにしています。r51738 で rb_readlink() には第2引数にエンコーディングの指定が追加されているのに、ここは追随していなかったのでそれも修正しています。
nobu: r51770 2015-09-06 00:32:20 +0900
enc/make_encmake.rb で enc.mk を作る時に enc/Makefile.in の中の "@srcdir@" を RbConfig::CONFIG['srcdir'] の値に展開するようにしています。
svn: r51771 2015-09-06 00:33:10 +0900
version.h の日付更新。