ruby-trunk-changes 2019-04-23

今日は rubyリポジトリの trunk が git がメインになったので、その関連の変更(のテストのためのドキュメントなどの無難な変更)が主でした。あと GC.compact の関連の修正や RUBY_REVISION を commit hash の文字列にする変更などがありました。
リポジトリが git になったのでリビジョン番号やアカウント名などもなくなったので、各エントリの見出しやタイトルもちょっと変わっています。

e949c084b5 Takashi Kokubun 2019-04-22 10:06:03 +0900

4c570abf77 の README.md のリポジトリの記述の順番変更を README.ja.md にも適用しています。

b26a7c8d86 svn 2019-04-22 10:06:50 +0900

e949c084b5 の行末の空白削除。

beaddd1d32 NAKAMURA Usaku 2019-04-22 11:33:56 +0900

win32/README.win32 の nmake up のコメントから svn のサポートについての記述削除。またサンプルで test のかわりに exam を使うようにしています。

6013e41a7b Kazuhiro NISHIYAMA 2019-04-22 11:39:08 +0900

.travis.yml から 2.3 でのビルドを消しています。

f005ccc771 Shugo Maeda 2019-04-22 17:15:49 +0900

Comparable の各種メソッドの rdoc 用コメントで <=> メソッドの戻り値の扱いについてより正確に記述するようにしています。 [ruby-core:91650] [Misc #15630]

ae3f38dc53 Kazuhiro NISHIYAMA 2019-04-22 19:02:17 +0900

doc/contributing.rdoc のリポジトリについての記述を git メインに更新しています。

184447d91c SHIBATA Hiroshi 2019-04-22 19:37:22 +0900

ViewVC も停止されたみたいなのでその URL を含んだ include/ruby/vm.h のコメントの MVM ブランチについての記述を削除しています。

6a2c8e46f6 SHIBATA Hiroshi 2019-04-22 20:00:32 +0900

test/minitest/test_minitest_unit.rb の revsion の参照も ViewVC から GitHub に変更しています。

c697bade0f SHIBATA Hiroshi 2019-04-22 20:01:07 +0900

.gitignore に拡張子 .vscode のファイルを追加しています。

dd0b516399 Kazuhiro NISHIYAMA 2019-04-22 21:02:28 +0900

doc/contributing.rdoc のビルドに必要なライブラリなどの記述から標準添付からtkが外れたのでTcl/Tkの記述を消しています。

5da52d1210 Takashi Kokubun 2019-04-22 21:27:34 +0900

version.h の RUBY_REVISION を commit hash の先頭10桁の文字列として定義するように変更しています。
tool/file2lastrev.rb で書き変えるんですが、これ merger.rb から trunk のを呼ばれるとまずいな、と思いましたが merger.rb が file2lastrev.rb を呼ぶ時はカレントディレクトリからの相対パスで呼ぶので安定版ブランチからは古いのを呼ぶから大丈夫そうですね。

87261cf59f Kazuhiro NISHIYAMA 2019-04-22 21:45:13 +0900

5da52d1210 で tool/vcs.rb のコミットログ取得のコマンドでHEADだけでなく複数のコミットに対応するようにしています。

4cd67a848a Takashi Kokubun 2019-04-22 22:00:48 +0900

5da52d1210 の RUBY_REVISION の変更で rubyspec がエラーになってたので spec を変更しています。

8c689e216f Kazuhiro NISHIYAMA 2019-04-22 22:45:32 +0900

Array#union の rdoc 用コメントの call-seq で戻り値がコピーであることがわかるようにレシーバと別の名前にしています。 https://github.com/ruby/ruby/pull/2084

6fbf4e22c8 Kazuhiro NISHIYAMA 2019-04-22 23:11:32 +0900

Bindingクラスのrdoc用コメントにset_trace_func について書かれてる部分に TracePoint への言及も追記。もうset_trace_funcのほうは消しても良さそう。 https://github.com/ruby/ruby/pull/2079

98ee63693d Aaron Patterson 2019-04-22 18:19:40 -0700

GC.compact 対応で iseq.c の Symbol を VALUE 型の変数に格納していたのをやめて ID で保持するようにしています。
GC.compact で移動しても変数からの参照が移動できないので不正アクセスになるということみたいです。
RubyVM::InstructionSequence#to_a でダンプする時などその時点でオブジェクト化するようにしています。

a8d4dc287f git 2019-04-23 10:19:47 +0900

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

a9b57862bd git 2019-04-23 10:19:53 +0900

version.h の日付更新。

9cdb736672 Nobuyoshi Nakada 2019-04-23 10:24:31 +0900

parse.y のセミコロンが抜けてたのを追加しています。

660c071659 Urabe, Shyouhei 2019-04-23 10:27:44 +0900

tool/ruby_vm/views/_copyright.erb のコメントの重複した空白の除去やtypo修正。

ea520ca927 Aaron Patterson 2019-04-22 20:08:01 -0700

これも GC.compact 対応で rb_define_class() や rb_define_module() で定義した Class/Module のオブジェクトを rb_vm_t::defined_module_hash で Hash で管理していたのを ID をキーにした st_table で管理するようにしています。コミットログによると Symbol で管理してたので衝突時に参照が消えてることがあったようです。そうすると GC の mark 漏れが置きそうなものですが、たいていそういうのは static 変数にも格納していて、mark の root になっていたので問題が表出していなかったのでしょう。

ae07b66aaa Seiei Miyagi 2019-04-23 12:16:14 +0900

lambdaのキーワード引数のデフォルト値に @1 などのデフォルトブロックパラメーターを書くことができてしまっていたのを修正して SyntaxError にしています。

6ca9e7cc07 Seiei Miyagi 2019-04-23 12:16:15 +0900

ae07b66aaa092c59ac9d544c9b582712290dc357 と同様に lambda の省略可能引数のデフォルト値にもデフォルトブロックパラメーターが書けてしまってたのを SyntaxError にするように修正しています。

5a58318a90 Aaron Patterson 2019-04-22 20:33:16 -0700

拡張ライブラリ objspace の type2sym() で GC.compact で追加した T_MOVED に対応しています。

e50e60b96a git 2019-04-23 12:34:10 +0900

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

2e1ac22089 Aaron Patterson 2019-04-22 20:39:03 -0700

78d3e4396d3c2ca53875fdbc9a24032d6eebf4f6 でうっかり gc_verify_compaction_references() に rb_gc_disable() を追加したままコミットしてしまっていたのを削っています。

4946c3e4b5 Kazuhiro NISHIYAMA 2019-04-23 14:09:45 +0900

.gitattributes に tool/format-release の diff のタイプについて追加しています。こんな指定できるのか。

0d41adf6e2 Nobuyoshi Nakada 2019-04-23 14:12:36 +0900

complex.c の f_divide() で real/imag のそれぞれに rb_rational_canonicalize() 呼んで引数にしてたところを一旦ローカル変数に受けとるようにするリファクタリング

18eb9e5855 Nobuyoshi Nakada 2019-04-23 15:13:36 +0900

rubyspec の RUBY_REVISION のテストが仕様変更でこけるので 2.7 を除外するために追加した ruby_version_is の guard の書きかたをちょっと変更しています。
これって実際違いあるんだっけ。

2fb83a0af7 Nobuyoshi Nakada 2019-04-23 15:39:36 +0900

tool/vcs.rb で GIT クラスから git-svn で操作するメソッドを GITSVN というクラスに切り出しています。

2ae5f6f97c Nobuyoshi Nakada 2019-04-23 15:43:51 +0900

2fb83a0af7a49788e80c55fd324dfa8e046cd9d9 の続きで tool/vcs.rb の GIT クラスのメソッド commit の実装を追加しています。
git svn dcommit ではなく単に git push するようにしています。 公式リポジトリの git 化の対応ですね。

87cf45a512 Kazuhiro NISHIYAMA 2019-04-23 16:50:15 +0900

configure.ac のコメントの typo 修正。