ruby-trunk-changes r50533 - r50542

今日は標準添付ライブラリ uri の不具合修正、最近の C API 変更の互換性対応、先日追加された Numeric#positive? の BigNum の 0 での不具合修正などがありました。

nobu: r50533 2015-05-19 09:43:58 +0900

C++ では void* を別のポインタ型に暗黙の cast をして代入したり引数に渡したりするのが禁止されているのでData_Make_Struct0() TypedData_Make_Struct() などのマクロで明示的なキャストを行うようにしています。

svn: r50534 2015-05-19 09:44:27 +0900

version.h の日付更新。

nobu: r50535 2015-05-19 09:54:46 +0900

r50533 と同様 Data_Make_Struct0() でも C++ 向けに明示的なキャストを行うようにしています。ついでに関数マクロの引数を展開する時にかっこをつけるようにしています。

nobu: r50536 2015-05-19 11:18:49 +0900

r50506 で rb_data_object_alloc() と rb_data_typed_object_alloc() をそれぞれ rb_data_object_wrap() と rb_data_typed_object_wrap() に改名しましたが、この C API は昔からあったものなので拡張ライブラリ向けバイナリ互換性のために古い名称の wrapper 関数を RUBY_ALIAS_FUNCTION() で定義するようにしています。 またソース互換性のために include/ruby/ruby.h で preprocessor で古い名称を新しい名称に置換するようにマクロ定義を追加しています。

naruse: r50537 2015-05-19 11:34:47 +0900

標準添付ライブラリ uriURI::Generic.build の :port オプションが正しく受け付けられていなかった不具合を修正しています。 https://github.com/ruby/ruby/pull/804

nobu: r50538 2015-05-19 13:10:12 +0900

r50522 で追加した Numeric#positive? で Bignum の 0 に対して false を返すように修正しています。 [ruby-core:69173] [Feature #11151]

nobu: r50539 2015-05-19 13:13:22 +0900

r50522 および r50538 の続きで num_positive_p() が Qtrue, Qfalse でなくて C の真偽値を返すようになっていたので、明示的に Qtrue, Qfalse を返すように修正しています。 [ruby-core:69173] [Feature #11151]

hsbt: r50540 2015-05-19 17:15:07 +0900

標準添付ライブラリ benchmark の rdoc 用コメントの文法修正およびサンプルコードの追記。 https://github.com/ruby/ruby/pull/903

nobu: r50541 2015-05-19 18:54:44 +0900

RubyVM::InstructionSequence.compile の引数が IO か String 以外が渡された時に SEGV していた不具合を修正しています。 [ruby-core:69219] [Bug #11159]

nobu: r50542 2015-05-19 18:56:16 +0900

r50541 の ChageLog エントリ の typo 修正。