ruby-trunk-changes 2019-06-04

今日は irbシンタックスハイライトまわりの修正やテストなどの出力の色付けの処理を tool/colorize.rb というファイルに分離して他のツールでも使うようにする変更などがありました。

[11d3986d65] Takashi Kokubun 2019-06-03 12:15:54 UTC

4c0e21add7c87b70df27fbff81d8f192a467556d で common.mk に bash 依存が入ってたので SHELL 変数を /bin/bash に変更しています。 おお、しかし意外と壊れる環境ありそう。

[1b2b0e1f24] Takashi Kokubun 2019-06-03 12:59:34 UTC

11d3986d6557eb3cfcecbdd0ef6e21b18c7c960b を revert しています。 Travis-CI でエラーになったとのこと。

[928377d2c5] Takashi Kokubun 2019-06-03 13:00:14 UTC

ということで bash 依存を入れていた 4c0e21add7c87b70df27fbff81d8f192a467556d のほうを revert しています。

[0c459af7c2] Nobuyoshi Nakada 2019-06-03 15:14:55 UTC

irb で入力途中のバッファもシンタックスハイライトする時にエラーもハイライトするようにすると、入力途中の部分がエラーとして表示されてしまうので "incomplete end of input" のタイプのエラーは無視するようにしています。

[6498c733da] git 2019-06-03 15:20:29 UTC

version.h の日付更新。

[de541fe196] Takashi Kokubun 2019-06-03 15:22:22 UTC

irbシンタックスハイライトで \uXXXX でエンコードされた文字列をエスケープして元のエンコード記法に戻すようにしています。

[d21a694075] Takashi Kokubun 2019-06-03 15:29:53 UTC

irbシンタックスハイライトの終端のエラーについてのテストケースを追加しています。

[0da9205f15] Takashi Kokubun 2019-06-03 15:32:16 UTC

de541fe1961370e64541d73c96cf790d30f28604 で誤って変更してたテストのコメントを戻しています。

[fc7b4c7018] Nobuyoshi Nakada 2019-06-03 15:27:44 UTC

reline で stty -a の結果を String#scan して確認してましたが、たんに正規表現のマッチするかどうかみるだけで充分だったのでシンプルに書きなおしています。

[9987f45765] Takashi Kokubun 2019-06-03 15:35:58 UTC

IRB::Color.scan のキーワード引数の名前を改名しています。

[1a0b82210c] Takashi Kokubun 2019-06-03 16:03:03 UTC

make benchmark で利用する benchmark-driver.gem のバージョンを v0.14.17 に更新しています。

[ca22cccc14] NAKAMURA Usaku 2019-06-03 18:52:53 UTC

gc.c の allocate_page_list() で VC++ の警告抑制のため明示的な初期化を追加しています。

[4eb1c2365c] Aaron Patterson 2019-05-30 19:08:06 UTC

Proc/Binding の GC.compact 対応を追加しています。 rb_block_t の移動に追随する block_compact() を追加して Proc/Binding からの参照を更新できるようにしてこれらのオブジェクトの mark でオブジェクトを pin しないようにしています。

[2de3d92844] Aaron Patterson 2019-05-30 21:50:43 UTC

T_IMEMO 型オブジェクトも GC.compact での参照移動に対応しています。

[790a1b1790] Aaron Patterson 2019-05-30 22:25:31 UTC

st_table の key を mark する時に常に pin しないようにしています。 hash は移動しても変化しないから大丈夫ってコミットログにあるけど、いつのまにそうなってたっけ。

[c9b74f9fd9] Aaron Patterson 2019-06-03 22:15:48 UTC

790a1b17902f7ccb5939b9e0314571079fc30bc8 の続きで mark_keyvalue() で key を pin しなくなったので mark_hash() で compare_by_id タイプのテーブルだったらやっぱり key を pin する pin_key_mark_value() という関数を新設してこちらを使うようにしています。

[4b7213a85a] aycabta 2019-06-03 21:39:02 UTC

reline の emacs モードで Meta-t による ed_transpose_words という処理を実装しています。単語単位の前後の入れ替え。

[d950cade53] Takashi Kokubun 2019-06-03 23:33:03 UTC

Azure Pipelines の BASERUBY の? バージョンを 2.6.2 に変更しています。

[9a07915ae2] aycabta 2019-06-03 23:34:10 UTC

Reline の編集用メソッドの alias をいくつか追加しています。

[aa8d393d8a] Nobuyoshi Nakada 2019-06-04 00:24:17 UTC

