ruby-trunk-changes 2021-07-13

今日は主に拡張ライブラリ fiddle の更新や標準添付ライブラリ error_highlight のタブ対応などがありました。

[9df712a0e2] Samuel Williams 2021-07-13 06:46:32 UTC

rb_obj_is_fiber() の宣言を internal/cont.h から include/ruby/internal/intern/cont.h に移動して公開関数にしています。

[b18f6fff69] git 2021-07-13 07:28:57 UTC

version.h の日付更新

[23c8bc367c] Yusuke Endoh 2021-07-13 07:47:35 UTC

標準添付ライブラリ error_highlight のマーカーを表示する時にタブを空白に変換しておくことでタブのせいでずれるのを防ぐようにしています。

[5fd5d71a4b] Yusuke Endoh 2021-07-13 07:53:52 UTC

標準添付ライブラリ error_highlight でスクリプトファイルの末尾に改行がないファイルだった時のことを考慮して最後に改行を加えるようにしています。

[f9c559a0a2] Nobuyoshi Nakada 2021-07-13 10:05:50 UTC

tool/sync_default_gems.rb を --message-filter オプションつきで実行してコミットメッセージの内容をフィルタリングする機能で GitHub の pull request の参照を URL に展開するようにしています。

[4c039a2ea0] Nobuyoshi Nakada 2021-07-13 10:36:52 UTC

tool/sync_default_gems.rb の --message-filter 機能で改行コードが CR+LF だった時に CR を削るようにしています。

[c0f9191ab6] Sutou Kouhei 2021-04-19 07:48:17 UTC

拡張ライブラリ fiddle のバージョンを 1.0.9 に更新しています。

[d1eeb9fec9] Sutou Kouhei 2021-04-20 01:58:23 UTC

拡張ライブラリ fiddle の Windows での WSAGetLastError() でエラーを取得する機能を追加しています。

[303ab5da8b] Sutou Kouhei 2021-04-20 02:07:27 UTC

拡張ライブラリ fiddle の d1eeb9fec953c41ebaf312d7a56948bca43e9f93 で追加したテストで dlopen を呼んでたところを Fiddle.dlopen と receiver を明示するように修正しています。

[5516d74ad2] Sutou Kouhei 2021-04-20 02:11:16 UTC

拡張ライブラリ fiddle のテストに Windows 版での Fiddle.win32_last_socket_error を利用するテストを追加しています。

[37d16bb9dc] Sutou Kouhei 2021-04-20 02:17:25 UTC

拡張ライブラリ fiddle の d1eeb9fec953c41ebaf312d7a56948bca43e9f93 で追加したテストで使ってる文字列リテラルをシングルクオートからダブルクオートを使うように変更しています。

[8c905349bb] Sutou Kouhei 2021-04-20 02:17:38 UTC

同じく拡張ライブラリ fiddle の d1eeb9fec953c41ebaf312d7a56948bca43e9f93 で追加したテストで Fiddle::Function.new に渡す型の引数で TYPE_LONG を負の値にして渡すように変更しています。

[9988f6ac4e] Sutou Kouhei 2021-05-19 21:29:26 UTC

拡張ライブラリ fiddle の Fiddle::MemoryView#to_s というメソッドを追加しています。 MemoryView が示してるメモリ内容をそのままマッピングした文字列オブジェクトを返すみたいです。 https://github.com/ruby/fiddle/issues/74 https://github.com/ruby/fiddle/pull/78

[10e26cfa76] Sutou Kouhei 2021-06-17 04:36:18 UTC

拡張ライブラリ fiddle に Fiddle::MemoryView#release メソッドおよび Fiddle::MemoryView.export メソッドを追加しています。release は対応するメモリ領域を明示的に解放し、export はブロックつきで呼ぶとそのブロック内でのみメモリ領域を確保する MemoryView を作成するようです。 https://github.com/ruby/fiddle/issues/79 https://github.com/ruby/fiddle/pull/80

[9f86e50e1e] Sutou Kouhei 2021-06-17 04:40:11 UTC

拡張ライブラリ fiddle の Fiddle::Pointer#to_ptr で引数が文字列オブジェクトの時に StringValuePtr() で変換後のオブジェクトを wrap という変数に再代入しておくようにしています。共有文字列などの場合にオブジェクトが変わることがあるのでそれに追随するため。

[70b0318646] Sutou Kouhei 2021-06-18 00:29:46 UTC

拡張ライブラリ fiddle の Fiddle::MemoryView で 10e26cfa76468dea6f828dbe8031b5ffcff543cb の変更で struct memview_data::view::obj が Qnil の状態を未初期化として扱うようにしたので Fiddle::MemoryView#initialize の実装で例外発生時に Qnil をセットしておくように修正しています。

[a2c9e1b58a] Sutou Kouhei 2021-06-19 00:44:36 UTC

拡張ライブラリ fiddle のバージョンを 1.1.0 に更新しています。

[5c0d8c6369] Aaron Patterson 2021-07-01 00:35:04 UTC

拡張ライブラリ fiddle の Fiddle::CStruct.offsetof メソッドを追加して構造体内のレイアウト上での先頭からの位置を返すようにしています。 https://github.com/ruby/fiddle/pull/83

[bb868f4814] Sutou Kouhei 2021-07-05 01:45:48 UTC

拡張ライブラリ fiddle で MemoryView が使えるかどうかを RUBY_API_VERSION_MAJOR が 3以降かどうかで判定するようにしています。ヘッダのチェックだと誤って利用中の ruby とは別の ruby のヘッダをみてしまうかもしれないから、みたいなことが書かれてますが、それ間違えてたら RUBY_API_VERSION_MAJOR も間違う気はする。 https://github.com/ruby/fiddle/issues/84

[472d8c5555] Nobuyoshi Nakada 2021-07-11 20:26:58 UTC

拡張ライブラリ fiddle の gemspec ファイルの required_ruby_version を 2.5.0 以降に変更しています。

[a5d6ea9266] Yusuke Endoh 2021-07-13 11:29:30 UTC

標準添付ライブラリ error_highlight の 23c8bc367c6d700789a4059b831606966efb674c のタブ対応のテストで利用するファイルを binmode: true で開くようにしています。Windows で改行コードが変換されないようにかな。

[40d45ab093] Nobuyoshi Nakada 2021-07-13 11:32:13 UTC

bb868f4814c09c978f20f224c5e99656bc8b9bee の拡張ライブラリ fiddle で MemoryView を有効にするかどうかの判定を HAVE_RUBY_MEMORY_VIEW_H マクロによるチェックに再度変更しています。

[1d03c7da04] aycabta 2021-07-13 12:21:35 UTC

標準添付ライブラリ irb の builtin command measure の実装の設定可能な type について lib/irb/init.rb で設定している MEASURE_PROC のキーが対応してる旨コメントを追記しています。

[cb955dc9ac] Nobuyoshi Nakada 2021-07-13 12:34:28 UTC

ext/fiddle/depend を更新しています。