ruby-trunk-changes 2019-12-10

今日は Net::HTTP.start の :ipaddr オプションの proxy 対応や標準添付ライブラリ racc や io/console の更新、reline の設定機能の強化などがありました。

[c2dc27d643] "NARUSE, Yui" 2019-12-09 11:48:35 UTC

54072e329cab7207fba133caba4fc12b45add8f9 の追加修正で Net::HTTP.start のオプションを渡さない時にエラーにならないようにしています。

[f45c0dc239] Jeremy Evans 2019-12-05 19:01:20 UTC

Proc#ruby2_keywords というメソッドを追加しています。Method と同様に keyword splat と通常引数の相互変換のサポートを延命するためのものだと思います。正直 ruby2_keywords の仕様忘れてしまった。

[562fd754b5] git 2019-12-09 15:10:44 UTC

version.h の日付更新

[6a22b2a091] aycabta 2019-12-09 22:01:26 UTC

標準添付ライブラリ reline の Reline.completion_case_fold/.completion_case_fold= メソッドを Reline::Config をバックエンドにするようにして、設定ファイルで completion の大文字小文字の区別有無の指定を受付けるようにしています。

[660388f6c5] Yusuke Endoh 2019-12-10 00:41:33 UTC

54072e329cab7207fba133caba4fc12b45add8f9 で追加した Net::HTTP のテストで proxy の設定の後始末をするため test/net/http/test_http.rb で定義してた utility メソッドを test/net/http/utils.rb のモジュールのメソッドに移動して共有するようにしています。

[c50d9dc67d] Yusuke Endoh 2019-12-10 02:26:22 UTC

f45c0dc23980d7fd8167d290ea7c354cf2cdb500 で追加したテストで yield に *rest のように splat 引数を渡しているところが警告になってたので明示的なかっこをつけるようにしています。

[ec931ee9e1] 卜部昌平 2019-12-10 02:42:29 UTC

include/ruby/intern.h に struct timespec の宣言を追加しています。環境によってはここまででこの構造体の宣言がない可能性があるのでここでしておく必要があるかもしれないとのこと。

[cd35c09540] Nobuyoshi Nakada 2019-12-10 03:11:37 UTC

GitHub Actions の cygwin 版で autoconf や configure などの実行に bash の -c オプションをつけてたのをやめています。また bash.exe と書いてたところはただの bash にしています。

[129c3216d9] Nobuyoshi Nakada 2019-12-10 03:11:56 UTC

GitHub Actions の cygwin 版で cygwinsetup.exe でインストールするパッケージから libcrypt-devel, libedit-devel や libcurses-devel, tcl-tk-devel など不要になっているパッケージを消しています。

[7be550d046] Kazuhiro NISHIYAMA 2019-12-10 03:41:09 UTC

標準添付ライブラリ drb の DRb::ThreadObject#kill で Thread#kill を呼ぶだけでなく join も呼んで終了するまで待つようにしています。また drb のテストの後始末に DRb::DRbConn.stop_pool の呼び出しをいくつか追加しています。

[3ca3c8d768] Yusuke Endoh 2019-12-10 05:15:35 UTC

lib/net/http.rb のインデントの修正のみ。

[1bdabaa6b1] Konstantin Papkovskiy 2017-08-15 14:35:58 UTC

標準添付ライブラリ base64Base64.urlsafe_encode64 で破壊的メソッドを利用して中間オブジェクトの生成を抑制するちょっとした最適化を行なっています。

[0c2787b9b2] Nobuyoshi Nakada 2019-12-10 01:05:25 UTC

拡張ライブラリ io/console のバージョンを 0.5.0 に更新しています。

[09723b98f7] Nobuyoshi Nakada 2019-12-10 01:08:43 UTC

拡張ライブラリ io/console の IO#getch で 5a404efd29d255402e30f4f23a09d4e5398600b8 で追加した Windows 環境での :intr オプションが指定されてない時に警告を表示するようにしています。

[f9c0fe77c0] Nobuyoshi Nakada 2019-12-10 01:09:33 UTC

拡張ライブラリ io/console でブロックする処理で GVL を解放するのに rb_thread_io_blocking_region() を使っていましたが、これは deprecated ということで(そうだっけ) rb_thread_call_without_gvl() を使うように書き換えています。

[2419b3dba6] Nobuyoshi Nakada 2019-12-10 01:44:21 UTC

標準添付ライブラリ io/console の未使用変数警告抑制のための (void) つきで参照する文の追加。

[58e5ab78d0] Nobuyoshi Nakada 2019-12-10 06:26:14 UTC

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

[43544f8617] Hiroshi SHIBATA 2019-12-10 08:03:13 UTC

tool/sync_default_gems.rb で racc の同期の処理で racc.gemspec のコピーが漏れてたのを追加しています。

[e27d2013db] Hiroshi SHIBATA 2019-12-10 08:03:46 UTC

racc を upstream からマージしています。バージョン 1.4.16 に更新されています。

[60c53ff6ee] Yusuke Endoh 2019-12-10 08:10:23 UTC

156fb72d7015b420c57b0bd230693f52d8d75b32 で 2.7 からのキーワード引数の警告の重複を抑制するために ISeq に通し番号をあてるための fresh_iseq_unique_id や struct rb_iseq_constant_body::iseq_unique_id の型を unsigned long から uintptr_t に変更して、ポインタにキャストするのでなく結局 st_lookup() に渡すので st_data_t で持ち回るようにしています。

[fe0df7dcfc] aycabta 2019-12-10 08:27:43 UTC

標準添付ライブラリ reline の Reline::LineEditor#retrieve_completion_block の返す文字列の Encoding を @encoding にそろえるようにしています。

[c596e01a49] Yusuke Endoh 2019-12-10 09:05:51 UTC

SECURITY.md を .github/SECURITY.md に移動しています。ここでもいいらしいです。

[8299bcd946] Yusuke Endoh 2019-12-10 09:18:04 UTC

.indent.pro というファイルがあったのを削除しています。 indent コマンドの設定ファイルみたいですね。

[79d2a1b004] Hiroshi SHIBATA 2019-12-10 09:41:05 UTC

標準添付ライブラリ racc のテストに含まれている生成ファイルに埋め込まれてる racc のバージョン番号が古いままなので更新しています。

[aedbee52c0] Nobuyoshi Nakada 2019-12-10 09:49:53 UTC

defs/gmake.mk の最新リビジョンを得るためのコマンドで cd が直書きされていたところを $(CHDIR) を使うように修正しています。

[af11efd377] "NARUSE, Yui" 2019-12-10 10:06:13 UTC

54072e329cab7207fba133caba4fc12b45add8f9 の Net::HTTP.start のオプションの :ipaddr 対応が proxy が有効な時に効いてなかったので proxy 経由の時も ipaddr の指定を利用するように修正しています。