ruby-trunk-changes 2023-07-08

今日は標準添付ライブラリ reline の更新と yarp の更新などがありました。

[24d9e21f84] Stan Lo 2023-07-07 17:27:14 UTC

標準添付ライブラリ reline で Reline::IOGate という定数を直接参照しているところで各 Class/Module に io_gate というメソッドを定義してそこから参照させるようにリファクタリングしています。 https://github.com/ruby/reline/pull/566

[61efa9c823] Jemma Issroff 2023-07-07 16:52:03 UTC

yarp の YARP.newlines メソッドを削除しています。

[31f83a6fea] Jemma Issroff 2023-07-07 16:54:18 UTC

yarp の YARP.newlines メソッドを lib/yarp.rb で ruby 実装として再実装しています。

[9e3a5cc54f] Jemma Issroff 2023-07-07 16:54:32 UTC

yarp の拡張ライブラリに yp_location_for_node() という C API を追加して yp_node_t 構造体からコード位置を取得できるようにしています。

[dadf17818c] Jemma Issroff 2023-07-07 19:55:58 UTC

misc/lldb_rb/ の lldb 向けのコマンド実装で __init__ メソッドでも呼んでいる初期化処理を __call__ でメソッド呼び出し時にも再度呼ぶようにしています。これはなぜだろう。 https://github.com/ruby/ruby/pull/8041

[7f2bd17fad] Burdette Lamar 2023-07-07 20:37:36 UTC

Dir のメソッド群の rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/8037

[28ae4e4628] Nobuyoshi Nakada 2023-07-07 03:59:47 UTC

ruby の C API などのシンボルで公開してはいけないものが公開されてないかチェックする tool/leaked-globals で ___asan_ ではじまるものは無視するようにしています。 ASAN の利用時に定義されるものなんでしょうね。

[cceb410087] Nobuyoshi Nakada 2023-07-07 14:33:04 UTC

make leaked-globals ターゲットでチェック対象のファイルに SOEXT という変数と LIBRUBY_SO という変数のファイルも追加するようにしています。 --enable-shared でビルドされている時に libruby.so を対象に追加しているようです。

[46fe9ba0f5] Nobuyoshi Nakada 2023-07-07 14:43:46 UTC

GitHub Actions の macOS 版の configure 用の引数のための環境変数をセットする処理を独自 action の定義のほうに移動しています。

[f052aa11f2] Nobuyoshi Nakada 2023-07-07 15:05:31 UTC

GitHub Actions の macOS 版ビルドの workflow の matrix に configure に --enable-shared を指定するケースを追加しています。

[3c4d788bfe] Nobuyoshi Nakada 2023-07-07 16:47:06 UTC

macOS 版で ruby_current_ec や RUBY_DEBUG マクロの排他処理用の変数 ruby_nt_serial などのシンボルを export していたのを止めています。

ruby_parser.c の universal parser で isascii() の実装を構造体 rb_parser_config_t のメンバーの関数ポインタで指定してたのを削除して parse.y に rb_isascii() と同じ実装の parse_isascii() と定義してそこで ISASCII() マクロの定義をしています。しかし universal_parser.c に ISASCII() の定義は残っててそちらは構造体の関数ポインタ経由になってそうだけどいいのかな?

[02f9b685e8] tomoya ishida 2023-07-08 08:41:26 UTC

標準添付ライブラリ reline で不完全なエスケープシーケンスが渡された時にそれを処理せず続きを待つ? あるいは無視するようにしているようです。 https://github.com/ruby/reline/pull/522

[33e00b79a0] Stan Lo 2023-07-08 08:53:43 UTC

標準添付ライブラリ reline のバージョンを 0.3.6 に更新しています。

[5f915108da] git 2023-07-08 08:54:34 UTC

NEWS の default gems のバージョンリストの reline のバージョンも更新しています。