ruby-trunk-changes r59990 - r60002

今日はぼっち演算子の branch coverage 対応、LEGAL ファイルへのライセンス情報の統合、String#partition や String#split などが分割しなかった時に返すものを receiver そのものから dup したオブジェクトにする変更などがありました。

yui-knk: r59990 2017-09-23 09:17:35 +0900

最近追加された拡張ライブラリ coverage の branch coverage 機能ですが、いわゆるぼっち演算子(&.)が実質的には分岐だけど対象になっていなかったので、これにも branch coverage 用の trace 命令を生成するようにしています。

svn: r59991 2017-09-23 09:17:36 +0900

version.h の日付更新。

hsbt: r59992 2017-09-23 11:24:27 +0900

rubygems の LICENSE.txt ファイルの内容を LEGAL の中に転記してファイルは削除しています。

hsbt: r59993 2017-09-23 11:26:10 +0900

r59992 で LEGAL に転載した rubygems のライセンス情報の対象ファイルに lib/ubygems.rb が抜けてたので追加しています。ちなみにこの ubygems.rb ってのは、コマンドラインオプションで ruby -rubygems とすると -r rubygems と require したのと同じように動作するためのショートカット(?)です。今はもうデフォルトで rubygems は require されているので使う機会ないですね。

hsbt: r59994 2017-09-23 11:37:55 +0900

r59992 と同様に今度は bundler のライセンス情報を LEGAL に追記しています。

hsbt: r59995 2017-09-23 11:55:07 +0900

拡張ライブラリ psych の LICENSE ファイルの内容も LEGAL に転載してファイル削除しています。

hsbt: r59996 2017-09-23 11:57:12 +0900

LEGAL ファイルの追加した rubygems, bundler, psych の部分の対象ファイルをリストしているところの書式を他とそろえています。

hsbt: r59997 2017-09-23 13:37:58 +0900

bundler のマージの時に入った bin/bundle_ruby というファイルを削除しています。bundler のテストでこのファイルについてのものは :ruby_repo タグを付けて実行除外するようにしています。

nobu: r59998 2017-09-23 15:49:34 +0900

parse.y の stmt_or_begin のルールの最後にセミコロンが抜けてたのを修正しています。これ抜けててもビルドは通るのか。

nobu: r59999 2017-09-23 15:49:35 +0900

parse.y で識別子っぽいものを処理する parse_ident() で定数か識別子(ローカル変数)かの判定を先頭が大文字かどうかでしていたのを、遅延して is_local_id() の結果をみて判定するようにしています。これって判定結果が変わることがあるのかなぁ。
[追記]rb_enc_symname_type() で同様のセットをしているので、結果は変わらなくてリファクタリングの一種のようです。[/追記]

nobu: r60000 2017-09-23 16:09:05 +0900

String#partition メソッドで分割されなかった時に receiver の String オブジェクトがそのまま返されていたのを、dup した別のオブジェクトを返すように変更しています。 [ruby-core:82911] [Bug #13925]

nobu: r60001 2017-09-23 16:09:06 +0900

r60000 と同様に String#rpartition でも分割が行なわれなかった時に receiver をそのまま返していたのを dup して返すようにしています。 [ruby-core:82911] [Bug #13925]

nobu: r60002 2017-09-23 16:09:07 +0900

r60000 や r60001 と同様に String#split でも分割が行われなかったら receiver がそのまま返されていたのを dup して返すようにしています。 https://github.com/ruby/ruby/pull/1705 [ruby-core:82911] [Bug #13925]