ruby-trunk-changes 2021-09-27

今日は主に標準添付ライブラリ timeout, reline, irb, base64 などの更新がありました。

[3f7b08d2cb] Jake Zimmerman 2021-09-09 22:35:07 UTC

標準添付ライブラリ reline の Reline::LineEditor に vi_kill_line_prev というメソッドを em_kill_line の alias として追加しています。

[a230ff0f83] aycabta 2021-09-26 16:14:31 UTC

同じく標準添付ライブラリ reline の Reline::LineEditor に unix_line_discard を em_kill_line の alias として追加し、kill_line は ed_kill_line の alias に変更(元は em_kill_line の alias)しています。

[7ba16939bb] git 2021-09-26 16:16:29 UTC

version.h の日付更新

[5c0636bda4] aycabta 2021-09-26 18:03:20 UTC

irb の --help のメッセージや man マニュアルの --echo オプションの説明にかっこの前の空白を追加しています。

[2ae64bf6b9] aycabta 2021-09-26 18:13:21 UTC

irb の rdoc 用コメントのサンプルコードの修正。

[51773bed10] aycabta 2021-09-26 18:14:14 UTC

irb の rdoc 用コメントのサンプルコードの空行追加。

[00cfafc0f5] aycabta 2021-09-26 18:21:39 UTC

irb のドキュメントに --echo-on-assignment、--noecho-on-assignment、--truncate-echo-on-assignment などのオプションについての記述を追加しています。

[582602d142] John Bachir 2021-09-24 21:19:51 UTC

標準添付ライブラリ timeout のテストに Timeout.timeout のブロックの実行がタイムアウトしない時のテストを追加しています。

[f7ffe9dbde] Nobuyoshi Nakada 2021-09-27 05:47:52 UTC

8b48b57fd89ad1bbb1d3b4b8445a65ab2d0b272b の enumerator.c の引数の NULL チェックを #if !RBIMPL_HAS_ATTRIBUTE(nonnull) で囲んでた変更の続きで、この条件で定義が分岐されたマクロ RBIMPL_NONNULL_ARG() というのを導入して、これでチェックすることでチェック箇所に preprocessor の条件分岐が不要なようにしています。

[05a28ce5b1] Joao Fernandes 2021-09-02 14:53:01 UTC

標準添付ライブラリ base64Base64.urlsafe_encode64 で strict_encode64 後にキーワード引数 padding に false が指定されてた時に末尾の "=" を削除するのに String#delete! を利用していましたが、これは "=" が複数あった時に非効率なので Base64 の仕様によってたかだか 2つまでしか末尾の "=" が続かないことを前提にして String#end_with? で細かく条件分岐して String#delete_suffix! または String#chop! を利用して削るようにしています。

[1b004ba0db] Joao Fernandes 2021-09-02 15:57:26 UTC

05a28ce5b11d0e0ca48bae799ef65e9657dc4f6a の続きで標準添付ライブラリ base64Base64.strict_decode64 の padding の "=" 削除を String#chomp! だけ利用するようにしています。String#chomp! に引数をわたすとその部分文字列が末尾にあると消すという挙動になっているのを利用しています。

[f8000e2931] Joao Fernandes 2021-09-24 15:13:40 UTC

標準添付ライブラリ base64Base64.urlsafe_decode64 で "-" と "_" をそれぞれ "+" と "/" に置換するのに String#tr を使っていたのを、末尾に "=" を付加する場合にはその結果を String#tr! を使って破壊的変更するようにして不要な一時オブジェクト生成を抑制しています。

[efa0c31ce5] Nobuyoshi Nakada 2021-09-27 10:02:45 UTC

regparse.c および regerror.c の onig_syntax_warn()、onig_vsnprintf_with_pattern()、onig_snprintf_with_pattern() などの printf(3) のようなフォーマット指示子をもつ引数を受け取る関数の宣言に PRINTF_ARGS() マクロを利用するようにしています。さらにフォーマット文字列に UChar ではなく char を使うように一部変更しています。

[0a38212e57] rm155 2021-07-16 22:23:40 UTC

標準添付ライブラリ timeout の Timeout::VERSION 定数に代入する文字列を freeze するようにしています。