ruby-trunk-changes r50940 - r50951

今日は make dist のエラー修正や NameError#receiver メソッドの追加などがありました。

normal: r50940 2015-06-18 06:07:02 +0900

compile.c の ISeq の配列からのロード処理(普通は利用できない)で rb_inspect() のかわりに %+PRIsVALUE を利用するようにしています。

svn: r50941 2015-06-18 06:07:46 +0900

version.h の日付更新。

nobu: r50942 2015-06-18 08:34:58 +0900

common.mk で make dist のエラーを避けるため no-fake に -fake という alias を追加しています。おそらく r50937 によるエラーの回避だと思います。うーむなるほど make dist 時には $(CROSS_COMPILING) がないですよねぇ。

hsbt: r50943 2015-06-18 09:59:28 +0900

r50932 の $SAFE = 3 の廃止の時に関数名 ruby_safe_level_4_warning() の ruby_safe_level_3_warning() への改名が漏れていたので追加修正しています。

hsbt: r50944 2015-06-18 10:00:11 +0900

safe level についての rdoc 用コメントから $SAFE = 3 の時の説明を削っています。

nobu: r50945 2015-06-18 13:32:50 +0900

NameError に receiver メソッドを追加して、NameError が発生した元になったメソッド呼び出しの receiver を取り出せるようにしています。 もともと内部的には参照を保持していたのでそれを取得できるようにしただけみたいですね。 [ruby-core:68215] [Feature #10881]

nobu: r50946 2015-06-18 13:50:33 +0900

r50945 で追加した NameError#receiver について NEWS ファイルに追記しています。

ko1: r50947 2015-06-18 14:36:14 +0900

拡張ライブラリ objspece の ObjectSpace.count_imemo_objects に method entry 用の IMemo のキーを追加しています。

ko1: r50948 2015-06-18 17:01:13 +0900

rb_method_refined_struct::orig_me と rb_method_alias_t::orig_me のメンバー型に const を付加しています。 また class.c の move_refined_method で RB_OBJ_WRITE() の利用を追加しています。 おお、Write Barrier が必要だった模様。

svn: r50949 2015-06-18 17:01:32 +0900

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

ko1: r50950 2015-06-18 18:01:00 +0900

vm.c の rb_vm_control_frame_id_and_class() で cfp->iseq からメソッドの Class/Module と ID を取得していたのを method entry から取得できるようになっているのでシンプルにしています。

normal: r50951 2015-06-18 18:25:37 +0900

拡張ライブラリ socket の UNIXSocket.recv_nonblock のテストでデータが届くのを待つのに sleep していたところを IO.select におきかえています。
"Not sure what drugs I was on" ってすごいコミットメッセージですね。