ruby-trunk-changes 2022-04-13

今日は File.expand_path での文字列バッファの確保を Variable Width Allocation との相性のため最初に小さく確保する変更や rbinstaller.rb で拡張ライブラリを含む bundled gems のインストールのための修正などがありました。

[381475f02e] Peter Zhu 2022-04-12 13:18:41 UTC

File.expand_path でファイルパス用の文字列オブジェクトを用意する時に事前に MAXPATHLEN のサイズの文字列を作っておくようにして後で実際に必要なサイズに切り詰めていたのが Variable Width Allocation との相性がよくないので空文字列で作っておいて必要に応じて伸張するようにしています。長いファイルパスの場合は逆にちょっと遅くなる可能性もあるみたいですが、短いファイルパスで高速になるようです。

[b21026cb1a] Burdette Lamar 2022-04-12 22:27:18 UTC

Symbol の rdoc 用コメントを手直しし、一部は doc/symbol/*.rdoc ファイルに移動しています。 https://github.com/ruby/ruby/pull/5795

[af85553886] git 2022-04-12 22:27:36 UTC

version.h の日付更新

[4246e102d4] Kazuhiro NISHIYAMA 2022-04-13 02:09:23 UTC

tool/rbinstall.rb の RbInstall::UnpackedInstaller という bundled gems をインストールするためのクラスの build_extensions メソッドの再定義を消しています。 Gem::Installer のこのメソッドが空のメソッドで上書きされていたので拡張ライブラリを含む bundled gems のインストールがうまくできてなかったみたいです。

[3112475469] Kazuhiro NISHIYAMA 2022-04-13 04:40:57 UTC

4246e102d49eae0bd1bca01fba53286ad8178d2a で削除した RbInstall::UnpackedInstaller#build_extensions を RUBY_PLATFORM をチェックして Windows 版(mswin, MinGW)でのみ再定義するように一部復活させています。

[7e4ac434b9] Kazuhiro NISHIYAMA 2022-04-13 05:40:24 UTC

3112475469e35b522448858d23ee1651532276e7 の続きで、RbInstall::UnpackedInstaller#build_extensions の再定義をする条件にさらにクロスコンパイル時というのを追加しています。

[7e97ebb6eb] Nobuyoshi Nakada 2022-04-13 00:02:32 UTC

string.c の str_buf_cat2() というマクロで第2引数のポインタが C の文字列リテラルのみ受付けるようにするため rb_strlen_lit() というマクロを使って文字列サイズを得るようにしています。