ruby-trunk-changes 2021-12-10

今日は Method/UnboundMethod の public?/protected?/private? などの新規メソッド追加、TracePoint.allow_reentry というメソッドの新規追加などがありました。

[da652e1827] Nobuyoshi Nakada 2021-06-25 16:48:01 UTC

Marshal.load で Time オブジェクトを読み込む時に月(month)の数値の範囲チェックをしていなかったので 12 を超えていたら年にくり上げるようにしています。

[88c804a6e7] git 2021-12-09 15:33:46 UTC

version.h の日付更新

[9873af0b1a] Koichi Sasada 2021-12-08 18:50:17 UTC

TracePoint.allow_reentry というメソッドを新規追加してそのブロック内では TracePoint のイベントのフック内でもさらに TraePoint のイベントが発火するようにしています。いかにもうっかり使うと再帰してやばそうなので注意して使うようにと rdoc 用コメントにも書かれています。 [ruby-core:93043] [Feature #15912]

[bcc2bb28b0] Nobuyoshi Nakada 2021-08-17 13:01:57 UTC

ALLOCA_N() や RB_ALLOCV()、RB_ALLOCV_N() に個数が 0 で渡された時には NULL を返して alloca(3) を呼ばないようにしています。呼び元のひとつの random.c では個数に 0 を渡す可能性があったのを 0 の時はかわりに 1 を渡すように変更しています。

[b859397e1b] Jemma Issroff 2021-12-09 16:23:51 UTC

doc/extension.rdoc に Qfalse は C 言語の偽(0)であるという記述を削除してこの実装の詳細に依存しないようにしています。 [ruby-core:106557] [Bug #18397]

[74159f7f3e] Alan Wu 2021-12-09 18:38:20 UTC

doc/extension.ja.rdoc の Qfalse についての記述からも C 言語の偽(0)になるという記述をなくしています。 [ruby-core:106557] [Bug #18397]

[2727815068] Jeremy Evans 2021-10-27 22:36:00 UTC

UnboundMethod と Method に public?/protected?/private? といったメソッドを追加しています。 [ruby-core:71490] [Feature #11689]

[21749f7be3] Kazuhiro NISHIYAMA 2021-12-10 05:55:03 UTC

NEWS.md の標準添付ライブラリのバージョンを更新しています。

[0cefc2fbdf] git 2021-12-10 07:01:36 UTC

gems/bundled_gems の test-unit のバージョンを 3.5.2 に更新しています。

[787daea6d2] Yuta Saito 2021-12-06 02:26:05 UTC

transient_heap.c のマクロ TRANSIENT_HEAP_TOTAL_SIZE の定義をマクロが未定義の時のみ行うように preprocessor の分岐を追加しています。環境によってはこのサイズを小さくするなどビルド時に -D オプションで調整したいことがあるので指定があったらそれを利用するようにしているようです。誰かと思ったら Nextstep.fm でおなじみの家庭の医学くんさんですね。

[a5baf8d6bc] Nobuyoshi Nakada 2021-12-10 09:33:17 UTC

bcc2bb28b04054106f4a36e8fd69b2af6ecb033a で ALLOCA_N()/RB_ALLOCV()/RB_ALLOCV_N() などでサイズに 0 が渡されたら NULL を返すようにした部分を revert しています。コンパイラ警告が出たみたい? です。

[30268d1de6] Nobuyoshi Nakada 2021-12-10 09:39:41 UTC

標準添付ライブラリ mkmf.rb で #map と #flatten を使ってたところを Enumerable#flat_map を利用するようにリファクタリングしています。

[0e60bc118b] David Rodríguez 2021-12-08 17:36:13 UTC

bundler の依存関係解決で bundler 2以前の時のみ必要な処理を Bundler.feature_flag.bundler_3_mode? をみてスキップするようにしています。この条件ループの外に出してもいいのでは。