ruby-trunk-changes 2022-04-25

今日は ARGF#lineno= が右辺値を返していなかったのを返すようにする変更やドキュメントの変更などがありました。

[671d90eca3] Tanaka Akira 2022-04-24 14:16:55 UTC

拡張ライブラリ io/nonblock の IO#nonblock= の rdoc 用コメントにこれは fd の fcntl(2) で O_NONBLOCK フラグをオンオフするもので ruby レベルのメソッドが nonblock になるというものではないということを追記しています。 IO#read_nonblock や IO#write_nonblock は fd の O_NONBLOCK フラグを立てるので、それをプロセスをまたがって伝播してしまうのを避けるためにリセットするなどの用途で使うものだと書かれています。なるほど、そういう理由でフラグだけセットする必要がある場合があるのか。

[84f410e5e6] git 2022-04-24 14:17:22 UTC

version.h の日付更新

[554befbf27] "S.H" 2022-04-24 21:06:45 UTC

proc.c の rb_block_arity() で rb_proc_arity() という関数を利用するようにするリファクタリング

[30b1a21edd] git 2022-04-24 21:07:14 UTC

version.h の日付更新

[d41bc9b68e] Burdette Lamar 2022-04-25 00:41:26 UTC

doc/syntax/literals.rdoc に Rational リテラルの記法についてサンプルを追記して BNF 記法での文法も併記しています。 https://github.com/ruby/ruby/pull/5840

[392c952ab2] Kazuhiro NISHIYAMA 2022-04-25 00:48:55 UTC

標準添付ライブラリ rdoc のコメントの typo 修正。

[4fcc7e2d7c] Jean Boussier 2022-04-25 08:20:45 UTC

ARGF#lineno= が代入記号つきメソッドの定石どおり右辺値(引数)を返さずに nil を返していたので引数をそのまま返すように変更しています。 [ruby-core:108390] [Bug #18753]

ruby-trunk-changes 2022-04-23

今日は VM の Thread まわりの実装で構造体のレイアウトを変更するリファクタリングなどがありました。

[702dc116c4] Koichi Sasada 2022-04-22 13:58:15 UTC

vm.c の ruby_thread_init() と th_init() という rb_thread_t の初期化をする似たような関数があったのを th_init() に集約して th_init() には引数に rb_vm_t と rb_ractor_t のポインタを追加してそれぞれ vm/ractor メンバーの初期化も行うようにしています。さらに rb_thread_t の top_wrapper, top_self, value などのメンバーの初期化も追加しています。

[69d41480ec] git 2022-04-22 15:50:32 UTC

version.h の日付更新

[03d21a4fb0] Koichi Sasada 2022-04-22 12:19:03 UTC

rb_thread_t の native_thread_data メンバーを削除して、かわりに nt というメンバーで struct rb_native_thread という新しく定義した構造体へのポインタを保持して代替とするようにリファクタリングしています。コミットログに今は Ruby の Thread は 1つの natgive thread を持つとわざわざ書いているので、1:M(N:M) thread 化しようと考えているのかも。

[79fa27acc4] Alan Wu 2022-04-22 17:18:11 UTC

tool/rbinstall.rb で Gem のインスタンス変数 @ruby を上書きするモンキーパッチを Zlib が定義されている時だけ実施していたのをトップレベルで常に行うようにしています。また環境変数 RUBYOPT を削除して tool/fake.rb 経由で実行される子プロセスにビルド中のホスト環境の ruby の拡張ライブラリを読み込ませないようにしているようです。 AppVeyor での CI の失敗の調査のため? みたいです。

[c2d38a0d2d] Jeremy Evans 2022-04-22 21:26:26 UTC

03d21a4fb099da7c52e6591e17704c297871b7db の rb_thread_t::native_thread_data から nt メンバーへの移行の漏れがあったのを修正しています。

[ab3cb29bd9] Jeremy Evans 2022-04-22 20:01:43 UTC

