ruby-trunk-changes 2021-10-11

今日は主に標準添付ライブラリ ipaddr の IPAddr#include? の機能拡張や rubygems, bundler, reline, irb のテストの更新などがありました。

[b16d876ac2] Nobuyoshi Nakada 2021-10-10 11:28:14 UTC

rubygems で証明書のエラー処理でメッセージ作成に Time#iso8601 を利用する箇所で require "time" を追加しています。

[ef352c5865] Nobuyoshi Nakada 2021-10-10 12:58:56 UTC

vm_dump.c で rb_bug() などで異常終了する時にレジスタの内容を表示するマクロ dump_machine_register() を arm64-darwin つまり M1 Mac の場合はレジスタ名を第2引数で渡すようにしています。

[11720818f6] David Rodríguez 2021-09-30 13:52:05 UTC

rubygems のパッケージ展開処理で重複したディレクトリ作成処理を避けるようにしています。パフォーマンスのためみたいです。

[59c24f054e] David Rodríguez 2021-10-01 14:14:33 UTC

rubygems で File.expand_path にわざわざ File.join して渡してたのは第2引数に基準となるディレクトリを渡せばよいので File.join を省いています。

[48e4dea4cd] David Rodríguez 2021-09-30 13:06:22 UTC

rubygems のテストでパッケージ内に symbolic link があった時のテストをリファクタリングしています。

[05e3d7b967] David Rodríguez 2021-10-06 17:27:34 UTC

48e4dea4cdeeb6e1ba79287399b0b0288df2d720リファクタリングしたテストで最終的にパッケージを展開するパスの外にファイルが生成されないことも確認するように assertion を追加しています。

[6c878731c1] David Rodríguez 2021-10-01 14:16:32 UTC

rubygems で File.realpath と File.expand_path を重複して使ってるところがあったので File.expand_path を削っています。

[a5289bfa71] David Rodríguez 2021-10-05 11:14:17 UTC

rubygems でファイルパスのチェックしているところで Windows 環境では大文字小文字が同一視されるので downcase してからチェックするようにしています。大文字小文字が同一視されるのはかならずしも Windows に限らなくて filesystem によるけど……。

[bbcf8f87ac] David Rodríguez 2021-10-06 16:17:37 UTC

rubygems のパッケージに含まれる symbolic link の指す先のチェックを追加しています。これによりディレクトリ作成の時点でのチェックを省けるようになっています。

[6c39a272af] David Rodríguez 2021-10-06 17:00:46 UTC

rubygems のパッケージ内の symbolic link のチェックを bbcf8f87ac50be423991ccbb2d83ac09ebecf46a で追加したので不要になった インストール先のチェックを削っています。

[a4876a563d] Nobuyoshi Nakada 2021-09-16 16:20:10 UTC

rb_get_expanded_load_path() や rb_construct_expanded_load_path() の引数に rb_vm_t* を追加して内部で GET_VM() で取得してたのを引数で指定できるようにリファクタリングしています。また rb_get_expanded_load_path() の大部分は get_expanded_load_path() として抽出した static 関数を追加しています。

[9072228a26] David Rodriguez 2021-10-09 10:12:13 UTC

bundler のテストで使う gemspec ファイルの PLATFORMS にテスト実施している PLATFORM を追加して環境によって失敗しないようにしています。

[10c650628a] git 2021-10-10 15:24:09 UTC

version.h の日付更新

[e0c20485db] David Rodriguez 2021-10-10 15:10:49 UTC

rubygems で require のかわりに require_relative を利用するようにリファクタリングしています。

[b9f7286fe9] Nobuyoshi Nakada 2021-10-11 01:47:51 UTC

拡張ライブラリ io/console のテストで IO#getch(intr: true) のテストで Interrupt 例外による割り込みのチェックを Linux で skip していたのを Solaris でも skip するようにしています。

[9a321dd9b2] Jeremy Evans 2019-10-31 17:06:13 UTC

標準添付ライブラリ ipaddr の IPAddr#include? に引数にも net mask つきの IPAddr インスタンスを受け付けるようにしています。これずいぶん昔に提案されてたけど入れられてなかったやつですね、とチケットをみたら見覚えのあるやつでした(チケット作っておくといいですよ、と言った憶えがある)。 [ruby-dev:50316] [Bug #14119]

[391d6ab4f7] Jeremy Evans 2021-10-07 15:02:46 UTC

同じく標準添付ライブラリ ipaddr の IPAddr#include? で receiver と引数がそれぞれ IPv4IPv6 と別のアドレスだった時に false を返すようにしました。

