ruby-trunk-changes 2020-05-09

今日は tool/rbonstall.rb や tool/rbuininstall.rb の修正(rubygems の更新への追随?)や拡張ライブラリ io/console のエラー時のメッセージ強化のための更新などがありました。

[cc3352cc41] Nobuyoshi Nakada 2020-05-08 15:55:55 UTC

tool/rbinstall.rb で Gem::Installer の再定義しているところで bundled gem のインストールしたファイルリストを .installed.list ファイルに出力するようにしています。

[3333d02357] Nobuyoshi Nakada 2020-05-08 16:22:16 UTC

tool/rbinstall.rb で default gem のインストールによって不要な上書きを抑制するようにしているようです。

[721060388e] git 2020-05-08 16:25:26 UTC

version.h の日付更新

[8830d60dae] Nobuyoshi Nakada 2020-05-08 16:40:40 UTC

tool/rbuninstall.rb でデフォルトの改行コードを $\ で変更するのはやめて明示的に行末の文字を定義して出力に含めるようにしています。

[e88bb6a2f7] Nobuyoshi Nakada 2020-05-08 16:43:53 UTC

tool/rbuninstall.rb の引数に指定されたパスが "〜/." のように "." によるパスを含んでいた時にこれを削るようにしています。

[1181edd54c] Nobuyoshi Nakada 2020-05-09 04:45:50 UTC

tool/rbuninstall.rb でメッセージには $destdir からの相対パスのみ表示するようにするため最初に File.join してたのをやめて利用しているところでそれぞれ File.join するようにしています。

[5eb446d12f] Nobuyoshi Nakada 2020-05-09 04:46:47 UTC

MJIT で生成した C ソースコードを 1ファイルにまとめてコンパイルする手法が Windows では(たぶん) precompiled header まわりの処理でうまく動かないため preprocessor 分岐で無効にしているのを _WIN32 を直接チェックしてたのを USE_HEADER_TRANSFORMATION というマクロの定義してこれで判定するようにしています。また不要になる関数の定義も同じ条件で必要な時だけ定義するようにしています。

[0ce45db115] Nobuyoshi Nakada 2020-05-09 04:40:08 UTC

拡張ライブラリ io/console の sys_fail_fptr() というマクロ経由で rb_sys_fail_str() 呼び出しするようにして rb_sys_fail() のかわりにこちらを利用してファイルパスを表示させるようにしています。

[cc9bc14530] Nobuyoshi Nakada 2020-05-09 04:55:48 UTC

0ce45db11536ecba8cc6a4d46ac448b162a96d51 の変更についてのテストを拡張ライブラリ io/console のテストに追加しています。

[4314c05377] Kazuhiro NISHIYAMA 2020-05-09 05:22:04 UTC

irbirb_info コマンドのテストで環境変数 INPUTRC にセットする存在しないファイルとしての名前の typo を修正。

[d7a59e2ffe] Nobuyoshi Nakada 2020-05-09 05:40:19 UTC

cc9bc145300d129f27ad3a4ce186d7b1e3068b88 で追加した io/console のテストで発生する例外クラスとして Errno::ENODEV のほか Errno::ENOTTY も(定数が存在すれば)許容するようにしています。

[581763d14c] Nobuyoshi Nakada 2020-05-09 05:50:43 UTC

d7a59e2ffe45b27c084a8fe8cfe12b63dd1e6de8 にさらに追加して Errno::EBADF も許容するようにしています。

[7df6eaf29e] Hiroshi SHIBATA 2020-05-09 00:29:13 UTC

bundler のテストでトップレベルに receiver なしの describe メソッド呼び出しが書かれてたので RSpec.describe に修正しています。そういえばトップレベルにいきなりは書けないんだっけ。

[be575a6eef] Nobuyoshi Nakada 2020-05-09 07:02:52 UTC

0ce45db11536ecba8cc6a4d46ac448b162a96d51 で拡張ライブラリ io/console で一箇所直接 rb_sys_fail_str() を呼ぶようになってしまっていたので sys_fail_fptr() に変更しています。

[595e74ae4b] Yusuke Endoh 2020-05-09 11:07:38 UTC

cc9bc145300d129f27ad3a4ce186d7b1e3068b88 で追加したテストに d7a59e2ffe45b27c084a8fe8cfe12b63dd1e6de8581763d14c63316f22c8685a624547f28d43a8af で捕捉する例外を追加したのにさらに加えて Errno::ENXIO も対応するようにしています。 Solaris で発生したとのこと。

[883214f8e9] Nobuyoshi Nakada 2020-05-09 11:13:30 UTC

cc9bc145300d129f27ad3a4ce186d7b1e3068b88 で追加した(その後対応する例外クラスを増やした)テストで例外クラスを列挙するために %i リテラルを使ってたのを %w で文字列にするようにしています。 余計な Symbol (ID) の割り当てを避けるためとのこと。