ruby-trunk-changes 2020-02-12

今日は tempfile と tmpdir の default gem 化や irb の補完処理の修正などがありました。

[50065dad7f] Jeremy Evans 2020-02-10 03:06:57 UTC

rb_eval_cmd() という C API を削除しています。 3.0 で消すって警告を出すようにしていたのでその予告通りということですね(まだ version.h は 2.8 だけど)。

[28bff9dd98] git 2020-02-11 16:47:02 UTC

version.h の日付更新

[ea32715e00] Jeremy Evans 2020-02-11 16:49:29 UTC

後方互換性のため doc/extension.rdoc に rb_eval_cmd_kwd() というマクロを定義するようにアドバイスが追加されています。

[7a288df7b8] Jeremy Evans 2020-02-11 19:56:34 UTC

def でのメソッド定義内での class <<obj での特異クラス定義内で yield 文を書くのは SyntaxError になるようにしています。

[155ab9caa6] Nobuyoshi Nakada 2020-02-12 02:47:08 UTC

Kernel#exec や spawn 系のメソッドでの親プロセスでの処理 rb_execarg_parent_start1() で vpath の変換が冗長に呼ばれてたのを削除しています。

[985d1b9ec4] Nobuyoshi Nakada 2020-02-12 02:53:51 UTC

同じく exec や spawn の引数処理でカレントディレクトリの文字列を rb_str_new2() でオブジェクト化してたのを rb_dir_getwd_ospath() を使うようにしています。 NoMemoryError が発生する可能性があるのでこの位置で呼ぶのは不適切だったとのこと。

[3af3431c2c] aycabta 2020-02-10 14:15:13 UTC

irb の補完機能のテストに Symbol の補完のテストメソッドを追加しています。

[0719e1be11] aycabta 2020-02-10 14:22:24 UTC

irb の補完時に現在の context の binding を伝播させるようにしているのと、retrieve_completion_data の戻り値チェックしているところで変数名間違えてたのを修正。

[8b8cc01229] aycabta 2020-02-10 17:11:35 UTC

irb の自動インデントで "}" の閉じかっこのインデントが減らされてなかったのを修正しています。

[16f5d63bad] aycabta 2020-02-02 16:18:50 UTC

irb でロゴ表示のコードが 2.6 以降でないと動かない endless range が使われてたので Integer#step を使うように修正しています。

[166c4a6a28] Hiroshi SHIBATA 2020-02-12 05:38:40 UTC

3af3431c2c145134996e66f3d8d9ade8ad81bde0 の irb の補完のテスト追加を revert しています。

[921916ff9e] Nobuyoshi Nakada 2020-02-11 04:09:56 UTC

Encoding#replicate のテストはグローバルかつプロセス内で永続的な変更を加えてしまうので assert_separately を使って子プロセス内で実行するようにしています。

[52cdf400ef] Nobuyoshi Nakada 2020-02-11 02:28:31 UTC

ObjectSpace.each_object で取れないように struct RBasic::klass を 0 にして hidden object にしたものはインスタンス変数を持てないので iv_index_tbl_make() でテーブル参照前にチェックして例外を発生させるようにしています。

[2090011dbd] Yusuke Endoh 2020-02-12 08:28:29 UTC

拡張ライブラリ etc のテストで Android で動かないテストメソッドの定義をスキップするようにしています。

[65201c054a] Yusuke Endoh 2020-02-12 08:33:41 UTC

rubygems のテストで shebang に書くコマンドとして /bin/env と /usr/bin/env どちらも試して使えるほうを使うようにしています。

[775e31c801] S-H-GAMELINKS 2020-02-12 08:40:25 UTC

.document に rdoc の対象として array.rb を追加しています。

[15cacf1f55] aycabta 2020-02-12 10:40:10 UTC

166c4a6a2838995e3465ab3ce263bf0b5239ddde で revert された irb の Symbol の補完を復活させています。うっかり実際に存在する Symbol になってしまってたようなのでもっと長くて偶然一致しないような Symbol にしています。

[b8e7bd9f44] Hiroshi SHIBATA 2020-02-12 10:39:20 UTC

標準添付ライブラリ tempfile を default gem にしています。

[1b219f1fb2] Hiroshi SHIBATA 2020-02-12 10:47:31 UTC

doc/maintainers.rdoc と doc/standard_library.rdoc の tempfile のエントリを default gems のセクションに移動しています。

[bdf3032e35] Nobuyoshi Nakada 2020-02-12 10:29:18 UTC

String#format で format 文字列の Encoding の format 文字列からのコピーしないようにしています。 52cdf400efaecc0f5e1d1f70f22dc45212e03c4c で hidden object のインスタンス変数が使えなくしたので struct RBasic::flags に埋め込めない encindex の Encoding を持たせることができないのでその時は ASCII-8BIT として扱うようにしているそうです。

[160d3165eb] Nobuyoshi Nakada 2020-02-12 11:09:57 UTC

String#dup した時に Encoding の index が flags に埋め込める数値を超えてた時の処理が漏れてたのを修正しています。

[bbd1ed626f] Hiroshi SHIBATA 2020-02-12 11:07:15 UTC

標準添付ライブラリ tmpdir に gemspec ファイルを追加して default gem にしています。

[a91ce05046] Hiroshi SHIBATA 2020-02-12 11:34:08 UTC

doc/maintainers.rdoc と doc/standard_library.rdoc の tmpdir の記述を default gems のセクションに移動しています。