ruby-trunk-changes 2021-05-13

今日は一行メソッドの文法の拡張や正規表現リテラル内での \c や \M の扱いの修正などがありました。

[31794d2e73] Yusuke Endoh 2021-05-12 15:14:50 UTC

一行メソッド定義で定義するメソッドの本体の部分に式でない文(command) も書けるように文法を拡張しています。うーん、なるほど。 [ruby-core:101475] [Feature #17398]

[9225352bf1] git 2021-05-12 15:17:34 UTC

version.h の日付更新

[9484f9ebdf] Yusuke Endoh 2021-05-12 14:31:24 UTC

rubygems のテストで ff3f990499d041d39bc4ad2ca3244be8f6f1d552 で削除した Time の mock を復活させています。3456335a9c624cd5f475fc71cc65e72d97acb86e で minitest の Object#stub を移植してきたあと復活させていなかったので。

[11ae581a4a] Jeremy Evans 2021-05-12 19:37:55 UTC

正規表現リテラル内で \c のようなエスケープシーケンスの扱いが文字列リテラルと異なっていたのを修正しています。 [ruby-core:84900] [Bug #14367]

[9ce29c94d8] Jeremy Evans 2021-05-12 22:06:12 UTC

case 文の when 節に Rational や Complex のリテラルが書かれてた時に最適化命令 opt_case_dispatch による最適化を抑制するようにしています。 2bc293e899c9d32dcd794a73de8925c49ecf8f15 からの case 文の一連の修正の影響で誤って最適化して不整合がおきてたみたいです。 [ruby-core:103791] [Bug #17857]

[110f242ef9] Nobuyoshi Nakada 2021-05-13 03:30:48 UTC

文字列リテラルの中で \c のあとに \uXXXX を書くのは SyntaxError なのに \UXXXX と大文字を使うとエラーになっていなかったので修正しています。 [ruby-core:103816] [Bug #17861]

[2420119f47] Koichi Sasada 2021-05-13 09:18:08 UTC

GC に関する一貫性チェックのための関数 gc_verify_internal_consistency_() で rb_bug() で異常終了していたところを rb_warn() で警告に留めるようにしています。 CI で発生するエラーを抑制してデバッグするためのようです。