ruby-trunk-changes 2024-09-09

今日は主に標準添付ライブラリ open-uri で redirect に従う時に一部のヘッダを消したり変更したりするためのオプション :request_specific_fields の追加や、Range#step の変更で Symbol が要素の時の処理の対応、parser の変更で goruby がビルドできなくなっていた不具合の修正などがありました。

[6ea2b6f65f] otegami 2024-08-27 04:45:57 UTC

標準添付ライブラリ open-uriURI.open に指定できるオプションに :request_specific_fields というのを追加して、Hash もしくは Proc オブジェクトで redirect 時に転送先にリクエストを送信する時のオプションの変更を指定できるようにしています。Proc オブジェクトの時は URL をブロックパラメーターとして受け取って上書きするオプションを含む Hash を返すという Proc を期待しているようです。転送時にリクエストヘッダを消したり変更したりするために使うようです。

[0ac16215da] otegami 2024-08-27 09:16:23 UTC

拡張ライブラリ open-uri6ea2b6f65f92c4b8cfd91a655dcd89a7082bf6e4 で追加した request_specific_fields オプションのテストを追加しています。

[76475bf5c0] otegami 2024-08-28 08:00:32 UTC

拡張ライブラリ open-uri6ea2b6f65f92c4b8cfd91a655dcd89a7082bf6e4 で追加した request_specific_fields オプションについて rdoc 用コメントに追記しています。

[903f3790ad] otegami 2024-09-06 00:32:15 UTC

拡張ライブラリ open-uri6ea2b6f65f92c4b8cfd91a655dcd89a7082bf6e4 で追加した request_specific_fields オプションの値が不正だった時の例外メッセージを修正しています。

[d2179eeaac] Nobuyoshi Nakada 2024-09-07 12:43:38 UTC

GitHub Actions の workflows に gruby が動くかどうかの簡単な smoke test を追加しています。

[be84abffba] Nobuyoshi Nakada 2024-09-08 12:02:30 UTC

ruby 実装の組み込みメソッドの実装を読み込む処理の miniruby 用の実装を mini_builtin.c から miniinit.c に移動しています。

[70871fa6e3] Nobuyoshi Nakada 2024-09-08 12:06:54 UTC

ruby 実装の組み込みメソッドの実装を読み込む処理をリファクタリングして通常の ruby ビルド時と miniruby 用の処理を共通化するようにしているようです。

[ecb58a8d08] Nobuyoshi Nakada 2024-09-08 12:18:20 UTC

Universal Parser のサポートと prism を parser として利用する時に prelude.rb を parse しようとすると必要な関数がないと言われて goruby がビルドできないという状況になっていたみたいで、prelude.rb のかわりに ruby スクリプトを ISeq にコンパイルして binary format にダンプしたものを埋め込んだ C のソースコードを生成して、これを利用することで起動時に parser の依存をなくすようにしているようです。

[6e544f2fed] Nobuyoshi Nakada 2024-09-08 12:42:42 UTC

goruby.c の goruby_run_node() で渡された ISeq が実行可能かどうか? チェックするようにしています。

[ac960b08ee] Nobuyoshi Nakada 2024-09-08 15:51:41 UTC

make distclean で ecb58a8d08bb3b53326319fb5b7ba3ed26fcac2b で ISeq を binary format にダンプしたファイルの拡張子 .rbbin のファイルも削除するようにしています。

[19c1f0233e] Earlopain 2024-09-06 10:09:17 UTC

標準添付ライブラリ benchmark の gemspec ファイルに required_ruby_version を 2.1.0 以降にする設定を追加しています。

[b5f1291015] JP Camara 2024-08-27 21:57:49 UTC

Thread の rdoc 用コメントに Thread.handle_interrupt で標準添付ライブラリ timeout の Timeout::Error による割り込みを抑制する例について書かれていたセクションの内容が不正確になっていたので削除しています。

[d52e599538] ydah 2024-09-05 09:41:10 UTC

parse.y で AST の予約語 when に対応する node 種類 NODE_WHEN の構造体 rb_node_when_t にも when と then の位置情報を持たせるようにしています。

[aed8e46118] Gareth Jones 2024-01-26 20:59:38 UTC

拡張ライブラリ psych の Psych.load, Psych.safe_load, Psych.load_file などのメソッドの rdoc 用コメントに空文字列などを読ませた時のデフォルト値が false と書かれてたのを nil に修正しています。

[dbfabafe96] Hiroshi SHIBATA 2024-09-09 06:27:14 UTC

拡張ライブラリ psych の ruby スクリプト部分で stringio に依存していたところを require を実際に必要になるまで遅延するようにしています。

[74872109be] Juanjo Bazán 2024-07-12 10:46:39 UTC

拡張ライブラリ psych の Psych.dump メソッドの rdoc 用コメントの line_width オプションの項に -1 を指定すると上限なしとして挙動することを追記しています。

[2d4fdafa64] Hiroshi SHIBATA 2024-09-09 06:46:29 UTC

拡張ライブラリ psych のバージョンを 5.2.0.beta1 に更新しています。

[330b2ffb51] git 2024-09-09 06:47:55 UTC

NEWS の default gems のバージョンリストに psych のバージョンを追記しています。

[a2ae7450d7] Nobuyoshi Nakada 2024-09-09 07:25:43 UTC

gc.c の RUBY_ASAN_ENABLED マクロが有効な時に警告抑制のためのキャストを追加しています。

[a304fe00f3] David Rodríguez 2024-09-06 09:55:02 UTC

rubygems の gem fetch コマンドがエラー時に終了ステータスに非ゼロを返すようにしています。

[72e80c8f29] David Rodríguez 2024-08-29 16:26:42 UTC

rubygems で gem exec で実行するコマンドで ${GEM_HOME}/gem_exec/ というサブディレクトリの下に GEM_HOME を変更するようになっていたのを元の GEM_HOME をそのまま利用するようにしています。

[155989415b] David Rodríguez 2024-09-02 17:12:06 UTC

おそらく 72e80c8f29c7da37039e16f403814aa7fedc7754 の変更で rubygems の gem exec サブコマンド実行の実装で GEM_HOME と GEM_PATH を保存しておいて元に戻すという処理が不要になったので削除しています。

[d7b0f26963] zverok 2024-09-08 16:26:23 UTC

Range#step の実装の最適化のために "+" 演算子を利用するようにした変更で要素が Symbol の時にも動かなくなっていたので String と同様に特別扱いする実装を追加しています。

[391bb55a8e] Nobuyoshi Nakada 2024-09-09 08:25:22 UTC

GitHub Actions のいろんなコンパイルオプションなどを試す workflow で make test-all の時の対象のテストを matrix で指定できるようにして、configure の --with-gmp オプションをつけてビルドする時にテストは ruby/test_bignum.rb のみを実施するようにしています。

[3aae0873f7] Nobuyoshi Nakada 2024-09-09 10:22:20 UTC

GitHub Actions のいろんなコンパイラオプションなどを試す workflow で clang の -flto=auto オプションを試す時の clang のバージョンを 16 から 18 に更新しています。

[966901b39d] Daniel Colson 2024-09-06 17:10:04 UTC

bundler の git リポジトリを source にする時のキャッシュから hooks/*.sample というパターンのファイル群を削除するようにしています。