ruby-trunk-changes 2021-03-20

今日はArray#select! や Array#reject! のブロック内で receiver が freeze された時の対応などがありました。

[0428c2e7df] aycabta 2021-03-18 10:06:22 UTC

irb の組み込みコマンド measure の定義時に同名のメソッドが定義済みだったら上書きしないようにする指定を追加しています。

[1c6f5ca4d4] Yusuke Endoh 2021-03-19 18:04:55 UTC

configure に emscripten でのビルド時に LDFLAGS に -sFORCE_FILESYSTEM=1 を追加するようにしています。

[2b0e5872c7] git 2021-03-19 18:05:35 UTC

version.h の日付更新

[f9dc5db38e] Takashi Kokubun 2021-03-19 15:46:19 UTC

標準添付ライブラリ irb の gemspec ファイルの spec.files で lib/irb/lib の配下を全て列挙するのでなく Dir.glob で実際に存在するファイルを取得して使うようにしています。

[4ea9df0135] Nobuyoshi Nakada 2021-03-20 00:12:08 UTC

aclocal はもう使わなくなったとのことで template/Makefile.in から aclocal.m4 を作成するルールを削除し、LEGAL から aclocal.m4 のライセンスについての記述を削除しています。

[bf3eaf39df] "S.H" 2021-03-20 09:07:54 UTC

ast.c から static 関数 rb_ast_parse_array() の不要な前方宣言を削除しています。

[e019dd24df] Nobuyoshi Nakada 2021-03-20 10:15:38 UTC

Array#select! や Array#reject! などの破壊的メソッドでブロック内での例外発生時の ensure 節に相当する処理で戻り値とする配列に対して再度 rb_ary_modify() を呼ぶようにしています。メソッドの入口でも呼んでますが、ブロック内で freeze される場合を考慮しているようです。 [ruby-core:102955] [Bug #17736]

[278522f053] Takashi Kokubun 2021-03-20 02:08:39 UTC

irb の色つき出力のための IRB::ColorPrinter で pp を再定義して引数が文字列の時に PP#pp を使わないようにしています。 2.4 以降の String#pretty_print を使いたくないからとのこと。テストをみるに改行コードが含まれてた時の挙動のためみたいですね。