ruby-trunk-changes r61072 - r61082

今日は NODE の位置情報の修正のほか、ビルドに利用する gperf のバージョンの 3.1 対応などがありました。

yui-knk: r61072 2017-12-08 08:35:59 +0900

文字列リテラルの NODE_STR の位置情報にクオート記号も含めるように修正しています。

svn: r61073 2017-12-08 08:36:00 +0900

version.h の日付更新。

yui-knk: r61074 2017-12-08 09:33:38 +0900

後置 rescue の NODE_RESBODY の位置情報が左辺値というか rescue の前の式の範囲まで含んでたのを修正しています。

yui-knk: r61075 2017-12-08 09:45:23 +0900

r61074 でブロックの途中の変数宣言があって古いコンパイラでビルドできない状態だったので、変数宣言をブロック先頭に移動しています。

nobu: r61076 2017-12-08 14:51:19 +0900

lex.c や enc/jis/props.h の生成に使う gperf を 3.1 に更新して、gperf の出力を変換する sed のコマンドを Makefile に直に書いてたのを tool/gperf.sed というファイルに切り出すようにしています。 [ruby-core:82723] [Feature #13883]

nobu: r61077 2017-12-08 15:20:06 +0900

r61067 の Windows の ReFS 対応の再修正の追加修正で、GetFileInformationByHandleEx() がエラーを返した時に ERROR_INVALID_PARAMETER でなかったら fallback せずにその場でエラーにするようにしています。

nobu: r61078 2017-12-08 15:24:16 +0900

test/ruby/test_file_exhaustive.rb の File.lstat のテストで assert_equal の引数の順序が逆になってたのを修正。

nobu: r61079 2017-12-08 16:13:04 +0900

r61078 で修正したテストメソッド test_utime_symlinkfile でなぜか File.lstat の後に sleep 1 を入れてます。なぜかプラットフォームによっては atime のタイムスタンプがすぐ反映されずエラーになることがあったそうです。

nobu: r61080 2017-12-08 16:17:34 +0900

標準添付ライブラリ pp で Kernel#pp の再定義警告抑制のための alias が rdoc 用のコメントの対応を壊してたので、コメントの前に移動しています。

nobu: r61081 2017-12-08 16:35:07 +0900

r61079 で sleep 1 を挿入した test_utime_symlinkfile ですが、File.utime でファイルの symbolic link 経由でメタデータのタイムスタンプを更新すると symbolic link 自体のタイムスタンプも更新される環境があるらしく、symboclic link の utime/atime が更新されてないことを確認する assertion を削除して、sleep 1 も削除しています。

nobu: r61082 2017-12-08 17:38:57 +0900

r61080 で移動した標準添付ライブラリ pp の Kernel#pp の再定義警告抑止用の alias を rdoc の対象にしないようにタグコメントを追加しています。