ruby-trunk-changes r52527 - r52540

今日はたくさん keyword 引数があった時の local_variables の不具合修正や、sprintf に Hash を渡した時に default 値を参照するようにする変更などがありました。

naruse: r52527 2015-11-11 02:50:38 +0900

r52514 で追加した C API rb_time_timespec_new() のテストを追加しています。

svn: r52528 2015-11-11 02:53:07 +0900

version.h の日付更新。

svn: r52529 2015-11-11 02:54:58 +0900

r52527 で新規追加されたファイルの svn property 設定。

nobu: r52530 2015-11-11 09:03:15 +0900

sprintf や String#% で文字列整形する時に Hash を引数に渡して名前で展開して埋め込む時に、引数の Hash の default 値(キーに対応する値がないときに返す値の指定)が効かなかったのを、参照するように修正しています。 [ruby-core:71354] [Bug #11661]

nobu: r52531 2015-11-11 09:07:16 +0900

r52527 で追加したテストで r52519 での offset の解釈の仕様変更への追随とテストメソッド名の重複を修正しています。

shugo: r52532 2015-11-11 12:48:45 +0900

標準添付ライブラリ net/ftp でデフォルトを passive モードに変更しています。また Net::FTP.default_passive= を追加してデフォルト値を変更できるようにしています。 [ruby-core:71146] [Feature #11612]

svn: r52533 2015-11-11 12:48:58 +0900

r52532 の ChangeLog エントリの行末の空白除去。

hsbt: r52534 2015-11-11 14:14:36 +0900

transcode.c の transcoder_t の定義にあるコメントの typo 修正。 https://github.com/ruby/ruby/pull/1091

shugo: r52535 2015-11-11 15:11:47 +0900

r52532 の ChangeLog エントリに ML と ticket の参照を追記しています。 [ruby-core:71146] [Feature #11612]

nobu: r52536 2015-11-11 17:38:27 +0900

local_variables でローカル変数を得る時に rb_id2str() で名前があるかどうかをチェックして内部的な変数を除去していたのを rb_is_local_id() で判定するようにしています。keyword 引数を11個以上渡した時におかしな変数名が見えてしまっていた不具合を修正しています。 [ruby-core:71437] [Bug #11674]

nobu: r52537 2015-11-11 18:30:31 +0900

r52530 の sprintf の Hash の扱いで default 値をチェックするようにした影響で、キーは存在していて値が nil の時にフォーマット文字列でそのキーを参照していると KeyError が発生するようになっていたので rb_hash_lookup2() でキーがない時は Qundef で検出するようにしてその時に default 値をみるように修正しています。 またキーの symbol がまだ存在していなかったら Hash の要素も存在しないのか確実なので余分な文字列の symbol 化をしないようにしています。 [ruby-dev:49338] [Bug #11677]

nobu: r52538 2015-11-11 18:38:20 +0900

r52517 の peephole 最適化の追加についてコメントを追記しています。

kazu: r52540 2015-11-11 22:28:33 +0900

NEWS ファイルと ChangeLog に ticket の参照を追記しています。