今日は irb の prism/rbs を利用した新しい補完処理の実装追加や default gems の標準添付ライブラリのバージョン更新などがありました。
[8ef7f27321] Matt Valentine-House 2023-11-02 23:29:20 UTC
prism の更新と compile.c の対応。
[f8456b650b] Nobuyoshi Nakada 2023-10-30 12:19:44 UTC
macOS でのコンパイル時の警告を抑制するための wrapper スクリプト tool/darwin-cc に "ignoring duplicate libraries" という警告も抑制対象に追加しています。
[6031fdc632] Nobuyoshi Nakada 2023-10-30 12:20:22 UTC
configure で LIBS や LDFLAGS を設定する処理の darwin のセクションで dsymutils コマンドの名前を CC_NO_WRAPPER という tool/darwin-cc が不要な CC のファイル名を元にして警告の出ない dsymutils を探すようにしているみたいです。
[8becc889db] Nobuyoshi Nakada 2023-10-30 12:21:50 UTC
C API RARRAY_AREF() で GCC 13 での警告抑制のため RBIMPL_WARNING_IGNORED() で局所的にコンパイラの警告抑制するようにしています。
[1cfc853be6] Nobuyoshi Nakada 2023-11-05 11:08:58 UTC
vm_eval.c の rb_yield_refine_block() でも GCC 13 での警告抑制のためダミーの変数代入を追加しています。
[e8ef010a81] ima1zumi 2023-11-07 15:38:47 UTC
標準添付ライブラリ reline のバージョンを 0.4.0 に更新しています。
[96557bc276] git 2023-11-07 15:39:46 UTC
NEWS の default gems のバージョンリストの reline のバージョンも 0.4.0 に更新しています。
[a294bb844c] Jean byroot Boussier 2023-11-07 15:49:36 UTC
YJIT のインスタンス変数セットのコード生成の処理で Object Shapes の too complex 時の対応を追加しているようです。https://github.com/ruby/ruby/pull/8857
[9877f3ada8] Takashi Kokubun 2023-11-07 15:54:33 UTC
YJIT で呼び出すメソッドの ISeq が非常にシンプルで定数を返すようなものであった場合にメソッド呼び出しを省略して結果を展開するようにする最適化をするようにしています。 https://github.com/ruby/ruby/pull/8855
[1910bd4247] Nobuyoshi Nakada 2023-11-07 14:26:14 UTC
rb_fstring() で文字列のバッファサイズを実際の文字列長に合わせて resize する処理を struct RBasic::flags に STR_NOFREE フラグが立ってた場合は静的な領域なので resize 不可なのでスキップするようにしています。
[d9d0938116] Maxime Chevalier-Boisvert 2023-11-07 17:46:07 UTC
doc/yjit/yjit.md を最新の情報に更新しています。 https://github.com/ruby/ruby/pull/8861
[392238e3fd] Peter Zhu 2023-03-03 21:05:01 UTC
T_TYPEDDATA 型のオブジェクトに Variable Width Allocation によって拡張した slot にデータを埋め込んでしまうことができるようにしています。rb_data_type_t::flags に RUBY_TYPED_EMBEDDABLE というビットフラグを追加してこれで制御しているのでオブジェクト(インスタンス)単位での判定ではなくクラス(より正確には内部的な TypedData の型)ごとに埋め込みを使うかどうか制御しています。ただ埋め込めないサイズだった時は従来のヒープにメモリを確保する処理に fallback するので開放時やメモリ使用量の取得時には結局インスタンスごとに RTYPEDDATA_EMBEDDED_P() で判定するようにしています。 https://github.com/ruby/ruby/pull/7440
[aa6642de63] Peter Zhu 2023-11-07 18:22:48 UTC
392238e3fd76beb923de1ba3f8d8d6bd28c7030e で導入した T_TYPEDDATA 型オブジェクトで Variable Width Allocation による拡張 slot を利用してデータを slot 内に埋め込むのを Time クラスで利用するようにしています。
[a1c61f0ae5] Alan Wu 2023-10-16 22:35:26 UTC
YJIT の JIT コード生成の処理の Rust 実装で CodePtr という構造体(っていうのかな)で利用する変数の型を 32bit にしてメモリ節約しているようです。
[7367336c4e] Alan Wu 2023-11-07 22:46:24 UTC
YJIT の Rust 実装でメモリ不足時のための処理? が異常終了を起こす可能性があったのを修正しているようです。よくわからないですが。
[d12e881009] BurdetteLamar 2021-09-21 17:38:28 UTC
拡張ライブラリ json の rdoc 用コメントのサンプルの追加。
[55840d0a33] Ellen Marie Dash 2023-09-29 03:15:35 UTC
rubygems の Gem::Installer.at のテストで発生する予定の例外として Errno::EACCES も許容するようにしています。
[acd428c823] Ellen Marie Dash 2023-09-30 23:18:51 UTC
55840d0a331d0920cfecae44de7147ada7dff254 を revert しています。
[42cf1307c3] Vít Ondruch 2023-10-20 16:01:14 UTC
rubygems の Gem::Installer.new の :user_install というオプションの指定時の処理が冗長だったので整理しているようです。おそらく挙動の変化はないんじゃないかなと思います。
[d0ad90df68] Vít Ondruch 2023-10-23 15:13:33 UTC
rubygems の Gem::Installer の :user_install と :install_dir の指定のある時のテストを追加しています。
[bd5368fdec] Vít Ondruch 2023-10-23 14:19:59 UTC
rubygems のテストで利用している util_installer というヘルパーメソッドの user という省略可能な第3引数を削除しています。
[ca7444cc44] Vít Ondruch 2023-10-23 15:12:51 UTC
rubygems の gem install で --install-dir と --user-install というコマンドラインオプションを両方指定したらエラーにしていたのを許容するようにしています。
[2d719cd146] David Rodríguez 2023-10-25 19:30:43 UTC
rubygems の Gem::Installer#install の実装で Zlib::GzipFile::Error という zlib の例外を捕捉して Gem::InstallError を投げなおすようにしていたのを削っています。
[7f7a7f13ed] David Rodríguez 2023-10-26 16:44:20 UTC
bundler による rubygems の installer の拡張 Bundler::RubyGemsGemInstaller で pre_install_checks メソッドを再定義して Gem::FilePermissionError という例外は無視するようにしています。
[5b076e00ce] David Rodríguez 2023-10-26 18:16:07 UTC
bundler で git fetch コマンドを使って特定の commit hash をチェックアウトする? 処理で古い git コマンドの対応のために uploadpack.allowAnySHA1InWant という設定を使うようにしています。なんだろこれ。
[05ea3bcf14] David Rodríguez 2023-10-03 11:03:21 UTC
bundler の Bundler::GemInstaller#install_from_spec で Bundler::APIResponseInvalidDependenciesError という例外を捕捉していたのを削っています。たぶん Bundler::BundlerError を継承しているので冗長だったということではないかと思います。
[a131ea39b7] David Rodríguez 2023-10-03 12:37:44 UTC
bundler が GEM_HOME などに他のユーザーの書き込み権限があるなどセキュリティ的に問題のある時の警告を出力する処理をリファクタリングしています。
[9f67118d7b] David Rodríguez 2023-10-26 18:50:06 UTC
bundler の依存関係解決で platform の指定のある時の処理をリファクタリング? しているようです。
[9afd2957ed] David Rodríguez 2023-10-26 18:54:17 UTC
bundler のテストの修正。
[e6e4b4884d] David Rodríguez 2022-12-30 12:34:16 UTC
bundler の rdoc 用コメントを整形のために位置を移動などしています。
[d8e0337d02] Nobuyoshi Nakada 2023-10-22 16:42:18 UTC
bundler のテストで非 ASCII 文字が直接書かれていたところを \u{XXXX} の記法を利用するようにしています。
[c8d4b103a9] tomoya ishida 2023-10-21 11:56:21 UTC
標準添付ライブラリ irb の easter egg の実装の修正みたいです。 https://github.com/ruby/irb/pull/735
[d30ea5831e] Jun Aruga 2023-10-26 15:27:19 UTC
拡張ライブラリ openssl のテストの test/openssl/fixtures/ssl/openssl_fips.cnf.tmpl という不要なファイルを削除しています。
[2a6d6d3d65] Sutou Kouhei 2023-10-27 21:11:30 UTC
拡張ライブラリ fiddle で C の真偽値を ruby で true/false として取り出せるように TYPE_BOOL というタイプを追加しています。 https://github.com/ruby/fiddle/pull/130
[c19ea1066a] Sutou Kouhei 2023-10-30 05:48:07 UTC
2a6d6d3d65de43635a5f6ad38dbca170f1e40119 の続き? 拡張ライブラリ fiddle の ext/fiddle/closure.c に #include <stdbool.h> を追加しています。
[9c2e0d49fe] Sutou Kouhei 2023-10-30 05:57:38 UTC
拡張ライブラリ fiddle の ext/fiddle/conversions.c に重複して無駄な return 文が残っていたので削除しています。
[ce8301084f] Sutou Kouhei 2023-10-11 00:40:36 UTC
拡張ライブラリ strscan のバージョンを 3.0.8 に更新しています。
[2f07963609] git 2023-11-08 00:30:22 UTC
NEWS の default gems のバージョンリストの strscan のバージョンも 3.0.8 に更新しています。
[7ed37388fb] Sutou Kouhei 2023-11-08 00:46:10 UTC
拡張ライブラリ stringio の StringIO#gets などの行指向のメソッドで改行コードの文字列を rb_rs からバッファの Encoding にあわせて変換しておくように修正しています。UTF-16 などの非 ASCII 互換な文字エンコーディングでうまく処理できなくなっていたようです。 https://github.com/ruby/stringio/pull/69
[e344010465] tomoya ishida 2023-11-08 02:46:24 UTC
詳細は読んでいませんが irb の補完処理に prism による AST 取得と rbs による型情報を元にした補完処理を実装しているようです。 https://github.com/ruby/irb/pull/708
[906f6cfe64] "dependabot[bot]" 2023-11-08 02:18:03 UTC
GitHub Actions の workflow で利用している ruby/setup-ruby アクションのバージョンを更新しています。
[4da6333615] Nobuyoshi Nakada 2023-11-08 04:02:55 UTC
internal/ruby_parser.h の rb_parser_new() と rb_parser_compile_string_path() という関数の宣言を外部に公開するシンボルのセクションに移動しています。
[7f565b923a] Yusuke Endoh 2023-11-08 06:39:19 UTC
標準添付ライブラリ timeout のテストで未使用変数の警告を除去。
[8da33bff8c] tomoya ishida 2023-11-08 06:42:05 UTC
irb の e34401046566ad1938b1eec654a6bf69b1319102 で導入した新しい補完処理の実装のテストを環境変数 WITH_TYPE_COMPLETION_TEST がセットされている時だけ実行するようにしています。 https://github.com/ruby/irb/pull/748
[8cd6c65af1] Sutou Kouhei 2023-11-08 07:03:31 UTC
拡張ライブラリ stringio のバージョンを 3.1.0 に更新しています。
[4abf6cde58] git 2023-11-08 07:05:17 UTC
NEWS の default gems のバージョンリストの stringio のバージョンも 3.1.0 に更新しています。
[d898e8d6f8] Jean Boussier 2023-11-07 17:09:55 UTC
コミットログを信じるなら Object Shapes の実装のリファクタリングらしいですが、どうみても too complex 対応まわりの修正っぽいですね。