ruby-trunk-changes 2022-01-13

今日は構造体 struct RString のレイアウト修正をして再度 Variable Width Allocation をデフォルトで有効にする変更や Enumerator 内で別の Thread から yield した時のエラー処理に問題があって異常終了してしまう不具合の修正、Proc#dup を継承した子クラスから呼んだ時の不具合修正などがありました。

[39bebd762d] Nobuyoshi Nakada 2022-01-12 09:16:30 UTC

標準添付ライブラリ optparse のドキュメント用のディレクトリに .document ファイルを置いて拡張子 .rdoc のファイルを処理対象として指定しています。

[7d94df63c4] Nobuyoshi Nakada 2022-01-12 09:17:22 UTC

標準添付ライブラリ optparse の gemspec ファイルに spec.rdoc_options を追加して rdoc のオプション指定をしています。

[92630e2346] Nobuyoshi Nakada 2022-01-12 09:22:11 UTC

doc/optparse/ のドキュメント群のリンクが壊れていたのを修正しています。 [ruby-core:107020] [Bug #18468]

[743a41f7e3] Nobuyoshi Nakada 2022-01-12 10:37:33 UTC

標準添付ライブラリ optparse のテストで新しい did_you_mean を使っている時のために ::DidYouMean::PlainFormatter を使うようにすりかえる setup と teardown を追加しています。

[e28dbd0f3d] Nobuyoshi Nakada 2022-01-12 11:58:54 UTC

743a41f7e3e7d4dfad006f23d14a00cbe6ba5946 の続きで標準添付ライブラリ optparse のテストで常に DidYouMean.formatter に DidYouMean::Formatter を利用するように修正しています。

[2d81a718ec] Peter Zhu 2022-01-11 20:19:39 UTC

Variable Width Allocation が有効な時の構造体 struct RString の as.embed.len メンバーの型を unsigned short から long に修正しています。格納する値の範囲の問題じゃなくてメモリアクセスの alignment のためとのこと。

[98fb0ab60e] Peter Zhu 2022-01-11 20:21:56 UTC

再度 Varible Width Allocation をデフォルトで有効にするように USE_RVARGC マクロのデフォルト値を 1 に変更しています。

[59eb02cd34] git 2022-01-12 17:01:22 UTC

version.h の日付更新

[ae5458f228] Yusuke Endoh 2022-01-12 08:29:17 UTC

Object#enum_for, #to_enum でブロック呼び出しつきメソッドから作った Enumerator 内で別の Thread を作ってその Thread 内からブロック呼び出しをしている時に異常終了することがあった不具合を修正しています。Enumerator って内部的に Fiber を作っていて別の Thread からは使えないという実装だった気がしますが、今ってもうその制限はなくなってるんですっけ? 新しい Thread を作る時に thread_start_func_2() 内で大域脱出してきた時に rb_vm_make_jump_tag_but_local_jump() を呼び出すようにしています。これエラー処理がちゃんとされなくて SEGV したというのを修正しているんであってやっぱり "unexpected break" みたいなエラーにはなるみたいですね。 [ruby-core:107059] [Bug #18475]

[2f71f6bb82] John Hawthorn 2022-01-11 17:10:23 UTC

Time.now の実装に ruby 実装内から new メソッドを呼び出していたのを Primitive を使って C の関数を直接呼び出すように最適化しています。

[d1a55851e8] Nobuyoshi Nakada 2022-01-13 02:32:35 UTC

include/ruby/internal/intern/vm.h の rb_get_alloc_func() の Doxygen 用コメントの typo 修正。

[5a75151a01] Nobuyoshi Nakada 2022-01-13 02:34:02 UTC

Kernel#rand の rdoc 用コメントのマークアップの修正。

[7e21b77dc6] Koichi Sasada 2021-02-18 08:10:39 UTC

Proc を継承した子クラスに対して dup を呼ぶとその子クラスではなく Proc のインスタンスが帰ってきてしまう不具合修正しています。 [ruby-core:102107] [Bug #17545]

[9de380860d] Koichi Sasada 2022-01-13 08:45:25 UTC

7e21b77dc6bfefaf331a0dbf89782303b8cda05d の Proc を継承したクラスでの dup の不具合修正について NEWS に追記しています。 [ruby-core:102107] [Bug #17545]

[9828502570] Akira Matsuda 2022-01-10 20:30:05 UTC

rubygems のバージョン番号の比較用のクラス Gem::Version の Gem::Version#<=> メソッドに文字列が渡された時に自動的に Gem::Version で wrap して比較するように fallback を追加しています。

[d0a0637948] Vyacheslav Alexeev 2022-01-11 15:38:32 UTC

bundler の bundle doctor で拡張ライブラリの共有ライブラリのチェック時にファイルの存在だけチェックしていたのを拡張ライブラリ fiddle の Fiddle.dlopen で開いてみて開けるかというチェックも追加しています。