ruby-trunk-changes r65498 - r65515

今日は bundler の default gem としての追加、Matrix/Vector の mutable オブジェクト化、標準添付ライブラリでの require_relative 利用などの変更がありました。

k0kubun: r65498 2018-11-02 21:21:59 +0900

README.md の CI のステータスバッジに Wercker のぶんも追加しています。

naruse: r65499 2018-11-02 22:30:48 +0900

標準添付ライブラリ drb のテストでわざと Timeout::Error を発生させるテストが ARM の CI でハングアップするらしくさらに assertion の外にタイムアウトをつけています。

marcandre: r65500 2018-11-03 02:51:56 +0900

r64796 の標準添付ライブラリ matrix への Matrix#reflexive? の追加を revert しています。どうもこの名前がよくないというか標準的な語彙ではないみたいです。

svn: r65501 2018-11-03 02:51:57 +0900

version.h の日付更新。

marcandre: r65502 2018-11-03 02:52:05 +0900

標準添付ライブラリ matrix の Matrix#antisymmetric? に skew_symmetric? という alias を追加しています。

marcandre: r65503 2018-11-03 02:52:12 +0900

標準添付ライブラリ matrix で alias を定義するのに予約語 alias でなく Module#alias_method を利用するように統一しています。

marcandre: r65504 2018-11-03 02:52:20 +0900

標準添付ライブラリ matrix で private をメソッド定義の def の前に書く(def 文は今は定義したメソッド名の Symbol を返すので private def m; end は def m; end; private :m と同義になる)ようにスタイルを変更しています。

marcandre: r65505 2018-11-03 02:52:33 +0900

標準添付ライブラリ内で同じサブディレクトリ内のスクリプトを require でなく require_relative でロードするようにしています。このほうが速いし、とある。ちょっと邪悪なことをしているような時には非互換があるかもしれないですね。邪悪なのでしかたない。 https://github.com/ruby/ruby/pull/1976 [ruby-core:89291] [Bug #15206]

marcandre: r65506 2018-11-03 02:52:43 +0900

r65505 の続きで標準添付ライブラリ内での require をさらに require_relative に変更しています。 https://github.com/ruby/ruby/pull/1976 [ruby-core:89291] [Bug #15206]

marcandre: r65507 2018-11-03 02:52:51 +0900

標準添付ライブラリ matrix の Matrix#[]= を public method にして、Matrix#map! などのメソッドを追加し、これまで immutable だった Matrix や Vector を mutable なコンテナオブジェクトのように扱えるようにしています。 https://github.com/ruby/ruby/pull/1769 https://github.com/ruby/ruby/pull/1905 [ruby-core:84062] [Feature #14151]

ktsj: r65508 2018-11-03 07:28:21 +0900

make test-bundled-gems-prepare というターゲットで gem install 時のオプションを --no-ri --no-rdoc から --no-document に更新しています。新しい rubygems でこのようにオプションが変更になったみたいですね。

hsbt: r65509 2018-11-03 08:07:56 +0900

2.5 の時に断念した bundler の default gem としての標準添付のリトライをしています。 tool/sync_default_gems.rb にも bundler 用のコードを追加しています。 [ruby-core:77172] [Feature #12733]

k0kubun: r65510 2018-11-03 09:44:04 +0900

wercker.yml の Slack 通知時のユーザー名を変更。

nobu: r65511 2018-11-03 14:29:02 +0900

r65505 の標準添付ライブラリの require_relative を使うようにする変更のうち lib/cgi/util.rb から cgi/escape を require するところは require に戻しています。 cgi/escape は拡張ライブラリなので同一のディレクトリに配置されていないため。

nobu: r65512 2018-11-03 15:55:57 +0900

Transient Heap 対応と同時に入れられた配列を使った T_HASH の実装の配列サイズを得る RHASH_ARRAY_SIZE_RAW() マクロのキャストする型が間違っていたのを修正。 [ruby-core:89688] [Bug #15279]

nobu: r65513 2018-11-03 16:58:56 +0900

同じく T_HASH 型オブジェクトのサイズを受ける変数の型を修正しています。

stomar: r65514 2018-11-03 17:43:19 +0900

r65511 と同様に r65505 の require -> require_relative に変更したもののうち lib/racc/parser.rb の racc/cparse も require に戻しています。これも拡張ライブラリであるため。

ko1: r65515 2018-11-03 20:20:54 +0900

internal.h に rb_ary_detransient() の prototype 宣言を追加しています。 include/ruby/ruby.h の inline 関数 rb_array_const_ptr() から利用されるからですね。けど #if USE_TRANSIENT_HEAP でくくったほうがよさそう。