ruby-trunk-changes 2020-05-12

今日は標準添付ライブラリ net/http の extra_chain_cert オプション対応や String#split の引数に特定のパターンの正規表現が渡された時の最適化などがありました。

[1258a0fb90] Jean Boussier 2020-05-07 19:49:40 UTC

name_err_mesg_to_str() でメッセージの inspect 結果の文字列が 66文字以上あった時にそれを捨てて rb_any_to_s() で文字列化するようにしていましたが、この制限はもう不要そうなのでチェックからはずしています。

[95ac235537] git 2020-05-11 16:15:45 UTC

version.h の日付更新

[42abad2464] Yusuke Endoh 2020-05-11 17:12:06 UTC

Float#** で引数が 2 だった時にショートカット演算するパスを追加しています。

[d39be242ba] aycabta 2020-05-11 10:51:29 UTC

標準添付ライブラリ reline のテストで出力側も pipe に繋いでテストするようにしています。とりあえずまだ使われてはなさそう。

[7a7854d8c1] aycabta 2020-05-11 15:51:47 UTC

標準添付ライブラリ reline の Reline::ANSI.cursor_pos で IO#pread が Errno::ESPIPE を返した時の対応を追加しています。 d39be242ba795e34c1907c4d88329b15ad2838bd のテストで出力にも pipe を渡すようにしたので発覚したのでしょうね。

[3fcf7f0271] Nobuyoshi Nakada 2020-05-10 05:54:16 UTC

win32/mkexports.rb で export しない関数名のパターンの正規表現に threadptr と _ec_ (rb_execution_context_t 関連の)がついてるものも含めるようにしています。

[237bee9d40] Nobuyoshi Nakada 2020-05-12 01:21:05 UTC

include/ruby/assert.h の RUBY_ASSERT_FAIL() マクロの展開時に引数を #expr で文字列化するのではなく、引数にそもそもメッセージに入れる文字列リテラルを書かせるように変更しています。使ってるところ一箇所しかなかったようですね。

[7cc55f4bc4] Kazuhiro NISHIYAMA 2020-05-12 02:46:41 UTC

Thread#backtrace の rdoc 用コメントの call-seq に nil がかえることもあることを追記しています。

[946dadd3f4] Yuki Nishijima 2020-05-12 03:24:39 UTC

標準添付ライブラリ did_you_mean に upstream から変更をマージしています。 require の名前が間違っている時にも候補を出すようにしてくれるようです。

[31af0dafba] Stephen Touset 2014-04-18 20:42:02 UTC

標準添付ライブラリ net/http に Net::HTTP#extra_chain_cert メソッドを追加して OpenSSL::SSL::SSLContext の extra_chain_cert の参照や設定ができるようにしています。 [ruby-core:62090] [Feature #9758]

[1d2fc91237] Kazuhiro NISHIYAMA 2020-05-12 04:25:22 UTC

31af0dafba6d3769d2a39617c0dddedb97883712 の追加に配列リテラル内の要素追加時の "," が漏れてて文法エラーになってたのを修正。

[d1748484e8] Nobuyoshi Nakada 2020-05-10 05:58:55 UTC

tool/extlibs.rb の libffi などの同梱パッケージのバージョン番号を切り出す処理を Vars という専用のクラスに切り出しています。

[3150b97d32] Nobuyoshi Nakada 2020-05-10 06:00:36 UTC

tool/extlibs.rb で extlibs ファイルの A -> B のような記法で symbolic link を作る処理に対応しています。

[317fdd6df2] Nobuyoshi Nakada 2020-05-10 22:52:47 UTC

3150b97d3261025955561e40ec781723ddc716fb での tool/extlibs.rb の a -> b 記法の対応を利用して ext/fiddle/extlibs に config.guess と config.sub の symbolic link 作成の設定を追加しています。

[ee518cf077] Nobuyoshi Nakada 2020-05-12 07:22:41 UTC

946dadd3f479198e87873a863d15c7660a8e2b56 の did_you_mean の更新を revert しています。 rubygems の require 関連のテストが失敗してしまうとのこと。

[b16acf8baa] 卜部昌平 2020-05-11 09:37:08 UTC

GitHub Actions の設定で独自に git checkout をコマンドで記述していたのを公式の actions/checkout@v2 を利用するようにしています。

[2e7d886311] Yusuke Endoh 2020-05-12 08:47:27 UTC

MJIT のテストが CentOS 8 でもうまく通らないそうでとりあえず pending するリストに追加しています。

[693f7ab315] Nobuyoshi Nakada 2020-05-12 06:50:15 UTC

String#split は引数の pattern のクラスや内容によって分割方式を変えてましたが正規表現が渡された時にそれが // (空文字列)や / / (空白1つ)などの典型的なパターンの時に文字ごと分割や awk 方式として扱うことで少し最適化しています。 [ruby-core:98272] [Feature#15771]