ruby-trunk-changes 2024-12-31

今日は主に Windows でのビルド用ツールの修正や net/http のテストダミーサーバーの停止が JRuby でうまくいかない問題の対処などがありました。

[3cd809deb5] Nobuyoshi Nakada 2024-12-31 05:53:07 UTC

Windows でのビルド時のツール win32/rm.bat で --debug オプションを追加して echo on としています。たぶん実行したコマンドを出力するように。また rd コマンドと del コマンドでワイルドカードの扱いに問題があったのを修正しています。

[89c9a9fd03] Charles Oliver Nutter 2024-12-10 05:40:27 UTC

標準添付ライブラリ net/http のテストで使うダミーサーバーのリファクタリングTCPServer#close などを呼ぶのを teardown にせずサーバーの Thread 内の ensure 節に移動しています。 JRuby での割り込みの処理の実装の詳細により race condition が発生するのを避けるためとのこと。

ruby-trunk-changes 2024-12-30

今日は parser の修正前の不具合に関連したテストの追加だけがありました。

[5fec930832] Nobuyoshi Nakada 2024-12-30 08:04:09 UTC

Kernel#eval に US-ASCII な Encoding な文字列でスクリプトを渡した時に、呼び元のほうにマルチバイト文字を含むローカル変数が存在していると EncodingError 例外が発生するという不具合を再現させるテストを追加した上で text/.excludes/ にファイルを追加してこのテストを実行除外しておくようにしています。なるほどなぁ。 [ruby-core:120443] [Bug #20992]

ruby-trunk-changes 2024-12-29

今日は主に parser や irb の修正がありました。

[e4ec2128ae] Nobuyoshi Nakada 2024-12-28 09:40:37 UTC

