ruby-trunk-changes 2020-08-18

今日は Fiber#backtrace メソッドの追加や標準添付ライブラリ irb と reline の更新、default gems の gemspec のライセンス指定の修正などがありました。

[0a218a97ad] Samuel Williams 2020-08-15 03:36:18 UTC

Fiber#backtrace および Fiber#backtrace_locations メソッドを追加して Fiber ごとのバックトレースを取得できるようにしています。 NEWS にも追記が欲しいですね。 [ruby-core:98049] [Feature #16815]

[7b4b5e0840] Nobuyoshi Nakada 2020-08-17 13:29:51 UTC

ObjectSpace.dump でコントロール文字を含む文字列をダンプした時の表示が \uXXXX なのに10進法で表示されてしまっていたのを修正しています。

[27f7b047e0] Nobuyoshi Nakada 2020-08-17 13:36:48 UTC

さらに ObjectSpace.dump で "\x7f" (DEL) をダンプした時にも "\u007f" と表示されるようにしています。

[b52a501ca7] Nobuyoshi Nakada 2020-08-17 13:57:40 UTC

インスタンス変数の操作で iv_index_tbl の NULL チェックを追加しています。 File オブジェクト(など IO のサブクラス?)に IO#reopen を呼ぶと RCLASS_IV_INDEX_TBL が NULL にリセットされる場合があったみたいです。

[971857c332] John Hawthorn 2020-07-09 21:59:59 UTC

ObjectSpace.dump でメソッド名を表現する文字列オブジェクトを埋め込む時に直接 %s で埋め込まず dump_append_string_value() を利用してクオートのエスケープが行なわれるようにしています。

[1b34753490] git 2020-08-17 16:48:14 UTC

version.h の日付更新

[264e4cd04f] Alan Wu 2020-08-10 22:19:17 UTC

