ruby-trunk-changes 2019-12-09

昨日更新忘れてたので昨日と今日をまとめて更新。Net::HTTP#start のオプションに :ipaddr を追加して指定のアドレスにコネクションをはれるようにする新機能追加や、cygwin 環境でのテストの GitHub Actions 追加、標準添付ライブラリ logger の更新などがありました。

[ad6837dd60] aycabta 2019-12-07 11:21:08 UTC

c2afddccb36c10ac0eb530bfc3b38765882126d8 の irb のテストを 2.5 以前で定義しない変更を revert しています。 reline の使わなくてもどのみち ripper を使った lexer を必要とするため 2.5 以降が必要みたいです。

[2e595c2d78] aycabta 2019-12-07 11:26:01 UTC

ということで irb の gemspec も spec.required_ruby_version を 2.5 以降に指定しています。

[0ff84eda4e] aycabta 2019-12-07 11:28:23 UTC

irb のバージョンを 1.2.0 に更新しています。

[be13b897ea] aycabta 2019-12-07 13:02:24 UTC

tool/sync_default_gems.rb で upsteram repository から cherry-pick する時に失敗したコミットを列挙するセクションのヘッダは失敗したコミットがあった時だけ表示するようにしています。

[c9b06d4a4e] aycabta 2019-12-07 23:01:27 UTC

標準添付ライブラリ readline の completion のテストを追加しています。

[2eb6743773] git 2019-12-07 23:10:50 UTC

version.h の日付更新

[c38bc172be] aycabta 2019-12-07 23:35:31 UTC

c9b06d4a4e52b6ae705ebb16cafe455671780770 に続いて readline の completion のテストに Readline.completion_append_character を使ったテストを追加しています。 reline ではまだ未サポートのため Reline 利用時は skip するようにしています。

[0d63a21047] aycabta 2019-12-08 09:29:39 UTC

標準添付ライブラリ readline のその他の completion のテストでリンクしているのが Editline だった時に skip するようにしています。

[689e744855] "Daisuke Fujimura (fd0)" 2019-12-06 14:53:25 UTC

GitHub Actions に cygwin 環境でのビルドと make test の実行というアクションを追加しています。cygwin はパッケージでインストールしていますね。

[d00349f994] Nobuyoshi Nakada 2019-12-08 14:09:39 UTC

689e74485598d2c023fc2a00fac80b717b6f29b7 の GitHub Actions の設定で git コマンドに .exe 拡張子をつけずに呼ぶようにしています。

[5e65e65bd9] Nobuyoshi Nakada 2019-12-08 14:00:46 UTC

同じく 689e74485598d2c023fc2a00fac80b717b6f29b7 の cygwinGitHub Actions 設定で PATH の設定を環境変数の設定としてまとめて実行するようにしています。

[963b84a51b] Nobuyoshi Nakada 2019-12-08 14:37:04 UTC

同じく 689e74485598d2c023fc2a00fac80b717b6f29b7 の cygwin での GitHub Actions でビルドとテストのステップを shell でまとめて実行していたのを別々のステップに分解しています。

[0e71fbc18e] git 2019-12-08 15:13:07 UTC

version.h の日付更新

[036bc1da6c] Yusuke Endoh 2019-12-09 03:04:58 UTC

2.7 からのキーワード引数の警告の重複した出力を抑制するために rb_iseq_t のポインタで呼び元を判定していたのが、GC で解放されて同じアドレスが使いまわされた場合に誤って抑制される可能性があるので、rb_iseq_body_t に単調増加する ID を持たせてそれで判定するように修正しています。

[751a9b32e5] Yusuke Endoh 2019-12-09 03:30:00 UTC

036bc1da6c6c9b0fa9b7f5968d897a9554dd770e の追加修正。呼び元判定のために追加した rb_iseq_body_t::iseq_unique_id をポインタとして渡す時に、最下位bit は 0 であることが期待されているので 2倍して渡すようにしています。

[8b07c122b7] Kazuhiro NISHIYAMA 2019-12-09 04:46:23 UTC

標準添付ライブラリ rinda のテストの後始末で DRb::DRbConn の thread pool を停止して Thread を回収するようにしています。

[39c7230a7a] Yusuke Endoh 2019-12-09 04:49:17 UTC

751a9b32e5a53336768eb878de1827245a3292bf を revert しています。その前の 036bc1da6c6c9b0fa9b7f5968d897a9554dd770e を revert するためみたいです。

[3cdb37d9db] Yusuke Endoh 2019-12-09 04:49:24 UTC

ということで 036bc1da6c6c9b0fa9b7f5968d897a9554dd770e を revert しています。ISeq のバイナリフォーマットでの dump/load で問題になったとのこと。なるほど。

