ruby-trunk-changes r53208 - r53220

今日は Module#define_method に &:m のように Symbol をブロック引数として渡すと SEGV する不具合修正や、key: value の記法の値のところにヒアドキュメントが書けなくなっている不具合を修正しています。

nobu: r53208 2015-12-20 09:48:49 +0900

make update-mspec, update-rubyspec, update-doclie (coverage に関係したものらしい)、update-simplecov などのコマンドで V=1 がセットされていたら実行コマンドを表示するようにしています。

nobu: r53209 2015-12-20 10:15:12 +0900

同じく make update-doclie, update-simplecov-html, update-simplecov などで && で連結しているコマンドの途中でシェルの組み込みコマンド exec で実行してしまっていたのを削除しています。 exec するとシェルのプロセスがそのままそのコマンドにおきかわるので続くコマンドが実行されなくなってしまっていたのではないかと思います。

nobu: r53210 2015-12-20 10:43:45 +0900

ruby のテスト用の test/unit で失敗したテストケースに通し番号を表示させるようにしています。

ko1: r53211 2015-12-20 10:54:59 +0900

proc_new() で if で条件分岐していたのを条件演算子を使った書きかたに変更したり RBASIC()->klass を RBASIC_CLASS() の利用に置き換えたりというリファクタリング

ko1: r53212 2015-12-20 11:02:55 +0900

rb_mod_define_method() でも条件分岐を書きかたをシンプルに if-else if を繋げる書きかたにリファクタリングしています。

ko1: r53213 2015-12-20 11:14:57 +0900

Module#define_method にブロック引数に Symbol を渡した時に rb_mod_define_method() に Symbol がそのままやってくるので rb_sym_to_proc() で Proc 化するようにしています。 [ruby-core:72398] [Bug #11850]

nobu: r53214 2015-12-20 11:43:34 +0900

キーワード引数や Hash リテラルの key: value の文法でコロンのあとにヒアドキュメントが書けなくなっていたのを修正しています。 [ruby-core:72396] [Bug #11849]

nobu: r53215 2015-12-20 11:49:46 +0900

r53214 にさらにヒアドキュメントのテストを追加しています。

hsbt: r53216 2015-12-20 15:36:57 +0900

r53123 の標準添付ライブラリ erb の最適化を revert しています。これが thor や rspec-rails といった rubygems パッケージで不具合を起こしていたそうです。2.3 ではあきらめて次のリリースか 3.0 向けでの対応を目指すとのこと。 [ruby-core:72374] [Bug #11842]

nobu: r53217 2015-12-20 20:28:27 +0900

r53178 の ChangeLog エントリの日付修正。

nobu: r53218 2015-12-20 20:28:30 +0900

r53216 の ChangeLog エントリの長い行を改行しています。

nobu: r53219 2015-12-20 20:31:22 +0900

標準添付ライブラリ cgi のテストで assert_equal の引数の期待する結果と実際の結果が逆になっていたところを修正。

nobu: r53220 2015-12-20 20:54:54 +0900

拡張ライブラリに cgi/escape というのを追加して、標準添付ライブラリ cgi の一部 CGI.escapeHTML をこの拡張ライブラリの実装で上書きするようにしています。文字列が ASCII-compatible な時に C 実装を用いて、そうでない時は super でオリジナルの実装に委譲するようにしています。これも ERB の最適化の一種みたいですね。 https://github.com/ruby/ruby/pull/1164