ruby-trunk-changes r33108 - r33112

今日は Integer#& のビット演算で引数に Rational や BigDecimal などを渡した時に自動的に to_int で変換するのをやめてエラーにするようにしています。

mrkn:r33108 2011-08-29 10:07:15 +0900

Integer(Fixnum と Bignum) の '&' メソッドによるビット演算に Float を渡すとエラーになるので、Rational や BigDecimal が渡された時もエラーにするように、というか引数(右辺)も Integer (Fixnum か Bignum) でないと例外を発生させるようにしています。 [Bug #1792]
ただこれでテストが1つ失敗するようになっています。

svn:r33109 2011-08-29 10:07:19 +0900

version.h の日付更新。

naruse:r33110 2011-08-29 12:54:35 +0900

iseq.c のデバッグ用の出力のフォーマット文字列で size_t 用の指示子に PRIdSIZE を使うようにしています。

naruse:r33111 2011-08-29 14:54:03 +0900

test/psych/test_deprecated.rb で yaml_as のかわりに psych_yaml_as を使うようにして Syck のメソッドを誤って使わないようにしています。

naruse:r33112 2011-08-29 15:51:48 +0900

vm_insnhelper.c の vm_call_cfunc() で control frame pointer を GC から保護するために引数を volatile で宣言していたのを RB_GC_GUARD() を使うように変更しています。最近の議論では volatile をつけても利用していないとスタックから消える可能性があるので、残っている必要がある場所に RB_GC_GUARD() を使うほうが確実ということでした。