ruby-trunk-changes 2022-06-13

今日は標準添付ライブラリ reline の更新や IO.binwrite の実装の修正などがありました。

[670de71628] Yusuke Endoh 2022-06-13 01:37:26 UTC

YJIT のテストで未使用の変数の警告抑制のため使わない変数への代入の変数名の先頭に "_" を追加しています。

[54be0e4fd3] git 2022-06-13 01:38:06 UTC

version.h の日付更新

[abc828bc67] Yusuke Endoh 2022-06-13 01:38:32 UTC

rubygems のテストで Kernel#system の第1引数に * で配列を展開する記法が使われていたのが二項演算子メソッドの * とあいまいなので警告が出ていたので引数をかっこでくくるようにしています。

[d9ccb6b372] Nobuyoshi Nakada 2022-02-05 09:18:48 UTC

標準添付ライブラリ reline で文字の表示幅の検出をするためのメソッドで出力が端末かどうか判定するのに File のインスタンスかどうかで判定していたので IO#tty? メソッドを利用するように変更しています。

[425a46131a] Samuel Williams 2022-06-13 03:33:54 UTC

io.c の io_binwrite_string() で io_binwrite_string_internal() の文字列が 0 で1バイトも書き込めなかった時に errno に EWOULDBLOCK をセットしておくようにしています。後の rb_io_maybe_wait_writable() でブロックさせるためみたいですね。

[5060c9d852] Yusuke Endoh 2022-06-13 05:03:57 UTC

cont.c の cont_restore_0() でスタック用に確保したメモリ領域がコンパイラがその領域への読み書きがされないというのを解析して誤った? 最適化でメモリ確保自体を取り消すということがあったみたいで、その抑制のため確保したメモリ領域の先頭に 0 (Qfalse) を書き込んでおくようにしています。

[b2e58b02ae] Yusuke Endoh 2022-06-13 03:14:03 UTC

compile.c の add_adjust_info() の if 文の条件で呼び元でチェックして渡さないようにしている引数チェックが冗長だと GCC 12.1 で警告されたそうでその条件を消しています。すごいなそんなの解析するんだ。呼び元が1つしかないし inline 展開してるんでしょうね。

[a80f5c5365] Jun Aruga 2022-05-18 12:24:18 UTC

common.mk の make test-annocheck ターゲットを Linux でのみコマンド実行されるようにしていたのを常に実行するようにしてます。他のプラットフォームでも実行可能だった? みたいです。 macOS だと実行ファイルのフォーマットが ELF じゃないので失敗するみたいですけど。

[b1397e96da] st0012 2022-06-13 08:17:38 UTC

標準添付ライブラリ reline の Reline::Terminfo で d020334e9ee6d978bbed09ce96a03a6d6d2490a6 でロードするライブラリとして libncursesw.so.6 と libncurses.so.6 を追加していたのを revert しています。