ruby-trunk-changes 2019-12-17

今日は Net::FTP のエラー時の接続の shutdown 処理の追加や 1970年以前の特別なタイムゾーン/時刻での Time.local などでの不具合修正などがありました。

[d8db343a21] Hiroshi SHIBATA 2019-12-16 11:47:02 UTC

rubygems を 3.1.1 に更新しています。

[d6fd39030d] BurdetteLamar 2019-12-13 19:46:54 UTC

ENV#[]= の rdoc 用コメントに不正な変数名や値を指定した時の挙動について説明を追加しています。

[5105240b1e] Yusuke Endoh 2019-12-16 14:20:42 UTC

標準添付ライブラリ net/http のレスポンスを Content-Encoding に従って圧縮する時に Content-Encoding=deflate の場合に Zlib::Inflate.new の引数を変更しています。 zlib の raw deflate モードを使うようにしているそうです。 [ruby-core:69609] [Bug #11268]

[251f5d8226] Yusuke Endoh 2019-12-16 14:39:10 UTC

5105240b1e851410020b3b3f1a2bead7ffdd4291 を revert しています。 RFC 2616 によると Content-Encoding: deflate というのは zlib フォーマットを使うのが正しいので、チケットの報告はサーバーのほうが悪いってことかな。 [ruby-core:69609] [Bug #11268]

[6a75a46053] Richard Viney 2017-01-22 01:50:08 UTC

標準添付ライブラリ pp で文字列化する時に循環参照の検出をする時に Delegator を使っているオブジェクトがあるとうまく検出できない不具合を修正しています。 [ruby-core:79210] [Bug #13144]

[c6b1342d29] git 2019-12-16 15:01:56 UTC

version.h の日付更新

[bba6386d95] Yusuke Endoh 2019-12-16 15:44:32 UTC

test/ruby/test_process.rb の rescue 節に未使用の変数への capture があったので削除しています。

[b12bc3b046] Eric Wong 2019-12-16 18:28:44 UTC

do_select() や rb_wait_for_single_fd() で poll/select が fd の read イベントを検出してない時に check_signals_nogvl() の呼び出しでシグナル通知用の fd からの読み込みを抑制するようにしています。

[95213f6df6] aycabta 2019-12-15 01:29:44 UTC

拡張ライブラリ readline のテストで Readline.completion_append_character= を使うテストを Reline を使ってる時には skip するようにしているのを、Readline.completion_append_character= が定義されているかどうかで判定するようにしています。

[5be34d6a33] "NARUSE, Yui" 2019-12-10 10:25:00 UTC

標準添付ライブラリ net/ftp の Net::FTP#storbinary と Net::FTP#storlines で例外発生時に Socket#shutdown を送信して接続の終了を対向に知らせるようにしています。 [ruby-dev:50881] [Bug #16413]

[5da4a310cc] "NARUSE, Yui" 2019-12-16 15:49:17 UTC

5be34d6a3310065850c0c530db6936415124b5d9 の追加修正で net/ftp のテストでテスト用の FTP サーバーの実装で data connection 用のソケットを close するのがコメントアウトされていたのをはずしています。

[d6a2bce64a] Yusuke Endoh 2019-12-17 01:31:20 UTC

time.c の find_time_t() で time_t 型の値を計算するのに UNIX Time の基準点 1970-01-01 より過去の時刻のばあいに整数の除算の丸め方向の違いによって誤った値になることがある不具合を修正しています。 タイムゾーンを Asia/Kuala_Lumpur にした時に 1933-01-01 の時刻がおかしくなってたそうです。 Asia/Kuala_Lumpur ではタイムゾーンの変更のため? 1933-01-01 00:00:00 という時刻は存在しないんだそうです。 [ruby-core:94866] [Bug #16159]

[ebe5b66ca8] Nobuyoshi Nakada 2019-12-17 01:48:17 UTC

time.c で環境変数 TZ が変更されてた場合に tzset() を呼び出す処理を update_tz() という関数に切り出すリファクタリング

[c687be4bc0] Nobuyoshi Nakada 2019-12-17 02:53:30 UTC

d6a2bce64a7fa1099e507e1d36b5f1533f42f60f の修正のテストを追加しています。 [ruby-core:94866] [Bug #16159]

[a14a0244b4] aycabta 2019-12-17 03:47:09 UTC

標準添付ライブラリ reline でインクリメンタルサーチ中の Ctrl-s による前方検索をサポートするようにしています。

[618d091151] aycabta 2019-12-17 04:10:39 UTC

標準添付ライブラリ reline でインクリメンタルサーチ中に Ctrl-s と Ctrl-r で検索方向を変更したときに挙動を修正しています。

[fbe229906b] Koichi Sasada 2019-12-17 04:14:52 UTC

メソッド呼び出しで inline cache が無効になっていたので再度メソッド探索したら同じ me だった時に cc->call が vm_call_general() じゃなかった時にインクリメントする debug counters を追加しています。

[11db4d3a3b] Nobuyoshi Nakada 2019-12-14 02:05:16 UTC

標準添付ライブラリ reline で ANSI 端末で stty コマンドに渡す設定に -iexten を追加しています。また dsusp を追加するのはやめています。

[a1713bedb1] Thomas Leitner 2019-10-04 08:03:32 UTC

標準添付ライブラリ reline の Reline::LineEditor.completion_append_character= を追加しています。

[64ce658ec5] aycabta 2019-12-17 04:30:54 UTC

95213f6df6a23918d57a743975708c638da42aae と同様に拡張ライブラリ readline のテストで Readline が Reline かどうかでの判定を Readline.completion_append_character= が呼べるかどうかでスキップするかどうか判定するようにしています。

[a9d17af242] Nobuyoshi Nakada 2019-12-10 01:07:00 UTC

拡張ライブラリ io/console で switch 文の break の後に return 文があったので削除しています。

[ec89a0f803] Nobuyoshi Nakada 2019-12-13 03:14:10 UTC

拡張ライブラリ io/console のテストに IO#getch(intr: true) のキーワード引数対応のテストを追加しています。

[81eb2d16ef] Nobuyoshi Nakada 2019-12-13 02:41:31 UTC

拡張ライブラリ io/console の IO#raw などで raw mode に設定する時に :intr オプションが設定されていた時にセットするフラグから IEXTEN を削除しています。

[b39d5da974] Yusuke Endoh 2019-12-14 10:15:02 UTC

拡張ライブラリ io/console で端末のモード変換時に tcsetattr(3) で端末の設定変更する時にオプションに TCSAFLUSH のかわりに TCSANOW を指定して、端末のバッファに残っている入力を消してしまわないようにしています。

[e36319249b] Nobuyoshi Nakada 2019-12-17 04:57:58 UTC

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

[4f9a4c1a8f] aycabta 2019-12-17 04:47:06 UTC

618d09115185efa05f6948247d86087f4aa96118 のインクリメンタルサーチの Ctrl-s, Ctrl-r の対応のリファクタリング。不要な分岐を削除しています。

[9421c78041] Nobuyoshi Nakada 2019-12-16 03:33:13 UTC

標準添付ライブラリ logger の rotate の period に不正な値を渡した時のテストで Logger.new していたのが不要な一時ファイルが残るということで Logger::Period.next_rotate_time を直接呼んでテストするようにしています。

[8f52604b47] Masataka Pocke Kuwabara 2019-12-08 15:48:13 UTC

標準添付ライブラリ pathname の Pathname#root? の実装で戻り値を真偽値にするために !! を使ってましたが、この右辺は常に true か false に限られるため不要なので消しています。

[d616926af9] aycabta 2019-12-17 05:20:51 UTC

618d09115185efa05f6948247d86087f4aa96118 の reline のインクリメンタルサーチの Ctrl-s/Ctrl-r の利用のサポートの変更の不要な変数を削除するリファクタリング

[ea717d1ce1] 卜部昌平 2019-12-17 04:22:24 UTC

ba11a74745e10fac88a74c2da2e0032ccf254265 で導入した vm_insnhelper.h の CC_SET_ME() の定義を関数マクロから inline 関数に書きなおしています。また CC_SET_FASTPATH() というマクロも inline 関数に書きなおしています。

[b226a68141] mihaibuzgau 2019-12-16 12:42:34 UTC

rubygems の Gem::Source#initialize に require "uri" を追加して遅延ロードするようにしています。

[65731a1330] Nobuyoshi Nakada 2019-12-17 08:18:42 UTC

test/excludes/TestIO_Console.rb に ec89a0f8033215817d9c6f9300d9513178e785b7 で追加した IO の :intr オプションのテストを除外するように追加しています。 Travis-CI でうまく動かないらしいです。

[9d3ffcfbfc] Koichi Sasada 2019-12-17 11:22:00 UTC

88135845f10f4b8ea3b67584a2c899ad365fd6bb で vm_core.h の def_iseq_ptr() で VM_CHECK_MODE によらず常に有効にしてたチェックをまた VM_CHECK_MODE が 1以上のときだけ行うように戻しています。 ba11a74745e10fac88a74c2da2e0032ccf254265 で修正した不具合のためにチェックするようにしていたそうです。