ruby-trunk-changes 2019-12-29

今日は OpenBSD 向けのビルド修正や Array#rotate! の特定の引数向けの最適化などがありました。

[bb5b8ace8d] Kazuhiro NISHIYAMA 2019-12-28 12:09:52 UTC

33e9601938a79dae149caa88ff1bc06d376dd376 で導入した変数名の typo 修正。

[a04c535967] Jeremy Evans 2019-12-28 08:25:11 UTC

C ソースコード上の関数名に展開されるマクロ RUBY_FUNCTION_NAME_STRING として OpenBSD では configure 時のコンパイルによるチェックによらず __func__ を利用するようにバイパス処理を追加しています。

[290711e1ce] git 2019-12-28 22:13:25 UTC

version.h の日付更新

[8ce5d46e66] Nobuyoshi Nakada 2019-12-28 23:19:43 UTC

ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS マクロの定義で address sanitizer は使えるけど memory sanitizer は使えないという preprocessor の分岐内で memory sanitizer を利用するように指定してしまっていたのを修正しています。

[d7bef803ac] Nobuyoshi Nakada 2019-12-29 01:07:17 UTC

Warning や TracePoint など ruby 実装による組み込みメソッド実装したものを読み込む処理を元の実装のあるソースコードの Init_xxx() から呼び出していたのを rb_call_inits() 内から BUILTIN() というマクロを使って呼ぶようにしています。

[a0d1fd16d1] Seiei Miyagi 2019-12-25 12:55:49 UTC

Dir#each_child の rdoc 用コメントの call-seq に戻り値が nil だと表記されていたのを修正。実際は self が返され、ブロックなしで呼ぶと Enumerator が生成されます。

[e5c441a4a2] Ary Borenszweig 2019-11-29 20:59:47 UTC

Array の要素をずらす Array#rotate! メソッドに引数が 1 または -1 の時のための最適化実装を追加しています。

[31e2f03512] Nobuyoshi Nakada 2019-12-29 07:12:19 UTC

拡張ライブラリ io/console の set_rawmode() で IO.getch の intr キーワード引数が真に指定されてた時の termios のフラグから IXON を消しています。