主にライブラリのテストで複数のファイルにテストが分かれている時にテストクラス名を同じものを使っているため並列テストで一部のテストメソッドが実行されない可能性があったのを修正するため、ファイル毎にテストクラスを分けるようにしています。 [ruby-core:108238] [Bug #18731]

[e142bea799] Kazuhiro NISHIYAMA 2022-04-22 04:41:18 UTC

標準添付ライブラリ mkmf.rb でソースファイルを Dir.glob で検出した結果などを sort するようにしていたのですが Dir.glob が sort 済みの結果を返すようになったため重複しているので削除しています。

ruby-trunk-changes 2022-04-22

今日は GVL という名前をやめるためのリファクタリングや標準添付ライブラリ uriwss プロトコルの schema 対応の変更などがありました。

[1c4fc0241d] Koichi Sasada 2022-04-16 18:40:23 UTC

かなり大きな差分ですが GVL という名前 (Global VM Lock でしたっけ? Giant VM Lock だった気も)が実際には Global じゃないのでということで関数/マクロや変数の名称を変更しているリファクタリングです。

[d1b9609cba] git 2022-04-21 22:54:27 UTC

version.h の日付更新

[c94f964e3f] OKURA Masafumi 2022-02-17 15:59:05 UTC

標準添付ライブラリ uriwss というプロトコルの対応を追加しています。 lib/uri/wss.rb というファイル自体は元から存在していたので require とテストを追加しているだけみたいです。

[eab354e17b] Peter Zhu 2022-04-14 18:02:00 UTC

標準添付ライブラリ uri正規表現の定数を取り込むのに REGEXP を include していたのを RFC2396_REGEXP を include するように変更しています。 REGEXP は RFC2396_REGEXP の別名というか代入されてるだけなので実体は同じだと思います。

[3fa768c5c3] Hiroshi SHIBATA 2022-04-22 03:11:36 UTC

c94f964e3f94e9f934a3f4e73fb55f5fd2a21f08 で追加した標準添付ライブラリ uriwss schema のテストで require する uri/http を uri/https に変更しています。

[4b14b2902a] Jeremy Evans 2022-03-22 23:36:16 UTC

vm_iter_break() でコメントアウトされていた LocalJumpError 例外を発生させるチェックを復活(?)させています。 Object#to_enum で Enumerator 化したメソッド内で Thread を作って別 Thread から yield された時に例外発生させるようにしているようです。昔はこういうの例外になってたはずですね確か。 [ruby-core:107980] [Bug #18649]

ruby-trunk-changes 2022-04-21

今日は拡張ライブラリ pathname に Pathname#lutime を追加する機能追加やブロックパラメーター内で splat して受け取るダイナミック変数に _ ではじまる変数を書いた時にブロックの外のスコープの同名の変数を上書きしていた不具合修正などがありました。

[dcc42d4688] 卜部昌平 2022-04-21 05:54:00 UTC

C API rb_io_set_nonblock() の Doxygen 用コメントにこの関数で nonblocking mode に設定しても C のレベルの fd に設定されるだけなので ruby の IO#read メソッドなどはブロックすることを追記しています。

[b4f87ff838] git 2022-04-21 06:05:52 UTC

version.h の日付更新

[ee48c9cda6] Nobuyoshi Nakada 2022-04-21 05:16:26 UTC

Windows 版の fcntl() の代替実装で rb_w32_set_nonblock2() を利用するようにして pipe に対する操作を受付けるように修正しています。

[3ddf6ad4d2] Nobuyoshi Nakada 2022-04-21 07:04:36 UTC

ブロックパラメーター内でダイナミック変数 "_" を配列を splat して受け取るような場所に書くと、ブロックの外のスコープの "_" を上書きしてしまっていた不具合を修正しています。よく気がついたなこんなの。 [ruby-core:107883] [Bug #18629]

[cb02324c4e] Akinori MUSHA 2022-04-03 17:03:09 UTC

拡張ライブラリ pathname に Pathname#lutime を追加しています。File.lutime へ委譲する実装ですね。

ruby-trunk-changes 2022-04-20

今日は標準添付ライブラリ net/http の機能追加や JRuby 対応などがありました。

[90ccc5674a] Jeremy Evans 2021-03-01 20:59:21 UTC

標準添付ライブラリ net/http でサーバー側がソケットを切断した時に EOFError 例外を発生させるように指定できるよう Net::HTTP#ignore_eof というプロパティを追加しています。チケットをみると chunked モードだと例外が発生するのに通常時には発生しないのであわせたら、ということでしたが互換性のためにデフォルトでは従来の挙動を保持して、例外発生できるように(ignore_eof=false を指定できるように)選択肢を提供するというもののようです。 [ruby-core:88324] [Bug #14972]

[d9482913a9] git 2022-04-20 01:22:23 UTC

version.h の日付更新

[fa2df520bc] Jean byroot Boussier 2022-04-20 02:52:47 UTC

rb_bug() などでの異常終了時にバックトレースを表示するところで macOS の M1 チップ(Apple silicon) では全体的にバックトレース取得ができなくなっていたのを、レジストリの内容の取得の部分だけ未サポートとするように変更しています。 https://github.com/ruby/ruby/pull/5770

[cf73cf5981] Karol Bucek 2022-04-20 04:01:02 UTC

標準添付ライブラリ net/http で JRuby のサポートのため openssl の OpenSSL::SSL::SSLContext の未実装のメソッドを利用しないようにする条件分岐を追加しています。

[c506ddac6c] Hiroshi SHIBATA 2022-04-20 05:13:10 UTC

ruby テスト用の test/unit に assert_true と assert_false という assertion メソッドを追加しています。本体の test-unit.gem からの移植みたいです。

[4a4c1d6920] 卜部昌平 2022-04-20 07:05:37 UTC

いろんなコンパイルオプションを試す GitHub Actions の workflow でデフォルトのコンパイラとして clang 15 を試していたのを clang 14 に戻しています。 https://github.com/ruby/ruby/pull/5824

ruby-trunk-changes 2022-04-19

今日は主にドキュメント類の変更だけでした。

[51ea67698e] Burdette Lamar 2022-04-18 15:45:29 UTC

Regexp のいくつかのメソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5815

[96b2b0ee65] git 2022-04-18 15:45:58 UTC

version.h の日付更新

[9d1dd7a9ed] Burdette Lamar 2022-04-18 16:31:30 UTC

MatchData のいくつかのメソッドの rdoc 用コメントの手直しと doc/matchdata/offset.rdoc というドキュメント専用のファイルの切り出し。 https://github.com/ruby/ruby/pull/5818

[b074bc3d61] Burdette Lamar 2022-04-18 18:02:35 UTC

MatchData のいくつかのメソッドの rdoc 用コメントの手直しと doc/matchdata/*.rdoc への切り出し。 https://github.com/ruby/ruby/pull/5819

[86e23529ad] Burdette Lamar 2022-04-18 19:34:40 UTC

MatchData のいくつかのメソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5820

[6db3f7c405] Burdette Lamar 2022-04-18 20:52:07 UTC

MatchData のいくつかのメソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5821

[b41de3a1e8] Burdette Lamar 2022-04-18 23:19:10 UTC

MatchData のいくつかのメソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5822

[4299375b9b] Tim Smith 2022-04-18 05:08:42 UTC

コメントで GitHub のことを Github と表記しているところを修正。

[810b9c344a] Tim Smith 2022-04-18 04:53:43 UTC

NEWS.md、README.md などいくつかの Markdown のファイルで英文の修正や Markdownマークアップの修正のために空白を追加するなどの修正。空白のみの差分を無視するモードでみるとなんのことかわからなかったですが Markdown は空白が結構意味を持つので .md の差分をみるときは空白無視しないほうがいいですね。

[fada4d24f9] Nobuyoshi Nakada 2022-04-19 05:01:08 UTC

README.md のインデントの修正のみ。

ruby-trunk-changes 2022-04-18

今日は標準添付ライブラリ tsort のクラスメソッド定義の継承を意識した定義にする修正や後置 in によるパターンマッチの文法解析処理の修正などがありました。

[d6238007bf] Nick Roma 2022-04-15 16:16:55 UTC

README.md の英文法の修正。

[8c4ed2d777] git 2022-04-18 00:18:41 UTC

version.h の日付更新

[e5a852b912] David Rodríguez 2022-04-16 10:01:50 UTC

標準添付ライブラリ tsort で特異メソッド(クラスメソッド)を明示的にクラス名を書いて定義していたのを self を receiver として定義するようにしています。また別のクラスメソッドに委譲する時にも明示的にクラスを書いてたのを省略しています。継承したクラスを作った時に再定義がうまく効くようにするためですね。コミットログによると実際 bundler に tsort を組み込む時に Bundler:: の名前空間に起きたいのでという動機みたいです。

[92361ad9c6] Nobuyoshi Nakada 2022-01-13 15:52:11 UTC

拡張ライブラリ bigdecimal の Float から BigDecimal への変換の実装内で指数部? を保持する変数の型を size_t から SIGNED_VALUE に変更しています。

[c69bdcf80c] Peter Zhu 2022-04-13 17:30:31 UTC

拡張ライブラリ bigdecimal の Jacobian#dfdxi と Jacobian#jacobian の rdoc 用コメントの引数名にマークアップを追加して誤ってリンクになっていたところを修正しています。

[b0666d6417] Nobuyoshi Nakada 2022-04-18 08:53:05 UTC

File::Stat の #mtime, #ctime, #birthtime などの rdoc 用コメントの call-seq で戻り値を表現する名前として aTime というのが使われてたので他とそろえて time に変更しています。 [ruby-core:108177] [Bug #18680]

[08b6aacc1a] Nobuyoshi Nakada 2022-04-18 09:37:09 UTC

parse.y の後置 in によるパターンマッチの記法のためのルールでノードを参照する添字が間違っていたのを修正しています。 [ruby-core:108280] [Bug #18739]