ruby-trunk-changes 2019-10-31

今日は各種ライブラリでの taint フラグの扱いをやめる変更の続きや racc の upstream からのマージなどがありました。

[d3272fcba3] Hiroshi SHIBATA 2019-10-30 12:00:01 UTC

tool/sync_default_gems.rb で racc の upstream のディレクトリ構造変更で JRuby 向け jar ファイルなどが含まれてるのを削除するように対応しています。

[e6d611ad37] Hiroshi SHIBATA 2019-10-30 12:01:30 UTC

racc のテストで racc が生成するソースコードの fixture を生成しなおしています。行末の空白が入るようになったんですね。

[6c3ed0d71c] Hiroshi SHIBATA 2019-10-30 12:36:59 UTC

racc のソースコードの $Id:$ の展開される commit hash を更新しています。

[4c7f789e94] Alan Wu 2019-10-30 00:08:01 UTC

Struct.new に keyword_init: true を渡して作った Class の initialize で2つの引数を渡してもエラーにならない不具合を修正しています。

[5f8795a07b] git 2019-10-30 15:38:16 UTC

version.h の日付更新

[1c03026ea3] Hiroshi SHIBATA 2019-10-30 12:38:55 UTC

racc のテストで minitest のかわりに test/unit を使うようにして assert_output_unchanged という assertion を使っていたところをコメントアウトしていたのを実行するようにしています。 GitHub Actions 上では結果が変わってしまうので実行しないようにしていたりして、結果が安定しなくて大変そう。

[8540efd342] Hiroshi SHIBATA 2019-10-30 13:17:01 UTC

1c03026ea3cd90cbc37eb4c612aca3c6129032c8 でスキップするのは GitHub Actions の時という条件ではなくプラットフォームが Linux の時に変更しています。

[e08f2e47e3] Hiroshi SHIBATA 2019-10-30 21:57:06 UTC

8540efd3429c51682d2d0822935163f0930826b9 の再修正で、Linux の時にスキップするのではなく macOS 以外の時にスキップするように修正しています。元になるテストの fixture が macOS 上で作られたものなんでしょうかね。

[e1bf29314f] Aaron Patterson 2019-10-30 23:28:21 UTC

GC.compact の実装 gc_compact_after_gc() でオブジェクトの移動によってある page にオブジェクトが詰められて空の slot がなくなってしまった場合にその page が free_page のリストに繋がってるのはおかしいので、リストを再構築して一杯になった page は外すようにしています。なのですが次で revert されています。

[79d96b42df] Aaron Patterson 2019-10-31 01:05:32 UTC

e1bf29314feee6aaf535917da0178e868e7ff3fa の gc_compact_after_gc() の変更を revert。

[c38ba75780] Hiroshi SHIBATA 2019-10-31 01:18:57 UTC

tool/sync_default_gems.rb の拡張ライブラリ json の ext/json/depend の変更を無視するのと ext/json/lib/json/pure の内容を削除するようにしています。

[bc7fbb6f02] Martin Dürst 2019-10-31 06:19:59 UTC

NEWS ファイルに Unicode Emoji のバージョン更新について追記しています。

[290903dba0] Jeremy Evans 2019-10-18 19:45:15 UTC

拡張ライブラリ zlib で String の taint フラグの伝播をしているところを削っています。

[b93ab7d693] Jeremy Evans 2019-10-18 19:22:03 UTC

拡張ライブラリ gdbm でも戻り値を taint しているのを削っています。

[39281d5774] Hiroshi SHIBATA 2019-08-03 10:37:07 UTC

拡張ライブラリ gdbm の gemspec ファイルで development dependency を書いてたのを削っています。

[e4cd0d7287] Jeremy Evans 2019-10-18 16:36:11 UTC

標準添付ライブラリ fileutils で不要な untaint 処理を削ってますが、古い ruby 向けの分岐も残しています。

[fce940aac7] glaszig 2019-08-09 00:41:47 UTC

拡張ライブラリ date で Date.new で不正な値に対する例外を ArgumentError から Date::Error という新規追加した ArgumentError を継承した例外を発生させるようにしています。継承してるから互換性の問題は大きくなさそうですね。

[3895e548bd] Jeremy Evans 2019-10-27 01:20:46 UTC

af01edd7d8575f544f647dbe8cde5b6ae535d459 で Date#inspect から暦の種類とかの情報を削ったのを revert しています。

[ebc884461b] Jeremy Evans 2019-10-18 19:39:49 UTC

拡張ライブラリ stringio で taint フラグの伝播処理を削っています。

[473882e01f] Hiroshi SHIBATA 2019-10-31 07:50:00 UTC

rubyspec の stringio の taint フラグの扱いについてのテストを一旦 2.7 以前でのみ実行するようにしています。

[5f6fbf8725] Yusuke Endoh 2019-10-31 08:11:23 UTC

473882e01f7e55753733e2607ace633b5041f11f の rubyspec の guard 追加で do .. end ブロックの do を書き忘れてたところを修正しています。

[d6ed7a984c] Jeremy Evans 2019-10-27 22:23:05 UTC

irb -w オプションをつけると irb 自身というか reline が警告を発するのを修正。未初期化のインスタンス変数の参照の警告が出てたので attr_reader によるメソッド経由でアクセスするようにしています。 [ruby-core:95552] [Bug #16281]