ruby-trunk-changes 2019-07-16

今日は Complex の実装の最適化の続きや Date.iso8601 の不具合(?)修正などがありました。

[6aab77a7a3] Yusuke Endoh 2019-07-15 22:17:57 UTC

compile.c の switch 文の break がないところの fall through コメントふたたび。

[c184a1c261] Yusuke Endoh 2019-07-15 22:18:54 UTC

4b345f9d4bbff2cfc9895155fb0e8f90d1cac816 と同様に compile.c で戻り値を利用していない箇所に NO_CHECK() マクロを利用して Coverity Scan の警告を抑制しています。

[a8e4b7b12f] git 2019-07-15 22:19:52 UTC

c184a1c261209da403db553eef7f7353f7ee5edd のインデントのタブを空白に展開。

[325d546d62] git 2019-07-15 22:19:56 UTC

version.h の日付更新

[34019a22eb] Nobuyoshi Nakada 2019-07-15 22:58:47 UTC

complex.c の f_denominator() の定義を fun1() マクロを使わず直接定義するようにして、メソッド呼び出しを使わないように最適化しています。

[ca524bcd49] Nobuyoshi Nakada 2019-07-15 23:15:05 UTC

complex の f_numerator() の定義も fun1() マクロを使わず直接定義するようにしてメソッド呼び出しを使わないようにしています。

[71d5b4c32e] Nobuyoshi Nakada 2019-07-15 23:25:39 UTC

make commit のルールで 0a711b0edff6eaf978cfc17cdd6a7cc6c17c6686 の tool/vcs.rb から tool/lib/vcs.rb への移動に追随させています。

[8e37ef76f6] Nobuyoshi Nakada 2019-07-15 23:46:38 UTC

同じく make update-man-date のルールでも 0a711b0edff6eaf978cfc17cdd6a7cc6c17c6686 の vcs.rb の移動に追随させています。

[00dc0dae0d] Nobuyoshi Nakada 2019-07-15 23:48:57 UTC

class.c の rb_get_kwargs() のリファクタリング。 関数内で定義されてる関数マクロ extract_kwarg() の第2引数をポインタでなく VALUE 型をそのまま受けて必要なら参照を作るようにして呼び元での分岐を不要にして一時変数の作成などを削っています。

[e2f987e654] git 2019-07-16 00:22:11 UTC

00dc0dae0d7b247a917f5b676a777db86cdf1f3a のインデントのタブを空白に展開。

[75fb0a9afa] Nobuyoshi Nakada 2019-07-16 00:30:58 UTC

拡張ライブラリ date の Date.iso8601 で日を省略した "2019-07" みたいなのもサポート、というかこれまで年-日と解釈されてたのを修正しています。 [ruby-core:74956] [Bug #12285]

[76c6cf2cbc] Nobuyoshi Nakada 2019-07-16 08:23:43 UTC

.travis.yml で make up が失敗した場合に ALWAYS_UPDATE_UNICODE=yes つきでリトライしてたのを、変数の指定は消して --debug つきで make リトライするように変更しています。

[19d592dc82] Nobuyoshi Nakada 2019-07-16 09:41:11 UTC

76c6cf2cbc549dead57725ccd934a42df5bc150d の続きで make up のリトライを 1行のコマンドラインにまとめています。

[8deabcd328] Nobuyoshi Nakada 2019-07-16 09:42:56 UTC

拡張ライブラリ socket の get_afamily() および ai_get_afamily() の引数に const 修飾子を追加。

[e988048e25] Nobuyoshi Nakada 2019-07-16 09:47:35 UTC

Kernel#exec や Process.spawn などの引数の処理でエラー時に例外を発生させるようにするキーワード引数 exception のチェックを rb_execarg_init() から呼び元の rb_execarg_new() に引き上げて、実際にフラグを立てるのは rb_execarg_addopt() に移動しています。サポートしていないメソッド経由の時の ArgumentError を適切に発生させるようにしています。

[d8e23a67c3] Nobuyoshi Nakada 2019-07-16 10:27:22 UTC

Kernel#exec や Process.spawn のオプション引数を処理する rb_execarg_addopt() で真偽値を期待しているオプションについて rb_bool_expected() を利用して true か false しか受け付けないようにしています。