T_ICLASS 型オブジェクトの操作に Write Barrier を追加して WB_UNPROTECTED だったのを RGenGC の対象にできるようにしています。久しぶりに RGenGC がらみの変更をみたなぁ。 [ruby-core:98935] [Feature #16984]

[bc00e6aa90] Koichi Sasada 2020-08-17 17:22:32 UTC

拡張ライブラリ objspace の ObjectSpace.trace_object_allocations のテストを一時的に実行しないようにしています。

[701217572f] Yusuke Endoh 2020-08-18 05:36:39 UTC

0a218a97ad31f06eb7f59ccdd428fd46c4b93982 で追加した test/fiber/test_backtrace.rb のテストで assert 文の引数のかっこがなくて正規表現リテラル二項演算子 "/" とあいまいで警告が出てたので明示的なかっこを追加しています。

[5474007d61] aycabta 2020-06-25 14:56:03 UTC

irb で def m = ... のような1行メソッド定義の文法に対応するよう RubyLex を修正しています。

[6f0ef83de7] aycabta 2020-07-24 14:48:32 UTC

irb で Symbol.all_symbols メソッドがない場合の fallback をしていたのをやめています。1.8.0 以降からあるということで、現在使われてる ruby ではほぼ常にあるので。

[1359da6ec0] aycabta 2020-08-06 14:34:46 UTC

irbhistory file についてのテストを追加しています。

[ef498a016b] aycabta 2020-08-07 14:42:51 UTC

irb の設定で IRB.conf[:SAVE_HISTORY] に T_BIGNUM な数値がセットされていると RangeError でエラーになってしまってたのを修正しています。

[126e1fc296] aycabta 2020-08-08 11:48:23 UTC

irb の設定で IRB.conf[:SAVE_HISTORY] に負の整数をセットした時に無制限として扱うようにしています。

[a388e2554c] aycabta 2020-08-11 14:54:23 UTC

1359da6ec09d60ac9aef28f2e0df4d7f712f08d3 で追加した test/irb/test_history.rb に明示的な require "irb" を追記しています。

[d32229e338] Nobuyoshi Nakada 2020-08-12 02:20:35 UTC

lib/irb.rb および lib/irb/xmp.rb から require のかわりに require_relative を利用するようにしています。

[6aa786b8a3] Nobuyoshi Nakada 2020-08-12 02:21:36 UTC

irb から不要な require "readline" を削除し require に失敗した時にエラーにならないようにする対応の追加。

[0fcbd07247] Nobuyoshi Nakada 2020-08-12 02:14:12 UTC

Ripper::Lexer::Elem#state が利用可能かどうかの判定に RUBY_VERSION をみてチェックしてたのを、Module#method_defined? でより直接的にチェックするように変更しています。

[82d4da7816] Nobuyoshi Nakada 2020-08-12 03:50:57 UTC

lib/irb/ext/save-history.rb からも明示的な require "readline" を削除しています。

[7fa86de15b] Nobuyoshi Nakada 2020-08-12 04:15:29 UTC

lib/irb/ext/save-history.rb の remove_method 呼び出しに明示的なかっこを追加しています。警告除去かなと思ったら ruby-mode.el がうまく対応できてなかったからとのこと。

[b3f84b4a5b] aycabta 2020-08-13 10:19:00 UTC

irbデバッグ用の出力で設定ファイル(irbrc)をフルパスに展開しておくようにしています。

[43c648c832] aycabta 2020-08-16 13:25:31 UTC

irb で ->{} という lambda の記法に対応するため RubyLex を修正しています。

[a30dea5852] aycabta 2020-08-17 01:41:31 UTC

43c648c8325db536715a8e827951ac48114eb6bd の続き。irb で ->{} による lambda 記法をブロックのネストレベルの判定部分でも対応しています。

[f0d3d4fedb] Tomás Pollak 2020-05-19 01:13:49 UTC

標準添付ライブラリ reline の Reline::ANSI で urxvt や exoterm といった端末での Home/End キーの入力に対応しています。

[215fe54777] aycabta 2020-07-03 15:42:06 UTC

標準添付ライブラリ reline で端末操作時の Errno::EIO 例外の発生を捕捉して無視するようにしています。

[f0e6ecec65] aycabta 2020-07-05 05:02:34 UTC

reline のテストで端末エミュレーター yamatanooroti を使ったテストで一時ディレクトリを掘ってそこで実施するようにしています。

[568615d395] aycabta 2020-07-12 14:21:36 UTC

標準添付ライブラリ reline の Reline::KeyStroke#expand で key_mapping の要素が配列の時の対応。なんかコミットログはこの変更じゃなくてテストの文字列のクオートの変更について書いてるのでうっかり入ったものかも?

[0bc748db36] aycabta 2020-07-12 14:29:45 UTC

f0e6ecec65229050e5c9a6010e09546e9773090d の reline のテストで一時ディレクトリを使うようにした変更の再修正で start_terminal を setup メソッド内で呼んでたのを各テストメソッド内で呼ぶようにしています。うーん、これもコミットログと内容があってないような……。

[44b24ab4c1] Mark Delk 2020-07-12 21:47:43 UTC

標準添付ライブラリ reline で show_mode_in_prompt という設定を追加して、プロンプトに現在の mode (vi mode の時?)を表示するようにしています。

[80a7358cfc] aycabta 2020-07-20 11:52:07 UTC

標準添付ライブラリ reline で inputrc から設定を読み込む時に downcase してしまっていたのをやめています。

[ad24eaabfd] aycabta 2020-07-29 13:34:38 UTC

lib/reline/line_editor.rb の重複した行があったのを削除。

[d1b06229fa] Maciej Mensfeld 2020-08-10 10:54:46 UTC

標準添付ライブラリ reline の gemspec ファイルで license の指定を "Ruby License" から "Ruby" に修正しています。 SPDX ID というのがあるんですね。

[f2435c1508] Nobuyoshi Nakada 2020-08-12 02:09:25 UTC

標準添付ライブラリ reline が pathname に依存していたのをやめています。

[172d44e809] aycabta 2020-08-12 03:48:58 UTC

標準添付ライブラリ reline に明示的な require "rbconfig" を追加しています。

[01b6c520f5] aycabta 2020-08-18 03:38:07 UTC

1359da6ec09d60ac9aef28f2e0df4d7f712f08d3 で追加した irbhistory file のテストで irb を起動するのに -rbundler/setup オプション追加していたのを -I でロードパスを追加するだけにするように変更しています。

[4f697bcf73] Nobuyoshi Nakada 2020-08-18 11:09:57 UTC

f0d3d4fedbfe64c704f8f1e42b1301384b7f52aa で追加された lib/reline/ansi.rb の行末の空白除去。

[a114869905] Hiroshi SHIBATA 2020-08-18 11:06:00 UTC

拡張ライブラリ io/nonblock の gemspec ファイルの license 項目を licenses に変更しています。 RubyBSD-2-Clause の dual license なので複数形じゃないといけないみたいですね。

[0bb8bd7623] Hiroshi SHIBATA 2020-08-18 11:15:20 UTC

default gem の gemspec ファイルに spec.licenses の設定がなかったものに追加しています。

[8fb02b7a97] Hiroshi SHIBATA 2020-08-18 11:15:59 UTC

default gems の gemspec ファイルで license に "BSD-2-Clause" しかなかったものを "Ruby" との dual licenses にするよう変更しています。

[d3b2c1a175] Hiroshi SHIBATA 2020-08-18 11:22:07 UTC

default gem の bignum と readline の gemspec ファイルでライセンス ID として "ruby" や "Ruby License" など SPDX ID として正しくない記法が使われてたのを "Ruby" に修正しています。