ruby-trunk-changes 2019-11-28

今日は Refinements と prepend の組み合わせでの不具合修正や後置 in 記法でのマッチしなかった時の挙動の変更、struct RClass の構造の変更による最適化などがありました。

[6f27fa4f7d] 卜部昌平 2019-11-27 05:42:30 UTC

T_CLASS 型オブジェクトの m_tbl と class_serial の位置を rb_serial_t が VALUE と同じ幅を持ってる時に struct RClass と rb_classext_t の間で入れ換えるようにしています。 class_serial が頻繁にアクセスさえれるのでポインタを辿らなくてもいいように struct RClass に直接置くようにしようとしているようです。

[299a13612e] Jeremy Evans 2019-11-27 17:03:00 UTC

Kernel#ruby2_keywords と指定して定義したメソッドで rest 引数として受け取った Array を委譲する時にサイズを削ってしまっていたのを修正しています。

[cdcaf04112] git 2019-11-27 18:03:51 UTC

version.h の日付更新

[416cccc6ec] Kazuhiro NISHIYAMA 2019-11-27 10:09:47 UTC

GitHub Actions 上で windows-2016 というプラットフォームでは実行しないようにしています。もうすぐ削除されるとのこと。

[f9debf3437] Jeremy Evans 2019-11-27 23:13:35 UTC

Kernel#ruby2_keywords の rdoc 用コメントに注意事項を追記しています。

[2d0a1a1869] aycabta 2019-11-27 02:58:38 UTC

標準添付ライブラリ rdoc のコメントを parse した時の結果の行番号の保持を強化してずれないようにしています。

[7769975c3c] aycabta 2019-11-27 23:26:10 UTC

irb の completion の実装で既に削除された lexer の定数 SLex と RubyToken を探索しないように修正しています。

[abe8fb49f0] aycabta 2019-11-28 00:32:51 UTC

標準添付ライブラリ reline の Reline::LineEditor で emacs モードでの Ctrl-k を行末で入力した時に改行を削るようにしています。

[c688026455] Nobuyoshi Nakada 2019-11-28 01:52:33 UTC

cont.c の Windows 版の実装 cont_restore_1() で setjmp() してセットされた _JUMP_BUFFER から Frame 情報をコピーする時に _JUMP_BUFFER 全体も退避しておくよにしています。警告除去のためとのこと。

[18953416de] y-yagi 2019-11-28 04:24:01 UTC

MonitorMixin#new_cond の rdoc 用コメントの説明を修正。 https://github.com/ruby/ruby/pull/2707

[8b4ee5d6ba] Nobuyoshi Nakada 2019-11-28 04:44:25 UTC

後置 in による expr in pattern のようなパターンマッチ記法で、マッチしなかった時に NoMatchingError という例外を発生させるようにしています。またマッチした時の expr in pattern 全体の評価値は true から nil にしています。 [ruby-core:95889] [Feature #16355]

[7d75e94ea9] aycabta 2019-11-28 06:15:41 UTC

irb の completion で Complex のリテラルのための正規表現を修正。

[4325f08086] aycabta 2019-11-28 06:32:21 UTC

7d75e94ea967a47e1ca1083f6d1090eaac7ca58e で追加したテストのため? に test/irb/test_completion.rb に require "irb" を追加しています。

[5069c5f521] Jeremy Evans 2019-10-12 07:01:37 UTC

Refinements に使う Module に別の Module を prepend していると using が効かないという不具合を修正しています。 [ruby-core:95242] [Bug #16242]

[a0579f3606] Jeremy Evans 2019-10-12 08:02:51 UTC

おなじく Refinements に使う Module を include してからその後に include した Module に別の Module を prepend すると(ややこしい) Refinements が効かなくなるという不具合を修正しています。そうそう踏まない条件だとは思います。 [ruby-core:80748] [Bug #13446]

[f0a5a07fa5] Nobuyoshi Nakada 2019-11-28 09:12:38 UTC

a0579f3606561a74e323f6193b9504c06845236c の変更で未使用のローカル変数があったのを削除しています。 [ruby-core:95242] [Bug #16242]