ruby-trunk-changes 2024-02-18

今日は主に ruby 実装の組み込みメソッドの定義で別のメソッドに依存しているものを予約語や C 実装の呼び出しを利用するようにした変更などがありました。

[3dccb716da] Nobuyoshi Nakada 2024-02-17 14:28:00 UTC

ブロックを受け取る組み込みメソッドで ruby 実装になっているもののうち block_given? を使っているものは defined?(yield) を使うようにしています。また Enumerator を返すメソッドでは to_enum メソッドを使うかわりに Primitive.cexpr! で C の実装の SIZED_ENUMERATOR() マクロを利用するように変更しています。メソッド呼び出しはメソッドが再定義されている可能性があるためとのこと。なるほど。

[104100f554] Nobuyoshi Nakada 2024-02-17 15:18:19 UTC

tool/mkrunnable.rb からファイル操作に関するモジュールやメソッドの定義を tool/lib/path.rb という別ファイルの Path モジュールとして切り出しています。

[87c4c6c082] Nobuyoshi Nakada 2024-02-18 06:07:42 UTC

104100f554d94cde9d6d7e7843992970c35b93cf で切り出した tool/lib/path.rb を tool/rbinstall.rb からも再利用するようにしています。そして実行ファイルのインストール先を CPU アーキテクチャ毎のサブディレクトリの下に入れるようにしているようです。

[120c291faf] Nobuyoshi Nakada 2024-02-18 06:08:27 UTC

87c4c6c0823b3eabe34c42860388e3cbdd634cc3 の続きで tool/rbinstall.rb で pkg-config 用のファイルへの symbolic link を従来の位置に作るようにしているようです。