ruby-trunk-changes r67650 - r67693

今日は GC.compact 関連のテストの修正というか skip やパターンマッチのテストケース追加、reline の再修正からの一旦 revert、tool/merger.rb の trunk の git リポジトリ対応などがありました。

tenderlove: r67650 2019-04-21 07:25:59 +0900

GC.compact で object_id の衝突を検出するテストですが Travis-CI と Wercker だけでなく常に skip するようにしています。

k0kubun: r67651 2019-04-21 10:06:25 +0900

README.md を README.ja.md のレイアウトとあわせるように修正しています。 svn hook のテストのために無難なコミットをしたみたいです。

svn: r67652 2019-04-21 10:39:09 +0900

version.h の日付更新。

ktsj: r67653 2019-04-21 11:18:28 +0900

compile.c のパターンマッチの構文をコンパイルする iseq_compile_pattern_each() で Array pattern の * で可変長の末尾を受容するパターンの命令を出力するところで post_args_num が正の時しか通らないところで use_rest_num のチェックは冗長だったので(おそらく)削っています。

nobu: r67654 2019-04-21 11:33:14 +0900

reline のテストで require してる名前を "test-unit" から test/unit" に変更しています。 gem のバージョンの test-unit でも require する時の名前は test/unit ですよね確か。

svn: r67655 2019-04-21 11:33:15 +0900

r67654 でさわったファイルの svn property を設定。

ktsj: r67656 2019-04-21 11:43:31 +0900

パターンマッチの array pattern のテストにテストケースを追加しています。

kazu: r67657 2019-04-21 11:51:03 +0900

gc.c の冗長なキャストを削除しています。

k0kubun: r67658 2019-04-21 11:58:10 +0900

tool/merger.rb のコマンド引数にはふだん使ってない記法があったので、削っています。 usa さんも使ったことないって言っていたのでたぶん今使っている人はいないはず。 trunk の git 移行に向けての布石で余計な仕様は削ろうという意図です。 https://github.com/ruby/ruby/pull/2136

k0kubun: r67659 2019-04-21 11:58:10 +0900

同じく tool/merger.rb で revision の指定に 1234:1235 とか 1234-1235 みたいな範囲指定ができるのですが、git の commit hash 指定だと(できなくはないかもしれないけど)あんまり自明ではなさそうだなということで削っています。こっちは最近でも使うことはあるかとは思いますが、通常は tool/redmine-backporter.rb で生成されたコマンドラインをそのまま使うことが多いので連続してても1つずつ指定することのほうが多いと思うので。 https://github.com/ruby/ruby/pull/2136

ktsj: r67660 2019-04-21 12:11:38 +0900

パターンマッチングのテストにローカル変数の値を展開して Value match する記法のテストを追加しています。

k0kubun: r67661 2019-04-21 12:12:05 +0900

common.mk の tool/ruby_vm に関する依存関係記載についての TODO コメントを削除しています。

nobu: r67662 2019-04-21 12:30:38 +0900

make update-src でローカルのリポジトリ working copy が git の時に最新の commit hash を表示するようにしています。

nobu: r67663 2019-04-21 12:30:48 +0900

reline のテストで RELINE_TEST_ENCODING というトップレベルの定数が環境変数 RELINE_TEST_ENCODING が未定義だと定数自体定義されななったので、定義するけど内容が nil という状態になるようにしています。

hsbt: r67664 2019-04-21 12:31:34 +0900

doc/maintainer.rdoc から ubygems.rb (-r オプションとくみあわせることで -rubygemsrubygems を require できるというみためのための wrapper ライブラリ)についてのエントリを削除しています。

k0kubun: r67665 2019-04-21 12:32:03 +0900

Windows 環境(というか VC コンパイラ?)での警告の抑制のため構造体 struct compile_status のメンバーにつけてた const 修飾子を削除しています。 https://ci.appveyor.com/project/ruby/ruby/builds/23995093/job/qo728n1uorepkx16

usa: r67666 2019-04-21 12:33:05 +0900

r67665 とも関連してそうですが const を外した struct compile_status::inlined_iseqs を memset(3) に渡す時に明示的な void* へのキャストを追加しています。

k0kubun: r67667 2019-04-21 12:35:07 +0900

r67665 のほうは revert しています。 r67666 のほうがより良い修正ということですね。

nobu: r67668 2019-04-21 12:38:52 +0900

reline のテストで setup で cwd を保存しておいて teardown で元に戻すようにしています。

svn: r67669 2019-04-21 12:38:53 +0900

