ruby-trunk-changes r54518 - r54525

今日は C の文字列を parse して整数オブジェクトを得る C API の新規追加や、テストのエンコーディングについての修正などがありました。

nobu: r54518 2016-04-09 02:05:12 +0900

rb_cstr_parse_inum() という C の文字列を整数オブジェクト化する C-API 関数を追加しています。 EXPERIMENTAL とマークされていてまだ引数など変更される可能性があるとしています。基数(base)の指定ができたり、数値以外の文字が現れたら終端としてその位置を endp に格納して返すなどの機能があります。

svn: r54519 2016-04-09 02:05:13 +0900

version.h の日付更新。

nobu: r54520 2016-04-09 09:59:53 +0900

open の返す IO#external_encoding のテストで default_external をセットしてテストしていた箇所を default_internal をセットするように修正しています。うーん、これは本当にこれでいいのかな? enc は default_external の影響を受けそうだから両方必要なんじゃないのかな。

nobu: r54521 2016-04-09 10:03:15 +0900

Kernel#load で引数のファイルパスを rb_get_path_check_to_string() および rb_get_path_check_convert() を使って safe level のチェックつきで変換するようにしています。例外発生時に rb_str_encode_ospath() でエンコーディングを変換する前に引数のエンコーディングのままのファイルパスを使うようにするのが目的みたいです。

nobu: r54522 2016-04-09 10:25:11 +0900

テスト用のライブラリの assert_raise_with_message や assert_warning で expected の encoding を default_internal にセットして呼ぶようにして、EnvUtil.with_default_external や EnvUtil.with_default_internal つきで呼んでいたところは不要になったので削っています。 これらは子プロセスを起動するわけじゃないので default_external セットしていたところは元々間違ってたんでしょうね。

nobu: r54523 2016-04-09 12:58:01 +0900

r54521 の rb_f_load() の再修正。 rb_get_path_check_convert() で変換するのは冗長だったらしく削っています。

nobu: r54524 2016-04-09 13:01:35 +0900

拡張ライブラリ tk の extconf.rb のメッセージにプログレス表示のことを考慮して改行してから出力するようにしています。

ktsj: r54525 2016-04-09 22:39:32 +0900

標準添付ライブラリ ostruct の rdoc 用の :nodoc: タグのコメントの位置を修正しています。