ruby-trunk-changes 2020-11-18

今日は拡張ライブラリ fiddle の機能追加/バージョン更新や拡張ライブラリ ripper のメソッドにキーワード引数 raise_errors を追加する変更などがありました。

[5e3259ea74] Koichi Sasada 2020-11-17 07:40:47 UTC

include/ruby/ractor.h を追加して Ractor 関連の拡張ライブラリが作れるようにいくつかの関数を C API 化しています。

[0829f14704] git 2020-11-17 18:53:08 UTC

version.h の日付更新

[898aff954e] Jeremy Evans 2020-11-17 21:58:27 UTC

NEWS の taint フラグについての警告がデフォルトで出るようになったという項目を削除しています。 deprecation warning 全般がデフォルトでは出ないようになったため記述が嘘になってたので。

[2ef3b979bd] Junichi Ito 2020-11-17 22:09:00 UTC

NEWS にコマンドラインオプション --backtrace-limit について追記しています。そういえばこんなのあったな。 [Feature #8661]

[64926d5007] MSP-Greg 2020-11-17 14:24:34 UTC

標準添付ライブラリ net/smtp のテストで UNIXSocket を使っているところを UNIXSocket がなかったらただの Socket.pair を使うように対応して、Windows でテストを実施しないようにしてたのを戻しています。

[ae7b53546c] Sutou Kouhei 2020-07-09 11:19:20 UTC

拡張ライブラリ fiddle の C の型を指定する定数に Fiddle::TYPE_CONST_STRING や Fiddle::SIZEOF_CONST_STRING を追加しています。 const char * に対応する型のようです。

[e2dfc0c26b] Sutou Kouhei 2020-07-09 12:39:51 UTC

拡張ライブラリ fiddle の型の指定を定数ではなく "voidp" とか :voidp のようにキーワードの文字列や Symbol での指定を可能にしているようです。

[307388ea19] Aaron Patterson 2020-08-02 21:26:40 UTC

拡張ライブラリ fiddle に Fiddle::Pinned というクラスを導入して、確保したオブジェクトを GC.compact で移動できない pin されたオブジェクトにする参照を作れるようにしています。また fiddle 内で使う例外のベースクラスとして Fiddle::Error という例外クラスを導入しています。 https://github.com/ruby/fiddle/pull/44

[aff5eaced4] Sutou Kouhei 2020-08-15 04:19:23 UTC

拡張ライブラリ fiddle の Windows の RubyInstaller 版向けの対応。 Fiddle::DLError の定数の削除をしているのですが、コメントによると RubyInstaller 版では起動時に常に fiddle がロードされるので require した時に再定義の警告を抑制するためかな?

[1867088d90] Sutou Kouhei 2020-09-27 22:06:27 UTC

拡張ライブラリ fiddle の fiddle/import.rb で Fiddle.dlopen から発生した Fiddle::DLError を捕捉してメッセージを変えて再 raise してたのをやめています。

[e27701291a] Sutou Kouhei 2020-11-16 21:04:00 UTC

拡張ライブラリ fiddle の rb_fiddle_malloc() で ruby_xmalloc() を利用して後で memset() でゼロクリアしていたのを ruby_xcalloc() を利用するようにリファクタリングしています。

[821cfa74cb] Sutou Kouhei 2020-11-16 21:44:04 UTC

拡張ライブラリ fiddle の gemspec ファイルの spec.metadata に msys および mingw 向けの外部依存関係として libffi を追加しています。

[3b385c33b8] Sutou Kouhei 2020-11-16 21:54:18 UTC

821cfa74cb6c5b778928e880c08d61265e539c60 の続きで fiddle の gemspec ファイルでの spec.metadata の設定で freeze された文字列リテラルを代入するとその後 String#sub! で置換しようとしてエラーになるそうなので String#+@ を使って dup しておくようにしています。

[ceccc16589] Sutou Kouhei 2020-11-16 23:51:36 UTC

と思ったら 3b385c33b840218a51736946624de5b0226d52c8 は revert されています。 String#sub! してるほうを修正したのかな。

[5c7ef89db4] Sutou Kouhei 2020-11-17 02:12:09 UTC

拡張ライブラリ fiddle のテストでブロックパラメーターによるローカル変数の遮蔽の警告除去。

[aa22b6658a] Sutou Kouhei 2020-11-17 02:57:12 UTC

拡張ライブラリ fiddle のバージョン Fiddle::VERSION 定数の内容を 1.0.2 に更新しています。

[fcd680fbf0] Sutou Kouhei 2020-11-17 20:18:55 UTC

拡張ライブラリ fiddle の value_to_generic() が戻り値が void 型なのに不要な return 文が書かれてたのを削除しています。

[0915a02068] Sutou Kouhei 2020-11-17 20:26:15 UTC

ext/fiddle/depend の依存関係を再生成しています。

[519062b350] Sutou Kouhei 2020-11-17 20:26:35 UTC

NEWS に fiddle のバージョン更新について追記しています。

[a776032ef1] Kazuhiro NISHIYAMA 2020-11-18 01:52:56 UTC

5e3259ea7490a2542d78c433eb8c9d44c7819e61 で追加した include/ruby/ractor.h の rb_ractor_shareable_p_continue() の宣言はコメントで直接呼ぶなって書かれてましたが、利用している inline 関数の中で宣言することでヘッダを include しただけで宣言がみえるのを避けるようにしています。

[cd0877a93e] Jeremy Evans 2020-11-18 05:15:50 UTC

拡張ライブラリ ripper の Ripper.lex, Ripper.tokenize, Ripper.sexp などにキーワード引数 raise_errors を追加して、これに true を指定するとエラー時に戻り値で返すかわりに SyntaxError 例外を発生させるようにしています。 [ruby-core:100470] [Feature #17276]

[1301bd8ca9] Jeremy Evans 2020-11-18 05:26:24 UTC

cd0877a93e91fecb3066984b3fa2a762e6977caf に追随して拡張ライブラリ ripper の rdoc 用コメントにキーワード引数 raise_errors についての記述を追加しています。

[6e487719b4] Yusuke Endoh 2020-11-18 05:47:37 UTC

bundled gem の typeprof のバージョンを 0.6.1 に更新しています。

[dc3a65bd99] Hiroshi SHIBATA 2020-11-18 06:43:46 UTC

標準添付ライブラリ net/smtp の Net::SMTP::VERSION の定数の内容を "0.2.1" に更新しています。