ruby-trunk-changes r54012 - r54017

今日は C API rb_define_class() と rb_define_class_id_under() の super に NULL を渡した時にエラーにする変更や win32ole の潜在的不具合修正などがありました。

nobu: r54012 2016-03-07 10:05:36 +0900

io.c の rb_stdio_set_default_encoding() でグローバル変数の rb_stdin, rb_stdout, rb_stderr の extern 宣言をしていたので削っています。

nobu: r54013 2016-03-07 10:58:09 +0900

標準エラー出力にエラーメッセージを出力する関数群の String オブジェクト(VALUE 型)を受け取る関数 rb_write_error_str() のプロトタイプ宣言を internal.h に追加して拡張ライブラリ win32ole からこの関数を利用してエラーメッセージを出力するようにしています。 StringValuePtr() を使って得た C の文字列を rb_write_error() に渡していたので一時的に生成さた文字列がバッファを利用中に GC されるおそれがあったのと、エンコーディングの保持のため。

nobu: r54014 2016-03-07 13:28:32 +0900

rb_class_boot(), rb_make_metaclass(), rb_class_inherited(), rb_include_class_new() などの Class/Module についての関数群の宣言を include/ruby/intern.h から internal.h に移動して、外部(標準添付されない拡張ライブラリ)に公開されないようにしています。

nobu: r54015 2016-03-07 13:33:00 +0900

C API の rb_define_class() と rb_define_class_id_under() の引数 super に 0 を渡した時に警告するようにしていたのを、 ArgumentError 例外が発生するように変更しています。昔は super を渡さないことが許されてたんですね。

nobu: r54016 2016-03-07 15:24:46 +0900

make update-mspec と make update-rubyspec ターゲットのコマンドの最後に git log で最新のコミット表示を行うようにしています。

nobu: r54017 2016-03-07 17:17:02 +0900

.travis.yml にテスト対象のブランチとして feature/ と bug/ ではじまるブランチを対象とするようにしています。