ruby-trunk-changes 2021-09-03

今日は reline と irb のダイアログでキー入力による操作に対応する機能強化や rdoc の更新などがありました。

[f734590f8e] aycabta 2021-09-02 12:36:14 UTC

標準添付ライブラリ reline のコーディングスタイルの修正のみ。

[4e40b7ddb0] aycabta 2021-09-02 12:34:53 UTC

irb のタブ補完でのドキュメント表示機能でローカル変数やインスタンス変数のクラスを local_variables などや eval を駆使して取り出して利用するようにしています。

[a0a5bdb3ae] aycabta 2021-09-02 13:14:34 UTC

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

[1efe5cb020] aycabta 2021-09-02 13:16:21 UTC

irb の gemspec ファイルで reline の依存バージョンを 0.2.8.pre.6 以降に変更しています。

[ed83a01048] aycabta 2021-09-02 13:16:32 UTC

irb のバージョンを 1.3.8.pre.6 に更新しています。

[682f58a933] Peter Zhu 2021-09-02 13:55:12 UTC

did_you_mean のテストのテストメソッド名が typo していたのを修正しています。

[a95262356e] Nobuyoshi Nakada 2021-09-02 12:42:47 UTC

complex.c の f_finite_p() と f_infinite_p() から FIXNUM の範囲の整数や flonum (即値になってる)の Float の時の判定してる部分を always_finite_type_p() という関数に切り出すリファクタリング

[8c067f182e] aycabta 2021-09-02 15:27:22 UTC

標準添付ライブラリ reline のデフォルトの補完ダイアログ用のコールバックで、コメントアウトされてた候補が 3文字以下の時もダイアログ表示しないようにする条件を有効にしています。コミットログをみると 3 or longer の時に表示するってあるけど 3以下で表示しないとなってる気がするので 4 or longer になってる気がする。

[8f56629bb2] git 2021-09-02 16:13:01 UTC

version.h の日付更新

[93080111cd] aycabta 2021-09-02 15:03:14 UTC

標準添付ライブラリ reline のダイアログ表示で幅の指定がない時に表示内容から自動計算する処理を追加しています。

[f3fe3511da] aycabta 2021-09-02 15:05:56 UTC

93080111cdb96b90f66ec6913e242eef45d7b49e の再修正でこの時点でまだセットされてない表示内容を使ってしまってたのでセットする順序を入れかえています。

[b4efa37d98] aycabta 2021-09-02 16:20:40 UTC

67eaa222cf37dd95ba0be8da3972126183868810 で追加した readline の入出力が pipe の時のテストが EditLine とリンクした readline 版の時に失敗するそうなので Readline::VERSION でチェックして skip するようにしています。

[38ae3b8e36] aycabta 2021-09-02 16:14:11 UTC

標準添付ライブラリ reline のダイアログ表示の時にダイアログの操作に使うキー入力を指定できるようにしています。

[9e0caba187] aycabta 2021-09-02 18:29:10 UTC

38ae3b8e36a6bdb39a8fa743789525ad764e064d の続きでダイアログ操作に奪われるキー入力をチェックするためのロジックを Reline::Key という(Struct を使って作成した)クラスの match? メソッドとして実装してこれを使うようにしています。メタキーとのコンビネーションなども判定できるようにしているみたいです。

[057ab5f056] aycabta 2021-09-02 18:30:36 UTC

標準添付ライブラリ reline の Reline::Windows で Alt キーと同時にキーを押した時にエスケープシーケンス "\e" を出力に追加するようにしています。 UNIX の端末を模倣するためとのこと。

[f793f68264] aycabta 2021-09-02 16:17:10 UTC

irb38ae3b8e36a6bdb39a8fa743789525ad764e064d で reline に追加したダイアログの捕捉するキーの指定を利用して Alt+d でドキュメント表示をするようにしています。なるほどー、ドキュメント表示って補完とどういう関係になるんだろうって思ってましたが補完中にキー入力で表示するようにしてるのかな。

[eb92d7c732] aycabta 2021-09-02 16:17:30 UTC

f793f682641030da81a45f5a9a0f3191f79a75c2 の追加で irb のダイアログで表示内容に Alt+d で全文表示するというメッセージを先頭に追加しています。なるほど全文表示かどうかの切り替えに使うんですね。

[864b40176d] aycabta 2021-09-02 17:41:07 UTC

irb のテストで自動補完が有効だと失敗するものに IRB.conf[:USE_AUTOCOMPLETE] を false に設定しておくようにしています。

[5458f23de2] aycabta 2021-09-02 17:50:59 UTC

864b40176de37f01411fb104997a693d5c419b6a で自動補完を無効にした irb のテストメソッドのうちひとつに TODO コメントで将来的に有効にするようにすると追記しています。

[3d6a475587] aycabta 2021-09-02 18:31:21 UTC

irb のドキュメント表示のダイアログで Alt+d のキーをマジックナンバーで書いてたのを Reline::Key にして Reline::Key.new#match? メソッドを利用するようにしています。

[250b86bbee] S-H-GAMELINKS 2021-09-03 03:50:17 UTC

complex.c の特に意味のないスペーサー的なコメントを削除しています。

[62fc81fe12] Nobuyoshi Nakada 2021-09-03 04:39:47 UTC

標準添付ライブラリ cgi の Time を文字列に整形しているところで Kernel#format を使ってたのを Time#strftime を利用するようにリファクタリングしています。

[078969914d] Hiroshi SHIBATA 2021-09-03 07:57:02 UTC

rdoc の Gemfile から minitest への依存を削除しています。

[0a9a3799bb] Hiroshi SHIBATA 2021-09-03 07:58:40 UTC

標準添付ライブラリ rdoc のテスト内の rdoc 用コメント? が重複していたのを削除しています。

[b809e5a4a9] Hiroshi SHIBATA 2021-09-03 07:58:56 UTC

標準添付ライブラリ rdoc のテストの RDoc::TestCase クラスについてのコメントで minitest を利用してると書かれてるところを test-unit と変更しています。

[33676a7aa6] Vít Ondruch 2021-09-01 16:48:10 UTC

標準添付ライブラリ rdoc で webrick を利用したテストで require "webrick" するようにしています。webrick はもう標準添付されてないので LoadError だった時は捕捉して無視するようにしています。しかしこれ単に無視するだけだと結局 setup でエラーになるような。

[76c7388c1f] Nobuyoshi Nakada 2021-08-18 04:48:12 UTC

標準添付ライブラリ rdoc の --template-stylesheets オプションの処理のちょっとした修正とテストを追加しています。

[94845d0170] Hiroshi SHIBATA 2021-09-03 11:35:29 UTC

lib/rdoc/Gemfile を削除しています。やっぱり rubyリポジトリ内にはいらなかったのか。