ruby-trunk-changes 2019-10-11

今日は標準添付ライブラリ delegate で BasicObject への委譲にも対応する変更や String の最小バッファサイズの調整など細々とした最適化がありました。

[c144d7215b] Nobuyoshi Nakada 2019-10-10 12:02:45 UTC

0131fab749fb76800de09e49a6abf910201c5b58 で時間短縮を図った openssl のテストですが、やっぱり時間かかりすぎということで再度 skip しています。 [ruby-core:95179] [Bug #16196]

[a886d5cb79] Yusuke Endoh 2019-10-10 14:18:44 UTC

File のテストで実効ユーザーが owner ではない適当なファイルパスを返すために root かどうかのチェックのために euid を 0 と比較していたのを "/" の owner の uid と比較するようにしています。コンテナ内とかを想定しているようです。

[f845e1bc99] Yusuke Endoh 2019-10-10 14:21:24 UTC

拡張ライブラリ syslog の extconf.rb で liblog なるシステムライブラリ? をチェックして可能ならリンクするようにしています。 Android 環境では syslog の利用にこれが必要みたいです。

[4171909695] Yusuke Endoh 2019-10-10 14:22:37 UTC

MJIT 用に JIT コンパイルのためにコンパイラを起動する時のリンカオプションに、Android 環境では -lm を追加するようにしています。

[2322c94dd6] Jeremy Evans 2019-08-25 07:04:14 UTC

標準添付ライブラリ delegate で BasicObject には respond_to? メソッドすらないので Kernel#respond_to? を UnboundMethod として取り出して bind_call で対象のオブジェクトに bind して呼ぶことで BasicObject への委譲もできるようにしています。 [ruby-core:94541] [Bug #16127]

[ddb0267e76] git 2019-10-10 20:15:28 UTC

version.h の日付更新

[29c1e9a0d4] Jeremy Evans 2019-10-10 18:25:54 UTC

doc/syntax/ の下のドキュメントや doc/keywords.rdoc で expression と statement (式と文、かな)という単語の利用を若干修正して、後置の if/unless/rescue などの記法についてのドキュメントを追加しています。 [ruby-core:94221] [Bug #16092]

[87958520f3] takkanm 2018-06-19 11:49:09 UTC

Binding#irbirb のセッションを起動した時に __FILE__ や __dir__ が起動されたファイルを指すように binding_irb.context.irb_path をセットするようにしています。 https://github.com/ruby/ruby/pull/1896

[0ca4f74967] Lourens Naudé 2019-09-10 23:18:41 UTC

起動時に VM 命令の ID と通し番号を登録する st_table の初期化時にサイズを指定する st_init_numtable_with_size() を使うようにしてちょっとした最適化。

[9c24ce551d] Lourens Naudé 2019-04-25 21:35:43 UTC

String オブジェクトのバッファを heap から取得する場合の capa の最小値を 127 から 63 に減らしています。

[7cc1cd3d1e] ksss 2016-10-24 02:42:31 UTC

Module#define_method に渡された引数が誤っていた時の例外メッセージに Proc/Method を渡すべしと書かれてましたが UnboundMethod でも OK なのでそれも追記しています。

[ddfb306e8e] Gabriel Nagy 2019-10-11 04:48:02 UTC

r60856 (e33b1690d06f867e45750bd8e3e8b06d78b5bc26) で win32.c の socket 管理の変更の時に NtSocketsInitialized という変数をマクロにしてほぼ未使用に近い状態だったのを削除して冗長な分岐を削除しています。 https://github.com/ruby/ruby/pull/2312

[d6c80876b7] Kazuhiro NISHIYAMA 2019-10-11 04:50:27 UTC

標準添付ライブラリ uri で UnboundMethod#bind と Method#call を組み合わせてたところを UnboundMethod#bind_call を使うようにリファクタリング。古い ruby で…と思ったけど uri はまだ default gem 化されてなかったですね。