[3112e876a1] aycabta 2021-10-10 09:58:46 UTC

標準添付ライブラリ reline のテストにダイアログのマルチバイト文字表示のテストなどを追加しています。

[cf74755921] Takashi Kokubun 2021-10-11 05:47:30 UTC

35c7e83bb32869cd96112ffd850b02047b48fac1irb の show_source コマンドの最適化を revert しています。

[b33caa5bbc] Takashi Kokubun 2021-10-11 06:02:50 UTC

irb の show_source コマンドのテストを追加しています。

[2e183c6273] Takashi Kokubun 2021-10-11 06:18:43 UTC

b33caa5bbc1ff6cb2ea1656419e1fa09e3e60690 で追加した irb のテストが trufflruby で失敗するとのことで pend でスキップするようにしています。

[82b87a8dc4] Takashi Kokubun 2021-10-11 06:24:52 UTC

同じく b33caa5bbc1ff6cb2ea1656419e1fa09e3e60690 で追加した irb のテストで show_source で表示するためのメソッドの定義を eval で行うようにいて不要なメソッド定義を削除しています。デバッグ中のメソッド定義と分岐が残っていたみたいですね。

[69cedee2a6] Takashi Kokubun 2021-10-11 06:37:48 UTC

tool/sync_default_gems.rb の先頭に shebang コメントを追加しています。またファイル自体に実行可能のモードを追加しているみたいです。

[340fabca2c] aycabta 2021-10-11 06:31:58 UTC

irbIRB::Context#prompt_mode= でインスタンス変数 @return_format の設定がなかったらデフォルト値をセットしておくようにしています。

[b5f0e20936] Takashi Kokubun 2021-10-11 06:48:45 UTC

tool/sync_default_gems.rb の sync_default_gems メソッドと sync_default_gems_with_commits にコメントを追加しています。ruby 自体のリポジトリのフックからこのツールを利用するようになってるらしいので使いかたのドキュメントを追加しているようです。

[6f41cab704] aycabta 2021-10-11 07:21:50 UTC

標準添付ライブラリ reline で未初期化インスタンス変数の参照での警告抑制のため defined? でチェックするようにしています。

[706239fcc1] aycabta 2021-10-11 08:14:22 UTC

標準添付ライブラリ reline の TODO コメントで空にされてた Reline.line_buffer と Reline.insert_text を使うテストを追加しています。

[60d20e3537] aycabta 2021-10-11 08:16:31 UTC

標準添付ライブラリ reline に Reline.point のテストを追加しています。

[b7ac9a2445] aycabta 2021-10-11 08:28:43 UTC

標準添付ライブラリ reline に Reline.delete_text のテストを追加しています。

[5987bcaa2d] aycabta 2021-10-11 08:30:02 UTC

標準添付ライブラリ reline で require の引数の文字列リテラルにダブルクオートを使ってたところをシングルクオートに変更しています。

[5895b4a7d9] aycabta 2021-10-11 08:49:54 UTC

標準添付ライブラリ reline の Reline.output= のテストを追加しています。

[990e079b99] aycabta 2021-10-11 09:17:22 UTC

標準添付ライブラリ reline のテストで TODO コメントをつけて空で定義されてたテストメソッド test_editing_mode は Reline.editing_mode がないとのことで削除しています。

[62d1deb0d1] David Rodriguez 2021-10-09 09:32:44 UTC

bundler のテストで bundle info の出力をチェックしているところでマッチさせる正規表現をもう少し細かいところまで(gem 名を含むところまで)チェックするようにしています。

[607efe9154] David Rodriguez 2021-10-09 09:28:05 UTC

bundler の bundle info サブマンドで gem 名を表示するためにインスタンス変数を参照していたのを引数の Gem::Specification を参照するように修正しています。

[0c3ac87345] David Rodriguez 2021-10-09 09:29:11 UTC

bundler の bundle info サブコマンドで対象の gem が削除されていたら警告を出力するようにしています。削除されてるけど gemspec ファイルはキャッシュに残っててロードされた時ってことかな。

[9f94a07e74] Nobuyoshi Nakada 2021-10-11 11:29:05 UTC

標準添付ライブラリ reline のテスト test/reline/test_reline_key.rb で Reline::Test というテストクラスを再 open して定義してたのでファイル名にあわせて Reline::TestKey に改名しています。

[dcaaf79ca0] aycabta 2021-10-11 11:34:01 UTC

irb の rdoc 用コメント? の文末にピリオドを置いています。