rubyスクリプトを標準入力の端末から受け取る時に行頭ではなく行の途中で Ctrl-D で EOF を送信した時に 3回送信しないと読み込みを終了しなかったのですが、cat や perl と同様に 2回(行の終端とファイル終端)で打ち切るようにしています。

[14b5ccf91b] git 2019-06-04 00:36:32 UTC

aa8d393d8a69d1a5780d338692f75e2dd821c5b0 のインデントのタブを空白に展開。

[7866ed850c] Yusuke Endoh 2019-06-04 02:39:27 UTC

AST の Node をダンプする時に文字列化されない内部的変数の時にその ID を数値として出力するようにしています。

[b0cb4bdb4e] git 2019-06-04 02:40:21 UTC

7866ed850c1ae95a6b115e09f3788d5b623f0708 のインデントのタブを空白に展開。

[c1e2d50531] Kazuhiro NISHIYAMA 2019-06-04 03:37:25 UTC

README.md に記載している Azure Pipelines のバッジ? のリンクを trunk でなく master のビルド結果のほうに変更しています。

[8406547b7c] Kazuhiro NISHIYAMA 2019-06-04 03:39:03 UTC

c1e2d50531f3ba50cce3016bcfd440546e1ef007 と同様に README.ja.md に記載している Azure Pipelines のバッジ? のリンクを修正しています。

[ce4b5d90b2] git 2019-06-04 03:39:25 UTC

c1e2d50531f3ba50cce3016bcfd440546e1ef007 と 8406547b7c3f97c073aa70d22ec7e90a6bf5af5e の行末の空白除去。

[58fd27d3d8] Nobuyoshi Nakada 2019-06-04 08:06:12 UTC

make の出力に色付けするための tool/colorize.rb で test/colors というファイルから設定を読み込むようにしています。

[16cb1fb007] Nobuyoshi Nakada 2019-06-04 08:09:16 UTC

tool/extlibs.rb で tool/colorize をロードして出力を色付けするようにしています。

[b0c35ff2db] Nobuyoshi Nakada 2019-06-04 08:23:57 UTC

58fd27d3d89451fbbe840348cd66f2205e34e72b の修正。 test/colorize から読み込んだ内容をセットする変数名が間違ってたので修正。

[a57d6d2325] Nobuyoshi Nakada 2019-06-04 09:08:21 UTC

58fd27d3d89451fbbe840348cd66f2205e34e72b の追加修正。 tool/colorize.rb の Colorize.new で設定ファイルをキーワード引数で受け取るようにして省略可能にしています。

[fade26afa7] Nobuyoshi Nakada 2019-06-04 09:10:09 UTC

a57d6d2325ddc71363414acf2f923db0bf0ddc9c の再修正。 tool/colorize.rb は BASERUBY で実行される可能性があるので、古い ruby での実行に備えてキーワード引数は使わず、なんかすごいトリッキーなデフォルト引数を使って代替しています。

[e7aa87c353] Nobuyoshi Nakada 2019-06-04 09:33:34 UTC

reline のテストのテストメソッドが重複していたので改名しています。

[51d27d25d7] Nobuyoshi Nakada 2019-06-04 09:51:49 UTC

test/lib/test/unit.rb での出力の色付けを tool/colorize.rb を require して使うようにしています。うーん、tool/ 配下に依存しちゃうのか…。

[24a96a0228] Nobuyoshi Nakada 2012-06-22 05:38:03 UTC

marshal.c の rb_marshal_dump_limited() と rb_marshal_load_with_proc() という関数は誤って static として marshal.c の先頭で宣言されてましたが、rb_ の prefix もついてるので宣言を include/ruby/ruby.h に移動して公開 API にしています。

[9e472e18d2] Nobuyoshi Nakada 2019-06-04 10:00:48 UTC

拡張ライブラリ date のテストで不正なバイナリを Marshal.load する時のテストで警告を抑制するように一時的に $VERBOSE を変更して実行するようにしています。

[c8b001858e] Nobuyoshi Nakada 2019-06-04 10:06:19 UTC

24a96a0228ccf355826644a9daad69e11b67b53b を revert しています。

[2c60f37143] Nobuyoshi Nakada 2016-05-12 07:52:34 UTC

Random オブジェクトの内部で使われてる T_TYPEDDATA 型オブジェクトのタイプの名前を "random" -> "random/MT" に変更して、型情報を格納する変数名も変更しています。また Init_Random_default() という初期化関数に Class を渡すようにしていますが、呼んでるところでは同じ rb_cRandom を渡してるので結果は同じですね。

[2e2cd8297b] git 2019-06-04 10:55:04 UTC

2c60f3714381803218313a6056d3e1dd39782ca1 のインデントのタブを空白に展開。