ruby-trunk-changes 2022-01-18

今日は Module に Module を include した時に異常終了することがある不具合の修正や昨日の ERB.new の省略可能引数の削除を revert する変更などがありました。

[e53962b9e1] st0012 2022-01-17 11:45:16 UTC

標準添付ライブラリ irb の lib/irb/extend-command.rb で irb 内の拡張コマンドに対応するスクリプトを require_relative でロードするようにしてファイルパスの指定も追随して変更しています。

[f3c77bd480] Nobuyoshi Nakada 2022-01-16 16:56:31 UTC

Module#include で Module に include した時にその Module を include/prepend 済みのところにも IClass を差し込む処理のために include 先の Module の IClass を検索する時のコードに問題があって SEGV する恐れがあった不具合を修正しています。 [ruby-dev:51136] [Bug #18489]

[c0d18a1aa2] Takashi Kokubun 2022-01-17 20:37:46 UTC

標準添付ライブラリ erb の ERB.new の省略可能な引数を削除する d12a08abb5fd1412d59094a953899bbd8a64ac88 および 728304093c4d5ec8be7dd5f1467da4aa362f2d5c を revert しています。 ERB.version の内容みて処理を分岐しているものがあって、3.1 のリリース時に ERB.version のフォーマットを変更した(ERB::Version をそのまま返すようにした)ので削除はひとつバージョンを遅らせるとのこと。

[eb98275c96] git 2022-01-17 20:39:51 UTC

version.h の日付更新

[3fb1f411ed] st0012 2022-01-17 15:17:18 UTC

libexec/irb で require_relative を使っていたのは default gems のインストール時にはまくいかないので通常の require に戻しています。

[6729258839] Yuta Saito 2022-01-18 10:08:07 UTC

win32/Makefile.sub のルールで Windows 版用の config.h を生成する時に getpid(), chown(), dup(), execl() などのいくつかのライブラリ関数の存在チェックのための HAVE_XXX マクロ定義を追加しています。また include/ruby/win32.h での getppid() と execv()、kill() の prototype 宣言のところではこれとは別に HAVE_GETPPID、HAVE_EXECV、HAVE_KILL を 1に定義するのも追加しています。さらに kill() の引数の型を修正しています。Windows のための変更というより他のプラットフォーム向けの代替実装を作るためということなので、WASM 用の下準備ですかね。 https://github.com/ruby/ruby/pull/5456