r67668 でいじったファイルの svn property 設定。

ko1: r67670 2019-04-21 12:46:25 +0900

reline のテストで $stdout を StringIO にすりかえてるところで元に戻すのを ensure にしてなかったので例外発生するとそのままになる状態だったのを修正しています。

aycabta: r67671 2019-04-21 12:51:26 +0900

reline のテストがたぶん CI で通らなかったかなにかで一旦全削除しています。

ktsj: r67672 2019-04-21 12:56:42 +0900

パターンマッチの Variable match で多値代入っぽいのがおきた時に同じ変数を複数指定した時の評価順番のテストを追加しています。

k0kubun: r67673 2019-04-21 13:02:24 +0900

README.md に公式の git リポジトリの URL について追記しています。 svn hook のテスト用コミットとのこと。

usa: r67674 2019-04-21 13:52:38 +0900

win32/Makefile.sub で VM 命令の定義からソース生成するコマンドに V=1 で表示するようにするための $$(Q) を先頭につけるようにしています。

usa: r67675 2019-04-21 13:53:44 +0900

r67674 で余分なコメントアウトも入ってしまったのでその部分 revert しています。

kazu: r67676 2019-04-21 13:54:04 +0900

r67673 で README.md に cgit の URL が追記されましたが、レイテンシが小さいと書いてあったけどそれは日本からのアクセスの場合なのでそのように追記しています。

naruse: r67677 2019-04-21 14:37:11 +0900

rb_hash_bulk_insert() を公開 API とするらしく prototype 宣言を internal.h から include/ruby/intern.h に移動しています。

naruse: r67678 2019-04-21 14:48:35 +0900

irb のテストの警告抑制のための $VERBOSE 設定や子プロセス起動する時のコマンドラインオプションの調整。

naruse: r67679 2019-04-21 14:48:35 +0900

標準添付ライブラリ irb でメソッド再定義の警告抑制のため remove_method で一旦定義削除するようにしています。

nobu: r67680 2019-04-21 15:08:00 +0900

r67678 でいじっていた irb のテストでさらに assert_in_out_err の戻り値を利用していなかったので変数への代入を削除しています。

aycabta: r67681 2019-04-21 16:08:26 +0900

r67671 で削除された reline のテストが復活しています。

k0kubun: r67682 2019-04-21 16:08:32 +0900

r67673 および r67676 で README.md に追記した cgit の URL について README.ja.md にも追記しています。

k0kubun: r67683 2019-04-21 16:12:51 +0900

r67682 の cgit についての日本語版 README.ja.md の記述をちょっと変更しています。

k0kubun: r67684 2019-04-21 16:14:59 +0900

README.ja.md の末尾についてた作成日時を削っています。

k0kubun: r67685 2019-04-21 16:17:35 +0900

README.ja.md で半角のカンマが文中に使われてるところがあったのを他とそろえるため全角の文字に変更しています。

k0kubun: r67686 2019-04-21 16:21:55 +0900

README.ja.md の長くなってた行に改行を追加しています。

k0kubun: r67687 2019-04-21 16:27:52 +0900

逆に README.md の不要な改行を削っています。

aycabta: r67688 2019-04-21 16:37:34 +0900

標準添付ライブラリ reline の upstream からのマージ。 テストの helper の require を require_relative に修正する変更再適用しています。

k0kubun: r67689 2019-04-21 17:19:48 +0900

tool/merger.rb の r67569 で廃止した revision の記法を help メッセージから削除しています。

k0kubun: r67690 2019-04-21 17:34:37 +0900

r67677 で include/ruby/intern.h に宣言を移動して公開した rb_hash_bulk_insert() を MJIT 用に precompiled header で公開するためつけてた関数の定義につけてた MJIT_FUNC_EXPORTED を外しています。

aycabta: r67691 2019-04-21 18:13:49 +0900

r67645 の reline の導入と関連する irb の変更を一旦 revert しています。

k0kubun: r67692 2019-04-21 19:01:44 +0900

tool/merger.rb で ChangeLog の conflict を特別に処理している部分は現在メンテナンスされている ruby_2_4 からはもう ChangeLog ファイルは存在していないので削って、ChangeLog の変更をコミットログに追加するのも(最近のコミットではそもそも ChangeLog の編集もないはずなので)削っています。

k0kubun: r67693 2019-04-21 20:49:11 +0900

tool/merger.rb で revision の指定に commit hash も受け付けてその場合 git.ruby-lang.org からパッチを取得して適用するように対応しています。