ruby-trunk-changes 2022-10-03

今日は Method の mark/compact 関数の新規追加された構造体メンバーの対応漏れの修正、irbリファクタリング的変更や budler の bundle init で作る Gemfile の mode の変更などがありました。

[ded895baa9] Burdette Lamar 2022-10-02 13:24:08 UTC

拡張ライブラリ pty で IO クラスの rdoc 用コメントを追加していたのを IO#expect の rdoc 用コメントに移動しています。また File の rdoc 用コメント内のセクションの名前を変更しています。 https://github.com/ruby/ruby/pull/6458

[55e2116f2c] st0012 2022-09-30 22:08:36 UTC

標準添付ライブラリ irbIRB::RubyLexer の冗長な safe guard operator 利用や Enumerable#each_with_object を活用するリファクタリングなど。

[42fcbcc215] st0012 2022-09-30 22:14:10 UTC

標準添付ライブラリ irbIRB::RubyLex の不要な条件分岐の削除。

[5cab9d0ee2] st0012 2022-09-30 22:18:19 UTC

標準添付ライブラリ irbIRB::RubyLex の古い ruby で Ripper::EXPR_BEG が未定義な時のための分岐を削除しています。

[7b88ffb34f] osyo-manga 2022-10-02 21:55:50 UTC

標準添付ライブラリ irb の completion の実装で候補を得るために Kernel#eval を利用していたところは Refinements を使って Binding にメソッドを追加してそれを利用するようにリファクタリングしています。eval は使うけど eval("self") で Binding オブジェクトを取得するためだけに使ってあとは UnboundMethod#bind と #call を使ってメソッドや変数のリストを取得するようにしています。

[b97e909ef4] st0012 2022-10-02 09:20:26 UTC

標準添付ライブラリ irb で Thread が定義されているか defined? でチェックしているところがあったのを削っています。irb は Thread が導入される前からあったんですね。

[10e830c25b] st0012 2022-10-02 09:25:55 UTC

標準添付ライブラリ irb で未使用の例外クラスの定義を削除しています。

[b91f685a26] Benoit Daloze 2022-10-03 10:03:46 UTC

Method クラスの構造体の mark 関数と compact 関数で新規追加された struct METHOD::owner メンバーへの対応が抜けていたのを修正しています。 [ruby-core:108235] [Bug #18729]

[b7a61cb485] David Rodríguez 2022-10-03 09:21:42 UTC

1e5597532ac72ae324550c7cf58f94017f0c8072rubygems のテストの未使用のコード削除というのをしていたのが RubyCI で警告が出るとのことで revert しています。

[bc6c1e0e25] Victor Gama 2022-09-21 18:09:36 UTC

bundler の bundle init サブコマンドで Gemfile をテンプレートからコピーするのに FileUtils.cp で単にコピーしていたのを Fie.open でコピー元とコピー先をそれぞれ開いて IO.copy_stream で内容をコピーするという処理に変更しています。はてなぜかなと思ったらコミットログによると bundler のインストールされた時のファイルの mode も FileUtils.cp だと保存されてしまうので書き込み不可なファイルとしてコピー先を作ってしまうことがあったので、open で新規ファイルを作成することで umask の指定などで決まる自然な mode を適用するためみたいです。