ruby-trunk-changes 2022-05-26

今日は Module#autoload の実装の変更や miniruby を毎回ビルドしなおさないようにするビルドプロセスの変更などがありました。

[012eb9b70d] Burdette Lamar 2022-05-25 22:08:14 UTC

標準添付ライブラリ fileutils の FleUtils.copy_entry の rdoc 用コメントの手直し。

[982bf7262e] git 2022-05-25 22:08:41 UTC

version.h の日付更新

[946e3bbdc2] Samuel Williams 2022-05-26 00:44:01 UTC

Module#autoload の autoload_feature_require() の呼び出しに rb_ensure() を利用していたのをやめて rb_mutex_synchronize() の呼び出しを autoload_feature_require() 内で実行するようにしています。しかしこれ rb_funcall() を呼んでるのでそこで例外が発生したらまずいのではないのかな?
そしてついでに(?) doc/hacking.md に「よくわからんけどビルドが失敗するって時は git clean -xfd とかで生成ファイル全部消してやりなおしてみるといいよ」みたいなコメントが追加されています。

[2556e15d75] Samuel Williams 2022-05-26 03:06:21 UTC

cont.c で局所的にコンパイラの警告を抑制するために COMPILER_WARNING_IGNORED() マクロで pragma を使ってたのがもう不要になっていたみたいで削除しています。

[2f5edfa47d] Nobuyoshi Nakada 2022-05-26 06:26:33 UTC

defs/gmake.mk の miniiruby の依存関係の $(YJIT_LIBS) の前に | というのを追加しています。Makefile において依存関係の "|" の後のものは order-only の依存というものになるそうで、$(YJIT_LIBS) が更新される都度 miniruby がビルドされないようにしているようです。

[46cf3bf333] S-H-GAMELINKS 2022-05-24 14:19:11 UTC

time.c で構造体 struct time_object の tzmode メンバーに localtime を意味する値をセットするのに TZMODE_SET_LOCALTIME() というマクロを利用するようにリファクタリングしています。