ruby-trunk-changes r29318 - r29325

今日は書いた後で追加修正のコミットが入ったので追記更新しました。

nobu:r29318 2010-09-23 09:01:40 +0900

[ruby-core:32501] に報告されている、Method オブジェクトを to_proc で Proc オブジェクト化したものを instance_eval にブロック変数として渡すと [BUG] で落ちる不具合を修正。

svn:r29319 2010-09-23 09:01:44 +0900

version.h の日付を更新。

wanabe:r29320 2010-09-23 18:59:38 +0900

ビルドターゲットに mingw64 というアーキテクチャを追加。

wanabe:r29321 2010-09-23 19:29:27 +0900

mingw64 でのコンパイル時の警告除去。[ruby-core:31932].

naruse:r29322 2010-09-23 21:22:43 +0900

URI.join の rdoc 用コメントの追記。URI.join に渡す引数は '/' の有無で挙動が変わるんですね。注意しましょう。 [ruby-core:32462]

wanabe:r29323 2010-09-23 21:42:49 +0900

ext/socket/raddrinfo.c のコンパイラ警告除去。Windows 環境の時?

nobu:r29324 2010-09-23 23:08:55 +0900

r29320 で追加した mingw64 というビルドターゲットの basic_machine が i386-pc になっていたので x86_64-pc に修正。 [ruby-core:32514]

nobu:r29325 2010-09-23 23:09:22 +0900

r29318 の修正の追加修正。iseq に cref_stack が積まれているのは normal iseq の時だけなのでチェックを追加、らしい。
では abnormal な iseq とは一体何か……。勉強のネタができました。
[2010-10-03 追記] 後日調べてみたところ、IFUNC という種類のフレームでは iseq メンバに rb_iseq_t ではなくて NODE(構文木ノード)が入っているのでした。IFUNC というのはブロック付きのメソッドから yield された時のブロックのフレームを指す種類みたいです。おそらく Iterator FUNCtion の略?[/追記]