ruby-trunk-changes 2020-03-26

今日は標準添付ライブラリ racc, irb, reline, uri の更新の他、去年の timer thread 削除時の変更での不具合修正などがありました。

[48a5c155fa] Hiroshi SHIBATA 2020-03-25 12:39:03 UTC

標準添付ライブラリ racc を upstream の 1.5.0 に同期させています。 JRuby 向けの対応が入っているらしい。

[4adb2d655d] Nobuyoshi Nakada 2020-03-25 13:00:15 UTC

RbConfig.expand というメソッドを呼ぶと RbConfig::CONFIG の内容が変数展開結果で置換するので macOS で RbConfig::CONFIG["SDKROOT"] という項目に ENV から取得した文字列を入れていると freeze されているためエラーになるそうで、文字列展開する式を埋め込んだ文字列を入れておくようにしています。dup しないのは expand 時点での環境変数を反映させるためかな。 [ruby-core:97585] [Bug #16738]

[34d881cba2] S-H-GAMELINKS 2020-03-25 10:40:52 UTC

appveyor.yml で git clone する時のオプションの shallow_clone: true を削除して clone_depth: 10 を追加しています。

[ff98931dac] Koichi Sasada 2020-03-25 16:16:50 UTC

r66712 (23444302d9200bcc41ce279a529f73cad63c3f05) で導入された rb_nogvl() で引数 flags の論理ビットのチェックするべきところビット定数のみで条件分岐が書かれていてちゃんとチェックされていなかったのを修正しています。 [ruby-core:90865] [Bug #15499]

[eaf06f457a] git 2020-03-25 16:19:58 UTC

version.h の日付更新

[ba04678c98] Takashi Kokubun 2020-03-26 05:52:51 UTC

net/ftp のテストで --jit-wait オプションつきで実行している時にはタイムアウトしてしまうのでひとまず skip させるようにしています。

[b08c1bea36] Nobuyoshi Nakada 2020-01-30 03:08:37 UTC

標準添付ライブラリ irb の補完処理に使う正規表現で名前つき capture と名前なしの capture が混在されていて、この場合名前なしの capture は値が保存されないので明示的に (?:) で capture なしのグルーピングに変更しています。

[ffbb162f1a] aycabta 2020-02-25 11:32:07 UTC

irb で入力バッファが複数行かどうかのチェックに正規表現を使ってたのが遅いので String#inclue? で "\n" が含まれてるかチェックする方法に変更しています。

[22477128cd] aycabta 2020-03-26 07:43:16 UTC

irb で入力を parse する時に Hash リテラルのキーに不正な Encoding の文字列があった時に異常終了してしまうのを修正しています。

[f245fb1ab8] aycabta 2020-02-23 03:35:24 UTC

標準添付ライブラリ reline で無引数の String#chomp を呼んでたのを特殊変数 $/ に影響されないようにするため明示的に引数に "\n" を渡すようにしています。

[90913bfabe] aycabta 2020-03-21 09:13:50 UTC

標準添付ライブラリ reline で inputrc ファイルを指定する環境変数 INPUTRC がセットされているけど空文字列だった時にエラーにしないように修正しています。

[9339a7d9d4] aycabta 2020-03-21 09:31:20 UTC

標準添付ライブラリ reline のテストに yamatanooroti という gem があったらそれを利用した端末テストを追加しています。 yamatanooroti って端末のテスト専用のライブラリっぽいですね。

[467b665a8b] aycabta 2020-03-21 09:40:15 UTC

9339a7d9d48fe5f7ed86b51a7a96e931742f8091 で追加した yamatanooroti.gem を使ったテストのテストクラス名を変更しています。

[8911b3d3e8] aycabta 2020-03-21 09:41:14 UTC

9339a7d9d48fe5f7ed86b51a7a96e931742f8091 で追加した yamatanooroti.gem を使ったテストの LoadError を rescue しているところで、ruby リポジトリ内では通常実行されない旨コメントを追記しています。

[69cd27c98e] aycabta 2020-03-24 04:56:22 UTC

標準添付ライブラリ reline で may_req_ambiguous_char_width というメソッドで、出力が端末の時に文字幅を検出するために Unicode の U+25BD (WHITE DOWN-POINTING TRIANGLE。"▽" こんな文字)を出力する処理で Encoding::UndefinedConversionError が発生した時の対応を追加しています。

[e460c2d033] David Rodríguez 2019-12-05 15:12:51 UTC

lib/uri.rb の uri/ 配下のファイルをロードするための require を require_relative に変更しています。

[844ff7ea45] Samuel Williams 2019-12-27 22:36:41 UTC

標準添付ライブラリ uriURI::RFC2396_Parser、URI::RFC3986_Parser の処理を URI.for というメソッドに切り出して共有するようにするリファクタリング

[92a238a21c] Matt Muller 2020-02-21 21:55:07 UTC

標準添付ライブラリ URI の schema として WebSocket の ws を追加して ws://〜 のような URI を処理できるようにしています。

[5e9e16292a] Matt Muller 2020-02-26 18:10:41 UTC

92a238a21caa6e8c9e4823b8bee67e37a362a9f8 で追加した WebSocket 用 URI のファイルで subversion の(というか RCS の?)置換用文字列を削除しています。

[9e8d75e881] David Rodríguez 2020-03-13 09:54:57 UTC

さらに lib/uri の他の RCS の置換文字列も削除しています。

[b0b6d0a688] git 2020-03-26 09:06:32 UTC

844ff7ea45b79e95eaed4b725fd0cf5c33874058 の変更の行末の空白除去。

[b94f50ed91] Hiroshi SHIBATA 2020-03-26 11:27:57 UTC

92a238a21caa6e8c9e4823b8bee67e37a362a9f8 で追加した URI::WS のテストに利用している "net/http" の require を追加しています。