parser が Ctrl や Meta キーで修飾されたマルチバイト文字を SyntaxError として拒絶するようにしています。 ripper 利用時に tokenize で誤った分割したバイト列を返してしまっていたようです。 [ruby-core:120435] [Bug #20990]

[609a555ee0] Stan Lo 2024-12-28 15:55:20 UTC

標準添付ライブラリ irb の組み込みコマンドの show_doc の別名として ri というコマンドに対応しています。 https://github.com/ruby/irb/pull/1054

[689bb193cc] Stan Lo 2024-12-28 19:17:03 UTC

標準添付ライブラリ irb の gemspec ファイルの spec.documentation_uri を spec.homepage と同じにしていたのを GitHub Pages のサイトの URL に変更しています。 https://github.com/ruby/irb/pull/1055

[a33c944ba8] Nobuyoshi Nakada 2024-12-29 01:32:33 UTC

Ctrl や Meta キーの修飾を意味する \C- や \M- に続いてバイトコードを \111 のようにエスケープ記法で8進数表記で直接書いたリテラルの prism での parse が修飾キーを無視していたのを修正しています。 [ruby-core:120431] [Bug #20988]

[3650f2460f] sanfrecce-osaka 2024-12-29 11:00:08 UTC

標準添付ライブラリ irb の組み込みコマンド history の -g オプションの引数を抽出するための正規表現に余分な文字があってオプションが有効にできなかった不具合を修正しています。 https://github.com/ruby/irb/pull/1057

ruby-trunk-changes 2024-12-28

今日は主に bundled gems の rbsbigdecimal のバージョン更新や拡張ライブラリ ripper の不具合修正などがありました。

[6e46b9b8b3] Luiz Eduardo Kowalski 2024-12-23 14:50:46 UTC

bundler で ruby のバージョンを指定するファイルの読み込み時に mise.toml という mise という環境管理ツール(anyenv みたいに言語によらず複数のバージョンの環境をするものみたいです)のファイルフォーマットにも対応するようにしているようです。

[8fa1db79bd] Luiz Eduardo Kowalski 2024-12-24 13:39:11 UTC

6e46b9b8b3657822306a365d6538e20fcf764d9b の続きで bundler で ruby のバージョン指定を解析する正規表現リテラルに x オプションをつけて複数行にして、各行にコメントで説明を追記しています。

[081767656d] Nobuyoshi Nakada 2024-12-28 00:00:53 UTC

rubyspec の拡張ライブラリ socket のテストで connect 時の Errno::ENETUNREACH を捕捉して skip するようにしています。

[b82ad36d7c] Hiroshi SHIBATA 2024-12-27 07:21:52 UTC

gems/bundled_gems の rbsbigdecimal のバージョンをそれぞれ 3.8.1 と 3.1.9 に更新しています。

[175770bb6c] Hiroshi SHIBATA 2024-12-27 07:43:32 UTC

rubyspec の bigdecimal のテストで BigDecimal::VERSION で分岐して挙動を分けるようにしています。

[827a19e778] git 2024-12-28 02:19:36 UTC

NEWS の bundled gems のバージョンリストに rbsbigdecimal の項目を追加しています。

[fb18bb183c] Nobuyoshi Nakada 2024-12-28 02:25:57 UTC

拡張ライブラリ ripper で文法エラー時に Universal Parser 用の構造体のレイアウトが異なっていて? 異常終了することがあった不具合を修正しています。 [ruby-core:120432] [Bug #20989]

[0ccc7657f3] Nobuyoshi Nakada 2024-12-28 02:35:00 UTC

parse.y の正規表現リテラルの parse 時のチェックのコードをまとめています。実際に ripper で Ripper::Lexer#scan した時の token の並びが変わるみたいです。

ruby-trunk-changes 2024-12-27

今日は主に Windows 環境でのビルドプロセスの修正などがありました。

[d78ff6a767] Nobuyoshi Nakada 2024-12-26 14:48:05 UTC

19c39e4cfaa467e69b9848c9c5496d7f50d39c7f の ENV.inspect のテストで Windows 環境での Encoding の指定を修正しています。 [ruby-core:120414] [Bug #20984]

[11c9e4f1ce] David Rodríguez 2024-12-23 16:46:32 UTC

bundler の bundle outdated サブコマンドでインストールされていない gem を指定した時のエラーを修正しています。

[7962f32b70] Nobuyoshi Nakada 2024-12-27 01:29:34 UTC

goruby のテスト? のための make hello ターゲットで goruby の名前を GORUBY 変数を参照するようにしています。

[a37a2f5fef] Nobuyoshi Nakada 2024-12-27 02:23:23 UTC

bootstraptest/runner.rb でエラーログを保持しているクラス変数をリセットする時に String#clear ではなく空文字列を再代入する方法に変更しています。

[731a53253f] Nobuyoshi Nakada 2024-12-27 03:33:28 UTC

拡張ライブラリ win32 のテスト用の拡張ライブラリの extconf.rb の make clean ターゲットで消すファイルに object file 名を追加しています。

[6be0ae35e8] Nobuyoshi Nakada 2024-12-27 05:25:07 UTC

Windows 版での make distclean で win32/ ディレクトリを削除するようにしています。えっ、と思いましたが rmdir での削除なので中身があると消えないので、ソースツリー以外のビルドディレクトリでビルドしている場合のことかなと思います。

[3a2d1feb1e] Nobuyoshi Nakada 2024-12-27 07:25:49 UTC

Windows で rm コマンドのエミュレーションのための win32/rm.bat スクリプトで r オプションで recursive な削除が指定されていた時に rd コマンドを利用していたのを、ファイルの種類に応じて rd と del コマンドをそれぞれ試すようにしています。

[e109400748] Nobuyoshi Nakada 2024-12-27 07:26:14 UTC

拡張ライブラリのビルド用の ext/extmk.rb で cd に渡すパスの Windows でのデリミタの対応を追加しています。

[adbbc9109e] Nobuyoshi Nakada 2024-12-27 07:27:30 UTC

Windows 版の win32/Makefile.sub で make clean 系のターゲットで .bundle/ の配下の削除も追加しています。

ruby-trunk-changes 2024-12-26

今日は削除されてしまっていた C API の復活や ENV.inspect の修正、リリース後の default gems 群の標準添付ライブラリのバージョン更新などがありました。

[7df5d65eac] Nobuyoshi Nakada 2024-12-25 13:21:37 UTC

公開 C API の rb_undefine_finalizer() が削除されてしまっていたのを復活させています。 https://github.com/ruby/ruby/pull/12468a [ruby-core:120404] [Bug #20981]

[67d8a97d07] Nobuyoshi Nakada 2024-12-25 16:53:18 UTC

標準添付ライブラリ rdoc に --apply-default-exclude オプションを追加して --exclude オプションの指定があってもデフォルトの指定も保持する(上書きでなく追加にする)ようにしています。 https://github.com/ruby/ruby/pull/12386 https://github.com/ruby/rdoc/pull/1251

[ece332a44d] Sorah Fukumori 2024-12-25 18:50:06 UTC

標準添付ライブラリ reline のテストで起動する ruby の名前を決め打ちにしていたのを Reline.test_rubybin を利用するように修正しています。

[6e73dcff05] "dependabot[bot]" 2024-12-23 15:41:57 UTC

rubygems の Rust 製拡張ライブラリを含む gem のテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[6406ac4d70] David Rodríguez 2024-12-23 19:27:44 UTC

bundler の Bundler::FeatureFlag.bundler_3_mode? みたいなメソッドを動的に定義しているところでメソッド呼び出ししていたのをインスタンス変数の参照に変更しています。 Windows でなぜかたまに失敗する race condition があるのがこれで直らないかなーという感じみたいです。

[b7690c58b9] Yudai Takada 2024-12-22 08:51:09 UTC

拡張ライブラリ strscan の doc/strscan/strscan.md のドキュメントの typo 修正。 https://github.com/ruby/strscan/pull/129

[70e90d5276] Ryan Davis 2024-12-24 21:21:12 UTC

標準添付ライブラリ erb の rdoc 用コメントの typo などの修正。 https://github.com/ruby/erb/pull/56

[0c0b739d97] Hiroshi SHIBATA 2024-12-26 00:53:22 UTC

rubygems と bundler のバージョンをそれぞれ 3.7.0.dev と 2.7.0.dev に更新しています。

[778e73b2b3] Ryan Bigg 2024-12-02 23:37:46 UTC

拡張ライブラリ date の gemspec ファイルで spec.summary と spec.description をシンプルに書きかえています。

[feba2b66ff] Yudai Takada 2024-12-22 17:25:37 UTC

標準添付ライブラリ reline の rdoc 用コメントの typo 修正。 https://github.com/ruby/reline/pull/796

[5fab10999d] Hiroshi SHIBATA 2024-12-26 00:58:36 UTC

拡張ライブラリ stringio と fiddle のバージョンをそれぞれ 3.1.3.dev と 1.1.7.dev に更新しています。

[16665c3623] Nobuyoshi Nakada 2024-12-26 03:31:56 UTC

ENV のテストで環境変数 "test" の設定の復旧を個別のテストメソッドでしていたのを消しています。 setup/teardown でしていたので。

[037bffec07] Nobuyoshi Nakada 2024-12-26 04:02:29 UTC

ENV のテストをメタプログラミングを使ったり複数の assertion をまとめたりしています。

[19c39e4cfa] Nobuyoshi Nakada 2024-12-26 04:42:56 UTC

ENV.inspect で環境変数の変数名にマルチバイト文字が含まれている時の表示で必要に応じでエスケープする対応を追加しています。 [ruby-core:120414] [Bug #20984]

[c6dbb10b74] Nobuyoshi Nakada 2024-12-26 06:01:48 UTC

ENV.inspect ではキーと値のあいだの "=>" の前後の空白がなくて Hash#inspect と表示が異なっていたので、空白を追加するようにしています。 [ruby-core:120409] [Bug #20982]

[9a5ad1b558] Nobuyoshi Nakada 2024-12-26 09:21:05 UTC

thread.c の Init_thread() で size_t が符号つきの時? の警告抑制のための条件分岐を追加しています。

ruby-trunk-changes 2024-12-25

今日は ruby 3.4.0/3.4.1 のリリースがありました。このため master ブランチは 3.5 に移行しています。またトップレベルの Ruby モジュールの追加と RUBY_XXX の定数を Ruby::XXX に追加する変更がありました。

[13e6fe9bbc] Nobuyoshi Nakada 2024-12-24 12:31:52 UTC

RubyVM::Shape クラスを rdoc のドキュメント化対象から外すように :nodoc: タグを追加しています。クラスの定数の部分で :nodoc: するとそのメソッドを定義する関数のところで個別に :nodoc: する必要はないみたいでそちらは削除しています。

[07e89bde46] Peter Zhu 2024-12-23 15:55:49 UTC

rb_darray_insert() というマクロで関数マクロ MEMMOVE() の引数のサイズの指定の方法を間違えて byte 単位にしていたのを修正しています。

[3be1baab82] Misaki Shioi 2024-12-24 18:06:02 UTC

拡張ライブラリ socket の Happy Eyeballs V2 の select のタイムアウト設定が漏れていたところを修正しています。

[58460b4dbd] Victor Shepelev 2024-12-24 18:49:55 UTC

ドキュメントや rdoc 用コメント内でバックトレースでのクオートを現状に合わせて修正したり、Exception#set_backtrace などの rdoc 用コメントに説明を追記しています。 https://github.com/ruby/ruby/pull/12420

[645d604766] Stan Lo 2024-12-24 16:40:22 UTC

NEWS の gem の過去バージョンへのリンクの修正や footnote の追加。

[372e19bbb5] tomoya ishida 2024-12-24 19:29:42 UTC

NEWS に irb の補完が rbs ベースがデフォルトになったことを追記しています。あれ、そうだっけ。

[468b7af67e] Alan Wu 2024-12-24 20:40:57 UTC

doc/_regexp.rdoc の正規表現の文字クラスの \p{Graph} の説明に参考リンクを追加しています。

[8aac08498b] Hiroshi SHIBATA 2024-12-24 23:46:15 UTC

NEWS の default gems のバージョンリストの bundler のバージョンを更新しています。

[c194357c08] Kazuhiro NISHIYAMA 2024-12-24 23:56:08 UTC

NEWS のチケット参照のリンクのための footnote を並びかえています。

[e46314edd1] Nobuyoshi Nakada 2024-12-25 01:30:40 UTC

拡張ライブラリ monitor の rdoc 用コメントの追加。

[4e4b87d324] Takashi Kokubun 2024-12-25 01:48:49 UTC

NEWS の YJIT の変更点のセクションに小見出しを追加しています。

[36e9028f93] Takashi Kokubun 2024-12-25 02:00:06 UTC

NEWS の YJIT の変更点に --yjit-stats の追加項目について追記しています。

[92f850ae84] Nobuyoshi Nakada 2024-12-25 02:13:07 UTC

Ractor::Selector クラスのメソッド群に rdoc 用コメントを追加しています。がクラスのコメントに :nodoc: をつけているので実際にはドキュメント化しないようにしているようです。

[51d3f6459b] Nobuyoshi Nakada 2024-12-25 02:25:03 UTC

Fiber::Pool クラスの rdoc 用コメントに :nodoc: タグをつけてドキュメント化を抑制しています。

[f72b94bdb6] Nobuyoshi Nakada 2024-12-25 02:37:37 UTC

標準添付ライブラリ rdoc の HTML 版ドキュメントのテンプレートでクラス名が重複しているエントリを作らないように uniq! する処理を追加しています。

[e8aca1aafc] Nobuyoshi Nakada 2024-12-25 03:00:00 UTC

NEWS のインデントの再修正。

[970513f677] Nobuyoshi Nakada 2024-12-25 03:04:32 UTC

common.mk で rdoc によるドキュメントの coverage を確認するための undocumented ターゲットで出力を sort するようにしています。

[871124c3ea] Nobuyoshi Nakada 2024-12-25 04:07:22 UTC

拡張ライブラリ ripper の Ripper::Lexer クラスを :nodoc: タグをつけて rdoc によるドキュメント化を抑制するようにしています。

[2acbf45d36] Nobuyoshi Nakada 2024-12-25 04:16:14 UTC

拡張ライブラリ monitor の MonitorMixin#mon_check_owner の rdoc 用コメントを追加しています。

[bf878b5494] Nobuyoshi Nakada 2024-12-25 04:16:28 UTC

Ractor::RemoteError#ractor の rdoc 用コメントを追加しています。

[828e913cf7] Takashi Kokubun 2024-12-25 04:31:02 UTC

NEWS のインデントの修正。

[7245d3e356] Takashi Kokubun 2024-12-25 04:36:12 UTC

NEWS の YJIT の変更点のセクションに --yjit-perf=codegen オプションについて追記。

[e25b350fc5] Takashi Kokubun 2024-12-25 04:42:06 UTC

RubyVM::YJIT.enable の rdoc 用コメントの markup の修正。

[663f833bac] Takashi Kokubun 2024-12-25 04:49:52 UTC

NEWS の YJIT の変更のセクションのローカル変数や引数の管理についての最適化の項目の記述を更新しています。

[f450108330] Takashi Kokubun 2024-12-25 04:50:41 UTC

NEWS のインデントの再修正。

[ddf62c4c20] Nobuyoshi Nakada 2024-12-25 04:53:36 UTC

NEWS の見出しのあとの空行を追加。

[d88c066f42] "NARUSE, Yui" 2024-12-25 07:55:27 UTC

tool/merger.rb のサブコマンド tag で commit 漏れのあるファイルがあった時にエラーを起こすようにしています。

[c953e88142] git 2024-12-25 08:07:41 UTC

NEWS の default gems のバージョンリストの自動更新。今はバージョンリストに過去のバージョンの参照が追加されているため重複してバージョンリストが追記されてしまっています。

[b122376469] Hiroshi SHIBATA 2024-12-25 08:21:27 UTC

3.4.0 のリリースに伴ない NEWS をリセットしています。

[ca17104f59] git 2024-12-25 08:22:21 UTC

あらためて NEWS の default gems のバージョンリストを更新しています。

[b5825a1f5c] Hiroshi SHIBATA 2024-12-25 08:24:56 UTC

doc/NEWS/NEWS-3.4.0.md を追加しています。

[fa863f896a] git 2024-12-25 08:26:11 UTC

NEWS の default gems のバージョンリストに再度自動更新で追記されています。インデントの違いで重複してしまっているみたい。

[b9e2162433] Hiroshi SHIBATA 2024-12-25 08:45:34 UTC

NEWS を再度リセットして、NEWS の default gems や bundled gems のバージョンリストの自動更新は参照している stdgems.org が更新されるまで停止したそうです。なるほど。

[873f6ca382] "Yukihiro \"Matz\" Matsumoto" 2024-12-25 09:15:16 UTC

NEWS.md を削除し doc/NEWS/NEWS-3.4.0.md も空の状態にリセットしてしまっています(たぶん NEWS.md を移動した)。たぶん作業が入れ違いになった模様。

[2f064b3b4b] "Yukihiro \"Matz\" Matsumoto" 2024-12-25 09:15:17 UTC

NEWS を再度リセットし、minor version を 5 に更新しています。 3.5.0 の開発の開始です。

[7f738bb5d7] Hiroshi SHIBATA 2024-12-25 09:18:26 UTC

doc/NEWS/NEWS-3.4.0.md を復旧させています。

[e5e4db1748] Nobuyoshi Nakada 2024-12-12 10:47:34 UTC

トップレベルの定数/Module Ruby を追加しています。3.4 で予約した定数名として警告を出すようにしていたのを 3.5 から実際に定義するようにしています。 [ruby-core:119881] [Feature #20884]

[b923a59b8e] Nobuyoshi Nakada 2024-12-12 11:21:41 UTC

fake.rb で RUBY_XXX 定数のすりかえを Ruby モジュール配下の定数のすりかえに移行? しています。

[8f11d6cbe2] Nobuyoshi Nakada 2024-12-13 01:47:22 UTC

RUBY_XXX といった定数を Ruby::XXX として定義するようにしています。古い名前も定義は残ります。

[9967eccc54] Hiroshi SHIBATA 2024-12-24 06:27:57 UTC

Process::Status の #& と #>> というビット演算のメソッドを削除しています。

[a0460af920] Hiroshi SHIBATA 2024-12-24 07:05:57 UTC

Process::Status の rubyspec のテストを ruby_version_is で 3.3 のみで実行していたのを 3.4 でも実行するようにしています。

[945fdf6091] Hiroshi SHIBATA 2024-12-25 09:44:05 UTC

9967eccc54017110845d3805143ab2e87a0e2393 で rubyspec において 3.4 以前で実行するようにしてた Process::Status のテストを 3.3 より前だとメソッドがないのでやはり 3.3 と 3.4 でのみ実行するように修正しています。

[69bb296fa6] Hiroshi SHIBATA 2024-12-25 10:15:03 UTC

bundler の ruby_version の指定に 3.5 の対応を追加しています。