ruby-trunk-changes 2019-05-14

今日は主に reline のテスト修正や SecureRandom.gen_random が private method になっていた不具合の修正などがありました。

[b42303b151] Kazuhiro NISHIYAMA 2019-05-13 21:14:52 +0900

gc.c の preprocessor の #endif にコメントで if の条件を書いてたところの typo 修正。

[082bbdc92e] Hiroshi SHIBATA 2019-05-13 21:26:13 +0900

ext/racc/cparse/README に書いてあったリポジトリを tenderlove のところから github.com/ruby の配下のほうに変更しています。

[3b3b4a44e5] Nobuyoshi Nakada 2019-05-13 23:53:46 +0900

common.mk およびテスト用拡張ライブラリの依存関係の再生成。

[d2003a6d39] Nobuyoshi Nakada 2019-05-14 00:30:08 +0900

Symbol の rdoc 用コメントから Symbol が文字列を表わしてるという表現を削除。

[0215520bea] git 2019-05-14 00:32:58 +0900

version.h の日付更新。

[66a7c92938] Aaron Patterson 2019-05-13 12:59:30 -0700

GC.enable=false されてる状態だと GC.compact は正常に動作できないので処理しないようにしています。また gc_update_object_references() のデバッグ出力で obj_info() を通さないようにしています。

[a1ecf07dff] Aaron Patterson 2019-05-13 14:00:36 -0700

GC.compact で移動済みの slot を埋める T_MOVED 型のオブジェクト struct RMoved を linked list にして一度の compact で生成されたものをリストにして返すようにしています。しかし特にまだそれを利用はしてなさそう。

[79ead821dd] Aaron Patterson 2019-05-13 14:27:54 -0700

ext/json/parser/parser.c の NaN/Infinity/MinusInfinity などの定数を確保する static 変数を rb_gc_register_mark_object() で明示的に mark 対象に追加しておくように修正しています。

[741321704f] aycabta 2019-05-14 07:12:59 +0900

標準添付ライブラリ reline で未使用の変数への代入を削除しています。

[af1f3f131f] aycabta 2019-05-14 07:15:41 +0900

5837290af1216eaadbee3204e40ef16931da2fdb あたりで Readline との互換性のために追加したものも含め Reline のクラス変数に格納する属性の文字列は Encoding.default_external でエンコードしておくようにしています。

[5bab1304af] Urabe, Shyouhei 2019-05-14 11:44:20 +0900

r57384 の変更で標準添付ライブラリ securerandom の SecureRandom.gen_random を alias で宣言するようにしたところ private なメソッドになってしまっていたので明示的に public に戻すように修正しています。 [ruby-core:92633] [Bug #15847]

[602ef62ae6] aycabta 2019-05-14 14:11:28 +0900

標準添付ライブラリ reline の Reline::LineEditor の completion の実装で unicode_normalize で Encoding::CompatibilityError が発生した時に unicode_normalize を省略してやりなおすようにしています。

[6d733565c2] Nobuyoshi Nakada 2019-05-14 14:20:09 +0900

拡張ライブラリ io/console の IO#getch に Windows 向けの実装を追加して _getch() というマクロ? を利用して実装しています。wide character 対応のためらしい。

[456586bb23] Nobuyoshi Nakada 2019-05-14 14:21:46 +0900

6d733565c2df1b34c7f0b7d43d97f80f714a64b9 の続きで IO#getch の Windows 版実装でタイムアウトをサポートするためタイムアウトのための情報を計算するようにしています。

[c174670823] Nobuyoshi Nakada 2019-05-14 14:39:08 +0900

456586bb234915107da255d2944f620a7dd7048b の再修正。 struct timeval の変数の宣言を外のブロックに出して、肝心の rb_wait_for_single_fd() で読み込み可能になるまで待つようにする処理を追加しています。

[29dde62605] Nobuyoshi Nakada 2019-05-14 14:50:21 +0900

6d733565c2df1b34c7f0b7d43d97f80f714a64b9 の io/console での IO#getch の Windows 実装の再修正。 export していない API を利用していたので rb_str_conv_enc() を利用するように修正しています。

[1e65196b54] aycabta 2019-05-14 14:53:34 +0900

標準添付ライブラリ reline の completion 用のコールバックで渡された文字列の Encoding が補完対象の文字列群と一致しなかった時に Encoding::CompatibilityError を発生させるようにしています。

[07e7ae9ed7] aycabta 2019-05-14 15:37:17 +0900

拡張ライブラリ readline のテストで Readline.special_prefixes などのクラスメソッドに渡される文字列の Encoding をチェックする assertion にエラー時のメッセージを追加しています。

[c754e979d3] aycabta 2019-05-14 15:37:45 +0900

test/readline のテストで readline.so と reline を両方 load しておいて helper メソッドでトップレベルの ::Readline 定数をすりかえて両方のテストを実行するようにしています。また LibEditline とリンクしている時に一部のテストを skip するようにしています。

[4fe0961dca] Takashi Kokubun 2019-05-14 16:45:19 +0900

60869ebd005dc21e03e5f3cf9b517ff761781e80 で werker.yml に追加した --jit つきテストで失敗した時に一時ディレクトリに残ってる MJIT 用のソースコードの内容を出力するスクリプトでマッチさせるファイル名の prefix の "_" が抜けてたのを修正しています。

[80c968c571] aycabta 2019-05-14 17:06:38 +0900

テストファイル test/reline/test_key_vi_emacs.rb を test/reline/test_key_actor_vi.rb に移動しています。

[b5a3ec7f18] aycabta 2019-05-14 17:15:49 +0900

標準添付ライブラリ reline の無意味な変数参照が残ってたのを削除しています。