[a14c01441b] aycabta 2019-12-09 05:20:25 UTC

標準添付ライブラリ reline のデフォルトの completion の処理で候補の Encoding のチェックに Encoding.compatible? メソッドを利用してより柔軟なチェックをするようにしています。

[07664f3aec] aycabta 2019-12-09 05:21:05 UTC

a14c01441b12552386c69233b0bcc53d06ed0b92 の変更によって readline の補完のテストでの Encoding 指定が不要になったようなので 削除しています。

[156fb72d70] Yusuke Endoh 2019-12-09 06:22:48 UTC

036bc1da6c6c9b0fa9b7f5968d897a9554dd770e のリトライ。 rb_iseq_constant_body_alloc() という関数を導入して、ここでメモリ確保と同時に struct rb_iseq_constant_body::iseq_unique_id の設定をするようにして、バイナリフォーマットからの load 時もこれを使って通し番号を持たせるようにしています。なるほど、この番号はプロセス内で一貫性があればいいので dump した内容には影響せず、load 時にあらためて採番するようにしているのですね。

[c19e62ddc9] Kazuhiro NISHIYAMA 2019-12-09 05:06:06 UTC

GitHub Actions の Windows および cygwin 環境でパッケージマネージャの choco のキャッシュ設定? 表示をしていたのをやめています。

[801eafcc14] Kazuhiro NISHIYAMA 2019-12-09 05:29:38 UTC

GitHub Actions の cygwin 環境で chocolatey のキャッシュ設定を cygwin 用に分けている? これってファイルが別でもキーが同じだとキャッシュは共有されるってことでしょうか。

[ea8f03e86c] Kazuhiro NISHIYAMA 2019-12-09 06:03:10 UTC

GitHub Actions の cygwin 用アクションでテスト用に使ってたと思われるブランチ名での起動を削除しています。

[a5e6a50cb8] Kazuhiro NISHIYAMA 2019-12-09 06:04:59 UTC

GitHub Actions の cygwin 版で cygwin 自体のパッケージにもキャシュを使うようにしています。

[8395a6a9a0] Kazuhiro NISHIYAMA 2019-12-09 06:05:17 UTC

README.md と README.ja.md の GitHub Actions のバッジに cygwin 環境のものも追加しています。

[22548195d5] Alan Wu 2019-07-15 05:52:06 UTC

標準添付ライブラリ logger の Logger.new の rdoc 用コメントの typo 修正。

[0aafc32995] sonots 2019-03-21 16:14:14 UTC

標準添付ライブラリ logger に magic comment #frozen_string_literal: true を追加したり、文字列リテラルや配列リテラルに freeze を追加する変更。

[6158e28f8d] Akira Matsuda 2019-07-31 05:38:38 UTC

標準添付ライブラリ logger の Logger::Format で例外オブジェクトを文字列化する時にバックトレースがない時のための空の配列を生成するのを惜しんで backtrace があるかどうかチェックするようにしています。ここそんなに効くのかなぁ。けど amatsuda さんだしきっと効くからやってるんだろうな。

[0fe1b05082] sonots 2019-08-19 18:02:21 UTC

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

[895f86c81b] Hiroshi SHIBATA 2019-08-20 07:39:38 UTC

標準添付ライブラリ logger の gemspec ファイルの spec.files を Dir.glob を使うように変更しています。これ ruby 本体の配下だとうまくいかないんじゃないかな。

[ff7cc0dc34] sonots 2019-08-20 12:10:08 UTC

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

[4b36832ba6] Hiroshi SHIBATA 2019-12-09 10:11:18 UTC

標準添付ライブラリ logger の依存関係から minitest を削除して test-unit と rdoc を追加しています。

[1943279426] Hiroshi SHIBATA 2019-12-09 10:16:51 UTC

4b36832ba64a8879a4b0702d6d5079ddd9d3078e の追加修正。 ruby 本体での利用時のため require 'core_assertions' の LoadError を捕捉するようにしています。

[54072e329c] "NARUSE, Yui" 2019-12-09 11:19:11 UTC

標準添付ライブラリ net/http の Net::HTTP#start に :ipaddr というオプションを追加して、指定した URL のドメイン名とは別に指定した IP アドレスにコネクションをはるという挙動ができるようにしています。どういう動機なのかというと、証明書のチェックなどでサーバー上で localhost に繋げつつ TLS や HTTP のレイヤでは指定のドメイン名へのリクエストいう体裁でリクエストは投げたい、とかそういうことのようです。 https://github.com/ruby/ruby/pull/1893 https://github.com/ruby/ruby/pull/1977 [ruby-dev:44368] [Feature #5180] [ruby-core:89305] [Feature #15215]