ruby-trunk-changes r44529 - r44540

今日は拡張ライブラリ psych の修正、TracePoint や trace_func の c_return イベントのフックが呼び出されない不具合の修正などがありました。

tenderlove: r44529 2014-01-09 09:54:37 +0900

拡張ライブラリ psych で Struct で生成したクラスのオブジェクトが YAML にそのままダンプできるようにしています。

svn: r44530 2014-01-09 09:54:42 +0900

version.h の日付更新。

tenderlove: r44531 2014-01-09 09:56:45 +0900

拡張ライブラリ psych で YAML を出力する時に文字列内のダブルクオーテーションをエスケープをするようになっていたのを修正しているようです。 どうも 2.1.0 の psych から基本的に文字列はクオートして出力するよう変化しているようなのですが、文字列内にダブルクオーテーションがあったらクオートせずに出力するようにしているみたいです(それによってエスケープを避けているっぽい)。 [ruby-core:59316] [Bug #9300]

usa: r44534 2014-01-09 17:42:42 +0900

r44525 の rb_objid_hash() の導入で戻り値を long にキャストするようにしています。 mswin64 でテストが失敗していたとのこと。

ko1: r44535 2014-01-09 19:12:59 +0900

VM のコントロールフレームを pop する関数 rb_frame_pop() のかわりに rb_vm_pop_cfunc_frame() という関数を導入して TracePoint の c_return イベントのフックを呼び出すようにしています。 Module#const_missing と Module#method_missing が c_return を発火しないという不具合だったそうです。 [ruby-core:59398] [Bug #9321]

nobu: r44536 2014-01-09 19:45:50 +0900

r44535 の ChangeLog エントリの行末の空白除去。

usa: r44537 2014-01-09 20:34:17 +0900

r44534 の再修正。 rb_objid_hash() の戻り値をキャストするのではなくてそもそも rb_objid_hash() の戻り値の型を long に変更しています。

nobu: r44538 2014-01-09 20:46:26 +0900

r44474 で mingw 用に浮動小数点数演算に SSE2 を利用するように configure.in を修正していましたが、その他のプラットフォームでも利用するようにしています。 [ruby-core:59472] [Bug #8358]

nobu: r44539 2014-01-09 20:49:23 +0900

r44538 のさらに追加修正みたいですが mingwSSE2 を利用すると Windows 7 で SEGV が発生していたので、必要なオプションを追加するようにしているそうです。 [ruby-core:54716] [Bug #8349]

nobu: r44540 2014-01-09 22:19:36 +0900

r44539 の ChangeLog エントリが重複していたので1つ削除しています。