ruby-trunk-changes 2021-02-21

今日は標準添付ライブラリ reline の Windows 向けの古いコンソールの挙動の対応の復活などがありました。

[169c726f60] Nobuyoshi Nakada 2021-02-20 12:05:57 UTC

win32/Makefile.sub で C ソースファイルを preprocessor だけ通して .i 拡張子のファイルにするためのルールにコンパイラオプション -F を指定してファイルを吐き出す位置をソースファイルと同じディレクトリにするようにしています。

[cc8e966e3c] Nobuyoshi Nakada 2021-02-20 14:33:22 UTC

標準添付ライブラリ mkmf の mkintpath というメソッドに RbConfig::CONFIG["build_os"] が "msys" だった時の対応を追加しています。 MSys は Cygwin の同類として処理するようにしています。

[b88be10094] git 2021-02-20 15:11:22 UTC

version.h の日付更新

[dc9e33016c] aycabta 2021-02-14 15:27:51 UTC

標準添付ライブラリ reline の Reline::Unicode.get_mbchar_width に不明な文字が渡された時に nil を返してたのを 1 を返すようにしています。else 節はまだいるのかな?

[ac9e3b514b] Eamonn Webster 2021-02-14 19:24:03 UTC

標準添付ライブラリ reline の Reline::LineEditor#simplified_rendering? で prompt_list が空だとエラーになるので強制的に prompt 変数に格納してる文字列を 1要素持つ配列にセットするようにしています。

[a3055a35dd] aycabta 2021-02-15 15:30:30 UTC

標準添付ライブラリ reline に yamatanooroti を使った仮想端末によるテストのためのプログラム test/reline/yamatanooroti/multiline_repl を追加しています。

[7aa3bc8403] aycabta 2021-02-15 16:46:53 UTC

a3055a35dd7b8b6520d5fe599d1c67490c556a3c で追加した test/reline/yamatanooroti/multiline_repl にコマンドラインオプション --dynamic-prompt-returns-empty を追加して、おそらく ac9e3b514bc98ded741006c94281fb8aee10c7ef で修正したのに対応するテストを追加しています。

[38cefac7ce] Yoshinao Muramatu 2021-02-17 14:28:47 UTC

標準添付ライブラリ reline の 05df7e0d4a09eaacb91388f32ef557d1d5fbe082Windows での EOF の挙動についての対応を revert したのを revert しています。Windows の更新で直ったけど古い環境にも対応できるようにするためみたいです。

[38d30a6942] Yoshinao Muramatu 2021-02-17 14:56:34 UTC

38cefac7ce277d8ea41c600e67a2046da3715ac3 の続きで標準添付ライブラリ reline で Windows のコンソールの対応で新旧どちらの挙動にも対応できるように一度検査しておいてその結果で処理を分岐させるようにしています。

[aeac4ddcc0] aycabta 2021-02-17 18:41:47 UTC

標準添付ライブラリ reline の Reline::LineEditor#calculate_nearest_cursor で入力が UTF-8 でない時に文字幅の検査のために分解する前に全体を UTF-8 に変換してたのをやめて各文字の幅をチェックする時に都度呼ぶようにしています。String#encode は新しい文字列を返すので別に元の方法でも良い気もしますが、途中でエンコード失敗するバイト列があった時のためとかでしょうか。