ruby-trunk-changes 2021-02-07

今日は主に irb と reline の複数行バッファ描画時の高速化と端末のスクロール履歴との整合性のための修正などがありました。

[5704b5fe5e] aycabta 2021-02-06 11:23:51 UTC

irb の組み込みコマンド measure をブロックつきの呼び出しをして各式の評価時にコールバックとして呼ばれるようにしている? みたいです。

[7b354cf67b] aycabta 2021-02-06 12:07:11 UTC

5704b5fe5e42bd5b1f42a27368cd5d52dd5a9060 の続きで irb の measure コマンドのブロックつきの呼び出しを繰り返すとコールバックが上書きされるようにしています。

[34c422b678] Garen Torikian 2021-02-06 14:05:37 UTC

error.c の macOS での異常終了時に C のバックトレースが配置されるファイルの位置についてのメッセージの文法修正。

[bfc7bb5d8a] git 2021-02-06 18:02:42 UTC

version.h の日付更新

[132e01a1c3] Adam Jensen 2021-02-06 16:07:03 UTC

.gdbinit のインデント修正のみ。

[b69c965f47] aycabta 2021-01-26 04:18:05 UTC

irbスクリプトをペーストした時の高速化のために標準添付ライブラリ reline の Reline::LineEditor#rerender で再描画時にペーストモードを検出したら複数行の再描画は最後の行まで modify_lines を呼ばないようにしているようです。

[433b975fe8] aycabta 2021-01-28 07:25:27 UTC

b69c965f477af1b2eb883137b3df9da8fca7b616 の続き。標準添付ライブラリ reline の Reline::LineEditor に導入したインスタンス変数の初期化を initialize に追加しています。

[ec6929a5dd] aycabta 2021-01-28 07:25:48 UTC

b69c965f477af1b2eb883137b3df9da8fca7b616 の続き? 標準添付ライブラリ reline の Reline::LineEditor#rerender_added_newline で不要な whole_lines の呼び出しを削除しています。

[03523fdafb] aycabta 2021-01-29 09:27:54 UTC

標準添付ライブラリ reline の Reline::LineEditor で SIGINT のシグナルハンドラで一行スクロールするようにしています。

[bd0f8b36fd] aycabta 2021-01-31 04:45:21 UTC

標準添付ライブラリ reline の Reline::LineEditor#rerender で複数行バッファがあった時に端末の表示できる範囲内だけを描画すると、おそらく仮想端末エミュレーターなどでスクロールバックできる時に遡れないからか、最後の行まで到達した時に範囲内に収まらない上のほうも出力しておくようにしているようです。いろいろ考えることがあって大変だなー。

[b371ca3f4f] aycabta 2021-01-31 14:44:13 UTC

さらに reline の Reline::LineEditor で複数行入力時にスクロールバックした履歴が正常に表示できるように LineEditor#just_move_cursor でもスクロールをちゃんと差分のぶんだけするようにしています。

[08162f0e69] aycabta 2021-02-02 14:58:20 UTC

b69c965f477af1b2eb883137b3df9da8fca7b616 で標準添付ライブラリ reline の Reline::LineEditor#rerender の @cursor 変数更新がペーストモードで行なわれなくなる不具合があったので条件分岐の外に出すように修正しています。

[a608bb3e9b] aycabta 2021-02-02 12:28:59 UTC

さらに標準添付ライブラリ reline の Reline::LineEditor#rerender で複数行バッファの最終行出力時にカーソル移動が追随していなかったのを修正しています。

[a19ed1623f] aycabta 2021-02-02 12:29:20 UTC

標準添付ライブラリ reline の Reline::LineEditor#vi_histedit というメソッドが複数行バッファのヒストリに対応してなかったのを修正しているようです。

[fee19da230] aycabta 2021-02-03 08:56:49 UTC

標準添付ライブラリ reline の Reline::LineEditor で行の途中に文字を挿入した時の折り返しの再描画計算の不具合を修正しているそうです。

[300084a854] aycabta 2021-02-05 12:39:29 UTC

さらに標準添付ライブラリ reline の Reline::LineEditor で複数行バッファの描画で端末の行数を超えて流れた部分の行の折り返しの不具合を修正しているそうです。

[8aac11484b] aycabta 2021-02-06 19:55:38 UTC

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

[93ebfed0a9] aycabta 2021-02-06 19:55:09 UTC

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

[947d93b715] Nobuyoshi Nakada 2021-02-07 01:30:15 UTC

Array#values_at と MatchData#values_at の rdoc 用コメントに引数(の一部)に Ragen オブジェクトを渡した時の挙動について追記しています。へー、Range のみじゃなくて整数によるインデックスと混ぜる呼び方もできるのか。