ruby-trunk-changes r54188 - r54198

今日は RubyVM::InstructionSequence.compile の不具合修正や Fixnum/Bignum の <=> メソッドの Integer への統合などがありました。

nobu: r54188 2016-03-19 11:49:21 +0900

test/ruby/test_iseq.rb で RubyVM::InstructionSequence を ISeq と省略したり compile メソッドの呼び出しをヘルパーメソッド経由にしたりするリファクタリング

nobu: r54189 2016-03-19 14:46:20 +0900

RubyVM::InstructionSequence.compile でスクリプトコンパイルする時に SyntaxError 例外が発生した場合エラーメッセージが標準エラー出力(正確には $stderr)に出力されてしまっていたので例外メッセージに含めるようにしています。 [ruby-core:72711] [Feature #11951]

mrkn: r54190 2016-03-19 18:28:12 +0900

Fixnum#<=> と Bignum#<=> のメソッド定義を削除して、Integer#<=> に統合しています。昨日から始まっている Integer 大統一の続きですね。

mrkn: r54191 2016-03-19 18:29:29 +0900

r54190 の ChangeLog エントリのファイル名修正。

mrkn: r54192 2016-03-19 18:43:35 +0900

Integer#to_f で Integer を継承した T_FIXNUM や T_BIGNUM 以外のクラスが定義された場合の例外を TypeError から NotImplementedError に変更しています。

naruse: r54193 2016-03-19 19:06:57 +0900

fix_cmp() で Fixnum と Bignum の比較をする時に x を Bignum に変換してから rb_big_cmp() に渡していたのを、x と y を入れ換えて rb_big_cmp() を呼ぶようにしています。けどこれ順序を逆転してるから戻り値の符号も反転しなくては…というのは次の r54194 で修正されています。

nobu: r54194 2016-03-19 21:53:36 +0900

r54193 で符号反転してたのを修正しています。

nobu: r54195 2016-03-19 21:56:25 +0900

テスト用ライブラリでエラー時のメッセージ出力を verbose オプションがついてる時は抑制するようにしています。後でまとめて出力されるのに任せるようにしています。

mrkn: r54196 2016-03-20 01:08:52 +0900

r54163 での rb_big_odd_p() と rb_big_even_p() の宣言を include/ruby/intern.h に置いたのを internal.h に移動しています。公開 C API としたわけじゃなくて ruby インタプリタ内の他のソースファイルから呼ぶためだったみたいです。

svn: r54197 2016-03-20 01:08:53 +0900

version.h の日付更新。

mrkn: r54198 2016-03-20 01:51:27 +0900

r54194 の ChangeLog エントリの typo 修正。