ruby-trunk-changes 2022-03-11

今日は拡張ライブラリ io/wait のバージョン更新や正規表現のマッチ中に割り込みが効くようにする変更などがありました。

[bd18623307] Charles Oliver Nutter 2022-03-10 13:57:32 UTC

拡張ライブラリ io/wait の gemspec ファイルでバージョンを 0.2.2.pre1 に更新しています。けどこれまでが 0.2.2 だったのでこれって 0.2.2 より前に戻ってるってことにならないのかな?

[7f5440756e] git 2022-03-10 13:59:25 UTC

NEWS の default gems のバージョンリストの io-wait のバージョンを更新しています。

[0c6e24d102] Jeremy Evans 2022-02-22 21:43:14 UTC

71c746379d5872e250d90ae45c585760afaf9516 の rb_alias() でメソッドの alias を作った時に alias に対する alias をショートカットする変更を再修正して、visibility については直接参照している alias のものを利用するようにしています。 [ruby-core:107722] [Bug #18600]

[702f40628a] git 2022-03-10 16:35:42 UTC

version.h の日付更新

[67faea9708] Aaron Patterson 2022-03-07 19:08:15 UTC

VM 命令の opt_and の実装で T_FIXNUM 型のオブジェクト同士の場合は VALUE の値をそのまま bitwise and を取るだけで良いという最適化で、両方のオブジェクトが FIXNUM か確認していましたが、両方 FIXNUM の場合のみ bitwise and を取った結果も FIXNUM と判定される(タグ用の最下位 bit が 1になる)ので、先に and を取ってから判定するように順序を変えてちょっとした最適化をしています。

[1b15756d24] John Hawthorn 2022-02-19 07:05:23 UTC

Object#is_a? の実装 rb_obj_is_kind_of() で引数が T_ICLASS の時(メソッド定義だけでなく他の実装からも呼ばれているので、T_ICLASS 型のオブジェクトが渡されるのはそういう場合だと思います)や T_MODULE の時にもショートカット実装を追加しています。がこれは後で revert されています。

[edc8576a65] Jeremy Evans 2021-10-12 19:15:15 UTC

正規表現のマッチの処理中に SIGINT などでの割り込みが効かないという不具合の修正のため regexec.c の match_at() のループ内に CHECK_INTERRUPT_IN_MATCH_AT() の呼び出しを追加しています。 [ruby-core:83750] [Bug #14103]

[82dea29073] John Hawthorn 2022-03-10 19:06:29 UTC

1b15756d24c11ed6bfddb5ae53402a071a20ea97 のクラスの継承関係チェック時の T_ICLASS に対する最適化を revert しています。

[49447f828b] Nobuyoshi Nakada 2022-03-11 06:08:23 UTC

regenc.h から #include "ruby.h" しているところを #ifdef RUBY の preprocessor 分岐内に移動しています。

[2e4516be26] Masafumi Koba 2021-09-11 07:33:34 UTC

標準添付ライブラリ rdoc の生成する HTML 用の CSS ファイルでサイドバーのスクロールのための設定を追加しています。