ruby-trunk-changes r36629 - r36647

今日は defined?(super) が最近の変更で壊れていた不具合修正や instance_eval のブロック内での super の挙動の修正などがありました。

nobu:r36629 2012-08-06 00:38:55 +0900

include/ruby/ruby.h の NUM2SSIZET のキャストする型が間違っていた(ssize_t のはずが size_t だった)のを修正しています。

svn:r36630 2012-08-06 00:39:00 +0900

version.h の日付更新。

nobu:r36631 2012-08-06 00:39:26 +0900

NUM2ULONG() の定義を NUM2LONG() と同様に inline 関数の呼び出しに変更して、また明示的なキャストを追加しています。

nobu:r36632 2012-08-06 00:40:06 +0900

io.c の pipe_open() で fork が利用可能でない時だけ利用されていた変数の宣言を #if で括るようにしています。

nobu:r36633 2012-08-06 00:40:56 +0900

BigMath.log で数値を一旦文字列化する時に直に指示子を使っていたのを PRIdVALUE マクロを利用するようにしています。

usa:r36634 2012-08-06 11:09:33 +0900

拡張ライブラリ syslog のテストで require "syslog/logger" が利用できない環境で Syslog を使うテストを無視するようにしています。

usa:r36635 2012-08-06 11:11:58 +0900

syslog が使えない環境で無視するテストに漏れがあったので追加しています。

usa:r36636 2012-08-06 11:20:47 +0900

r36625 で修正してた Etc.getpwuid のテストで分岐条件のミスがあったのを修正。

nobu:r36637 2012-08-06 11:34:36 +0900

r36595 あたりで(たぶん) super の時に辿るクラスをスタックフレームに持たせるようにした修正に追随するように、defined? の引数に super が現れた時の superclass 探索を cfp から辿らせるようにしています。

nobu:r36638 2012-08-06 13:14:00 +0900

vm_call_super() で super を呼ぶための親クラスの探索で cfp->klass が 0 になることはないので不要になった分岐を削除しています。

shugo:r36639 2012-08-06 14:55:19 +0900

overlayed → overlaid の typo 修正。マクロ名や変数名も含む。

shugo:r36640 2012-08-06 16:00:19 +0900

instance_eval のブロック内で super を呼ぶと self がすり変わったまま親クラスのメソッドが呼ばれてしまうという不具合を修正しています。 super が呼ばれた時のそのフレームの klass をそのまま参照せずにメソッドのフレームまで辿ってからそのフレームの klass を参照するようにしています。 [ruby-dev:39772] [Bug #2402]

suke:r36641 2012-08-06 19:21:12 +0900

WIN32OLE のテストで locale の設定に依存しているものが通るように WIN32OLE.locale= で設定してからテストするようにしています。 [ruby-core:46873] [Bug #6814]

nobu:r36642 2012-08-06 21:18:10 +0900

vm_eval.c の vm_call_super() で条件分岐の書き型をリファクタリング

nobu:r36643 2012-08-06 22:06:16 +0900

test/ruby/test_exception.rb で不要にグローバル変数を使っていたところをローカル変数を使うように書き換えています。

nobu:r36644 2012-08-06 22:06:37 +0900

test/ruby/test_exception.rb でひとつの大きなテストメソッドになっていたものを分解して複数のテストメソッドにしています。

nobu:r36645 2012-08-07 00:24:01 +0900

variable.c のクラス変数の探索ルーチンのマクロ CVAR_LOOKUP の内容の共通している部分を関数として切り出すリファクタリングです。

svn:r36646 2012-08-07 00:24:09 +0900

version.h の日付更新。

nobu:r36647 2012-08-07 00:31:13 +0900

nil や ture, false などの即値のオブジェクトに対して instance_eval 内でメソッドを定義すると、即値オブジェクトに特異メソッドは定義できないとしてエラーになっていたのですが、NilClass などに普通のインスタンスメソッドとして追加できるように変更しています。 [ruby-core:28324] [Bug #2788]