ruby-trunk-changes r66778 - r66793

今日は tool/make-snapshot が trunk に対応できなくなっていた不具合の修正や C99 に対応するようになったので一部のソースで bool という型や true/false などの定数を使うようにする変更などがありました。

k0kubun: r66778 2019-01-10 23:31:18 +0900

C99 が許されるようになったので r66775 の MJIT 関係のソースの bool 型と TRUE/FALSE の true/false への変更のやりなおし。いくつか typo 修正があるようです。

nobu: r66779 2019-01-10 23:44:11 +0900

configure で --with-jemalloc が指定されても jemalloc/jemalloc.h ヘッダがなかったら無効にするようにしています。 [ruby-core:90964] [Bug #15520]

k0kubun: r66781 2019-01-10 23:55:24 +0900

[Bug #15522] で報告されている MJIT のテストの出力が ``` を使っていて Redmine に貼られるとその記法と衝突して code block が打ち消されてしまうので、""" を使うように書き換えています。

k0kubun: r66782 2019-01-11 00:00:40 +0900

r66768 のスタイルと変数宣言の位置の変更は C99 が許容されるようになって変数宣言の位置の修正がいらなくなったので revert しています。 [ruby-core:90089] [Misc #15347]

svn: r66783 2019-01-11 00:00:42 +0900

version.h の日付更新。

k0kubun: r66786 2019-01-11 00:02:35 +0900

addr2line.c で -Wpedantic というオプションを無視させるような #pragma が使われてましたが .travis.yml で -ansi を -std=c99 に変更して不要になったということで消しています。

k0kubun: r66787 2019-01-11 00:42:44 +0900

逆に addr2line.c に -Wgnu-empty-initializer を無視させる pragma を追加しています。また構造体のコメントを /* */ から // による行コメントに置き換えています。

tenderlove: r66788 2019-01-11 02:28:13 +0900

doc/syntax/refinements.rdoc に send や respond_to? には Refinements はきかないと書かれてましたが、これはもうきくようになってしまったので消して、Kernel#method や Object#methods には効かないと変更されていす。
ふーむ、つまり次のターゲットは……?

nobu: r66789 2019-01-11 10:18:59 +0900

ruby 自体のテスト用のライブラリ EnvUtil に子プロセスの後始末をするメソッド terminate を invoke_ruby から切り出して定義して、Process.wait と Timeout を組み合わせたテストで子プロセスが残る場合があるところの後始末に使うようにしています。

kazu: r66790 2019-01-11 13:58:33 +0900

r66599 あたりで RUBY_VERSION マクロの定義位置とかを変更した影響か(?) trunk が make-snapshot で失敗していたそうなので、その対応をしているようです。あの変更よく動機がわからなかったんだよな。

nobu: r66791 2019-01-11 16:50:23 +0900

r66772 のブロックなしの proc メソッドなどで警告を出す変更で rubyspec のテストのバージョンによる分岐を修正しています。

nobu: r66792 2019-01-11 17:44:41 +0900

r66772 の rubyspec の修正の r66791 のさらに再修正。 ruby のバージョンが 2.7 の時のみ警告を match させる正規表現を代入してそうでない時は空文字列にしてましたが、なぜかこの空文字列を変数にセットしておくのをやめています。なんでだろ?

nobu: r66793 2019-01-11 18:36:49 +0900

r66772, r66791, r66792 のさらに続きで、やっぱりブロックなしの proc 呼び出しの警告のチェックは削っています。うーんなんだったんだろう。