ruby-trunk-changes r55848 - r55851

今日は代入の右辺でのメソッド呼び出しのかっこの有無と後置 rescue の組み合わせで parse されかたに違いがあるという問題の修正がありました。

kazu: r55848 2016-08-09 21:00:35 +0900

r55844 で消し漏れてたディレクトリ ext/tk を削除しています。

nobu: r55849 2016-08-10 15:35:05 +0900

拡張ライブラリ win32 の cygwin でのビルドエラーの修正。 cygwin では win32/resolv のビルドのための windows.h というヘッダがなかったので Makefile の生成を抑制しているようです。 また Win32::Resolv::Error という定数に Win32::Registry::Error を別名として代入しています。 [ruby-core:76791] [Bug #12663]

svn: r55850 2016-08-10 15:35:06 +0900

version.h の日付更新。

nobu: r55851 2016-08-10 17:26:46 +0900

var = meth a rescue nil

のような代入文の右辺値にかっこなしで引数を渡しているメソッド呼び出しと後置の rescue 節がある時、rescue は代入文までを範囲としていて(meth で例外が発生すると代入自体が実行されない)、

var = meth(a) rescue nil

のようにかっこありだとメソッド呼び出しまでを rescue する(meth で例外が発生すると nil が代入される)というふうに優先順位の扱いがかっこの有無で違ってしまっていたのを、どちらもかっこありの時のような挙動をするように parser を修正しています。これはなかなかつらいですね、互換性的に…。 [ruby-core:75621] [Bug #12402]