ruby-trunk-changes 2021-10-03

今日は symbolic link 経由で同一のファイルが複数回 require されることがある不具合の修正や標準添付ライブラリ reline の変更などがありました。

[e0ef4899f3] Nobuyoshi Nakada 2021-09-24 08:06:10 UTC

Random の実装に MinGW 版の時に bcrypt ライブラリの BCryptGenRandom() という関数を利用するようにしています。

[3f7da458a7] Jeremy Evans 2021-09-23 19:31:32 UTC

load_encoding() で一時的に load_encoding 変数を Qfalse にセットして警告抑制するようにしていたのを rb_require_internal_silent() という関数を導入して require_internal() で ruby_verbose 変数を直接参照せず引数で警告を出すかどうかを判定させるようにリファクリングしています。 Ractor の導入で GVL 内でも複数の thread で同時に動く可能性ができたのでグローバル変数を変更するのは race condition があるため不要な警告が出る可能性があったから、ということかなと思います。

[79a4484a07] Jeremy Evans 2021-06-30 20:50:19 UTC

symbolic link を経由して実体は同じファイルを別の経路で require した時に同じファイルを複数回 load してしまう不具合の修正。 ddb85c5d2bdf75a83eb163856508691a7436b446 で一度入れてすぐあとに 162ad65fdd5e3f826eff4e0208c58a21151e993a で revert した変更の再挑戦だと思います。パッチの内容にはほとんど変化がないので、直前の 79a4484a072e9769b603e7b4fbdb15b1d7eccb15 が関連した CI でのエラーに対する修正だったのかもしれないですね。 [ruby-core:104010] [Bug #17885]

[4f65e6ce2a] Jeremy Evans 2021-10-02 22:55:13 UTC

カレントディレクトリが既に削除されてる場合のテストで Solaris では skip するようにしています。

[842673240b] git 2021-10-02 23:05:00 UTC

version.h の日付更新

[c5ff954410] xtkoba 2021-05-09 01:32:11 UTC

file.c の not_same_drive() という関数の定義を #ifndef _WIN32 の分岐の中にいれて使わない時に定義しないようにしてコンパイラの警告を抑制しています。

[2962c421e1] mitsu-ksgr 2021-10-03 02:09:08 UTC

doc/marshal.rdoc の記述ミスを修正しています。

[ceeae31901] Rei Odaira 2021-10-03 02:22:37 UTC

拡張ライブラリ date の AIX 向けに altzone を利用しないようにする修正。

[ff480f2953] Nobuyoshi Nakada 2021-10-03 02:42:31 UTC

RUBY_DEBUG_LOG() というデバッグ用のメッセージ出力のマクロ? で %p で整形する値を明示的に (void*) にキャストするようにしています。

[7c6ef27d6c] aycabta 2021-09-30 10:36:19 UTC

標準添付ライブラリ reline のテストで vi-movement-mode というコマンドのテストをするために inputrc に追加したキーバインディングを Ctrl-j から Ctrl-a に変更しています。 Windows だと Ctrl-j と Enter の区別ができないためとのこと。

[1d2edda9f8] aycabta 2021-09-30 11:07:26 UTC

標準添付ライブラリ reline のダイアログのスクロールバー表示の長さ計算の修正。

[a2d2f00e4a] aycabta 2021-09-30 11:33:45 UTC

1d2edda9f8427a36eaa12005267b10dcf4bb882e の続き。標準添付ライブラリ reline のダイアログのスクロールバー表示の長さ計算の再修正。

[4401bbe8a7] aycabta 2021-09-30 11:49:42 UTC

標準添付ライブラリ reline で String#unpack を使って1つめの要素だけ使っているところを String#unpack1 を利用するようにリファクタリングしています。

[2a3d0fbe17] aycabta 2021-09-30 11:55:50 UTC

標準添付ライブラリ reline の test/reline/yamatanooroti/multiline_repl の文字列配列リテラルが横に長くなってのを1要素ごとに改行するようにスタイルの変更。

[ef350b3a56] TOMITA Masahiro 2021-09-26 06:39:45 UTC

標準添付ライブラリ reline の SIGWINCH のハンドラの処理を Reline::LineEditor#resize というメソッドに切り出して、ついでに Reline::ANSI.inner_getc でもこれを呼び出して毎回端末サイズ変更がないかのチェックをするようにしています。

[bf0a8a7462] aycabta 2021-10-01 05:25:43 UTC

標準添付ライブラリ reline の Reline::Windows.check_input_event でも Reline::LineEditor#resize を呼び出して1文字ごとに端末サイズ変更がないかチェックするようにしています。

[95522ef8b9] aycabta 2021-09-30 12:15:39 UTC

標準添付ライブラリ reline のメソッドの引数を読み終えたところで? 端末の再描画をするように @rerender_all を true にセットするようにしています。しかし一箇所変数名が @rerender_al になってますね。

[d31279fe6f] aycabta 2021-10-01 05:16:42 UTC

標準添付ライブラリ reline のテストで M-3 のように回数指定つきで文字削除した後のプロンプト表示を確認するテストを追加しています。

[bc5407f00c] aycabta 2021-10-03 06:22:47 UTC

標準添付ライブラリ reline の Reline::LineEditor の private メソッド ed_unassigned と ed_insert (というより inputrc に書くコマンドについてのドキュメントみたいですけど)の説明をコメントとして追記しています。

[ea64e742f5] Nobuyoshi Nakada 2021-10-03 07:35:10 UTC

524513be399e81bb170ec88aa0d501f33cbde8c3 で 標準添付ライブラリ mkmf の try_var で実際にリンクするところまでチェックするようにした変更を revert しています。誤検出することがあったとのこと。 [ruby-core:105520] [Bug #18235]

[bf4f3ef5ad] aycabta 2021-10-03 09:41:22 UTC

標準添付ライブラリ reline の lib/reline/line_editor.rb に TODO コメントを追加して、2.5 のサポートがなくなったら alias_method の戻り値を private に渡すようにするぞ、と宣言しています。