ruby-trunk-changes r43984 - r43990

今日は Delegator の不具合修正と TracePoint 関係の C API の不具合修正などがありました。久々にコミット数1桁とちょっと少なめですね。

nobu:r43984 2013-12-04 12:47:57 +0900

標準添付ライブラリ delegate.rb で委譲先のオブジェクトを取得する __getobj__ メソッドで委譲先のオブジェクトが未設定の時にブロックつきで呼び出されていたら例外を発生させるからりに yield するようにして、method_missing や respond_to_missing? で未設定の時に転送しないようにする修正を行なっています。最近の delegate.rb の変更で initialize で super を呼ぶ前に Kernel のメソッドを呼ぶと例外になってしまっていたのを修正しています。 [ruby-core:58572] [Bug #9155]

svn:r43985 2013-12-04 12:48:03 +0900

version.h の日付更新。

tmm1:r43986 2013-12-04 13:05:13 +0900

r43968 で rb_fstring() で効率化のため st_update() を利用するようにした変更で追加したコールバック関数で要素がみつからない時に ST_STOP を返すように修正しています。 昨日のコメント読みかえすと existing が true の時って書いてましたけど、false の時の間違いでした。

tmm1:r43987 2013-12-04 13:05:15 +0900

TracePoint のフックの呼び出しを抑制する rb_suppress_tracing() で構造体の初期化漏れて意図せずに INTERNAL_EVENT_GC がスキップされる可能性があったそうです。

nobu:r43988 2013-12-04 13:20:15 +0900

r43968 で追加した st_update() 用の関数 fstr_update_callback() で変数の宣言がブロックの途中に存在していたので関数先頭に移動しています。

nobu:r43989 2013-12-04 13:59:25 +0900

test/ruby/test_array.rb の再帰したネスト構造をもつ Array オブジェクトの hash メソッドのテストメソッド名を test_hash2 から test_recursive_hash_value に改名しています。

a_matsuda:r43990 2013-12-04 23:06:52 +0900

lib/webrick/httpproxy.rb のコメントの typo 修正。