ruby-trunk-changes 2019-10-22

今日は別のメソッドに引数をそのまま委譲するための記法 m(...) のような引数の書きかたの追加や Fiber#transfer の挙動のちょっとした変更のほか、NEWS ファイルの更新や整理がありました。

[f364564e66] Yusuke Endoh 2019-10-21 12:22:53 UTC

Bignum な整数(今は Bignum というクラスはなくなったので内部的な表現が T_BIGNUM な Integer ということですが)の二乗を計算する時に整数の話によるオーバーフローを考慮しないといけない部分が残っていたのを修正しています。とても大きな数の二乗を計算するとその後の assertion にひっかかって rb_bug() で異常終了してしまう可能性があったようです。 [ruby-core:95453] [Bug #16269]

[228ebdbf2f] Yusuke Endoh 2019-10-21 12:26:47 UTC

NEWS ファイルの英文修正。

[ec2da08e2b] Nobuyoshi Nakada 2019-10-21 12:30:47 UTC

NEWS ファイルのサンプルコードのインデントの修正のみ。

[0f0d05a3b1] Koichi Sasada 2019-10-21 07:59:52 UTC

NEWS ファイルの削除した bundled gems の表現を変更。

[9bbc28340e] Koichi Sasada 2019-10-21 08:00:16 UTC

NEWS ファイルに Proc#to_s に行番号などの表記を変更したことを追記。

[ee302f54a0] Koichi Sasada 2019-10-21 08:09:52 UTC

NEWS ファイルに特異クラス直下のコンテキストで yield を呼べないようにした変更について追記しています。

[349ad6178c] git 2019-10-21 16:07:35 UTC

version.h の日付更新

[6067c0a220] Nobuyoshi Nakada 2019-10-21 16:27:26 UTC

NEWS ファイルの行頭にチケットの参照があるとマークアップとして解釈されてしまうので折り返さないようにして回避しています。

[35f90bf1b9] Nobuyoshi Nakada 2019-10-21 16:27:49 UTC

NEWS ファイルの Dir のメソッドについての言及でクラスメソッドの表記が誤っていたのを修正しています。

[62d4382877] Nobuyoshi Nakada 2019-10-18 18:05:03 UTC

メソッドの仮引数に m1(...) のように書くことで任意の引数を受け取って、それをさらに別のメソッド呼び出しに m2(...) と渡すことで任意の引数(キーワード引数や keyword splat など含めてまるっと)委譲することができるようにしています。こんな新機能提案があったのか。すっかり見逃してた。 これまでの m1(**a) で受けて m2(**a) で委譲するのがキーワード引数をうまく扱えないことに対する代案ということでしょうかね。 [ruby-core:95338] [Feature #16253]

[f37cc1c719] Jeremy Evans 2019-07-08 01:51:42 UTC

標準添付ライブラリ resolv で UDPSocket を使った bind が Errno::EACCES を発生させることがあるようで、その場合に TCP を使った方式に fallback させるように修正しています。 [ruby-core:67636] [Bug #10747]

[fa8ac91e95] Jeremy Evans 2019-10-21 23:54:58 UTC

Fiber#transfer を使って別の Fiber を呼び出した時に transfered というフラグを立てるのは呼び出されるほうの Fiber ではなく呼び出し元の Fiber のほうに立てるようにしています。ドキュメントはこう書いてるよっていうんだけどそうなのかな。 今みたら r35519 でも rdoc のサンプルにブツブツ言ってたけどドキュメントのほうが誤解を招く内容だったって可能性はないのか。 [ruby-core:61642] [Bug #9664] [ruby-core:76270] [Bug #12555]

[9c553139ae] Alan Wu 2019-10-21 16:29:47 UTC

compile.c の CPDEBUG が 1以上の数で定義されている時だけ行なわれていた append_compile_error() の prototype 宣言が変更に追随できていなかったのを修正しています。

[97a03a0356] Alan Wu 2019-10-21 16:44:16 UTC

で .travis.yml に -DCPDEBUG=1 をコンパイルオプションに追加するビルドを追加しています。

[5e0d33a856] MSP-Greg 2019-10-21 21:36:10 UTC

appveyor.yml のテストする gem の設定をビルドマトリックスごとに分けて msys2 でのみテストするようにしています。

[22845176d7] MSP-Greg 2019-10-21 21:36:38 UTC

27261007eb45adae4d5b30cbafa2ef27a2345b3f で test/ruby/test_exception.rb の did_you_mean.gem が使われてるかどうかの判定に defined? を使うようにした変更で定数の参照のかわりに symbol リテラルになってしまっていたところを修正。たぶんこれ "::DidYouMean" とトップレベルの定数であることを明示しようとしたんだと思うんですよね。

[0e735b218f] Yusuke Endoh 2019-10-22 10:32:04 UTC

NEWS ファイルの net/ftp の新機能メソッドの説明を詳しくしています。

[fac4339a12] Yusuke Endoh 2019-10-22 10:39:42 UTC

NEWS ファイルの Enumerator::Lazy#eager の項にサンプルコードを追記しています。

[02aadf1032] Yusuke Endoh 2019-10-22 10:46:44 UTC

fac4339a1273df64fe764579f0d3ccccf64b74b4 の NEWS に追加したサンプルコードの修正。