ruby-trunk-changes r67606 - r67618

今日は昨日の $; に続いて $, にも値が入ってて使われると警告を出すようにする変更や、Time.now でタイムゾーンを指定するためのオプション引数の追加などの変更がありました。

nobu: r67606 2019-04-19 06:56:55 +0900

r67603 の String#split での $; の参照時の警告と同様に Array#join で引数が省略された時にデリミタとして $, を使った時に nil 以外の値が入っていたら警告を出力するようにしています。こういう特殊変数による暗黙的な挙動の変更を全体的にやめる方向にしようっていうことみたいですね。

svn: r67607 2019-04-19 06:57:09 +0900

version.h の日付更新。

nobu: r67608 2019-04-19 07:24:03 +0900

parse.y でコマンドラインオプション -p や -n が指定されててワンライナーでフィルタのように挙動するモードの時に文字列を行に分解するのに String#split を呼んでいましたが、これが暗黙のうちに $; を使うようになってたので明示的に引数に渡すように修正して警告を除去しています。

nobu: r67609 2019-04-19 07:30:01 +0900

同じく fake.rb のテンプレートである template/fake.rb.in 内でも String#split に引数省略して呼んでるところがあったので明示的に指定するようにしています。

tenderlove: r67610 2019-04-19 15:21:55 +0900

gc_mark_children() でオブジェクトからの参照の GC mark を伝播させる所で T_CLASS/T_MODULE/T_ICLASS などのオブジェクトで super の指すクラスを mark する時に NULL じゃないかチェックするようにしています。 super が NULL ってあるのか。

k0kubun: r67611 2019-04-19 17:44:22 +0900

README.md の英文の修正など。 svn hook のテスト用に pull req をマージしたみたいですが、pull req の番号の参照の埋め込みに失敗しているようですね。 たぶんこれ https://github.com/ruby/ruby/pull/2004

svn: r67612 2019-04-19 17:44:23 +0900

r67611 の行末の空白除去。

nobu: r67613 2019-04-19 17:53:40 +0900

Time.now に :in というオプション引数を追加して、どのタイムゾーンで Time オブジェクトを生成するかを指定できるようになっています! これ欲しかった人は結構多いのではないでしょうか。

k0kubun: r67614 2019-04-19 18:00:26 +0900

r67611 を revert しています。 svn hook のテストのためだったのでコミットログの埋め込み失敗をやりなおすため。

k0kubun: r67615 2019-04-19 18:09:46 +0900

ということで r67611 を再度適用しています。今度はちゃんと pull req の URL が展開されました。 https://github.com/ruby/ruby/pull/2004

k0kubun: r67616 2019-04-19 18:23:13 +0900

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

nobu: r67617 2019-04-19 19:45:16 +0900

template/prelude.c.tmpl でインタプリタに埋め込む文字列を UTF-8 文字列としてオブジェクト化して、内容を置換する時に force_encoding で ASCII-8BIT に変換して処理するようにしています。埋め込むスクリプトUTF-8 の文字列を使えるようにしているようです。

nobu: r67618 2019-04-19 19:55:07 +0900

README.md の余分な空行を削除。