ruby-trunk-changes 2019-12-22

今日は Kernel#lambda の返す Proc オブジェクトの lambda フラグの条件による変更や File.extname の Windows での挙動の変更などがありました。

[e0b336c8ce] Alan Wu 2019-07-15 03:41:43 UTC

rubyspec に lambda を再定義してその中で super を呼ぶケースについてのテストを追加しています。うへー、あまりやりたくはないハックですね。

[ddb6023d64] Alan Wu 2019-07-15 04:35:30 UTC

Kernel#lambda を Kernel#method メソッドで Method として取り出して呼ぶテストを追加しています。

[85a337f986] Alan Wu 2019-07-13 16:04:01 UTC

Kernel#lambda にブロック渡ししたのとブロック引数で Proc オブジェクトを渡した時とを区別してブロック引数で渡された時に lambda ではない Proc オブジェクトを作るようにしているようです。んー、しかし m(&->(){...}) みたいにしたら既に lambda? が true な Proc オブジェクトを渡すことになるんじゃないのかなぁ。 lambda かどうかは定義した場所で決まるものだと思ってたけど(そうでないと return の解釈が呼び元に至る経路で変わることになって使いずらい)。それか block_handler_type_iseq はブロックを &blk のような引数で受けたものを渡した時に限るのかな(テストはそういうケースになっている)。 [ruby-core:91616] [Bug #15620]

[7fd6077d98] Nobuyoshi Nakada 2019-12-14 02:01:49 UTC

Reline::ANSI.prep で stty コマンド実行するのにバッククオートを使っていたのを IO.popen や system を利用するようにし、例外に対応するようにしています。

[ec1de789a9] Yusuke Endoh 2019-12-14 06:46:42 UTC

標準添付ライブラリ reline の Reline::ANSI.cursor_pos でレスポンスの文字を受け取った時に余計な入力は捨てていたのを stdin.ungetc で書き戻しておくようにします。irb 起動時にプロンプト表示前に入力した文字が捨てられるのを抑制するようにしています。

[a3cc2a2fbd] Yusuke Endoh 2019-12-14 07:07:21 UTC

irbruby-lex.rb で auto indent 用の do ブロックのインデントの深さの判定を修正。

[616f1357c3] Yusuke Endoh 2019-12-14 07:14:43 UTC

a3cc2a2fbde23637fb924f75e977599b7a475118 と同様のインデント幅判定の条件の修正をもう一件。

[0835a971ef] aycabta 2019-12-18 13:57:25 UTC

lib/reline/config.rb の不要になった TODO コメントを削除。

[29ea228efc] git 2019-12-21 16:58:02 UTC

version.h の日付更新

[61aff0cd18] NAKAMURA Usaku 2019-12-21 17:36:55 UTC

File.extname は Windows とそれ以外でファイル名の末尾がドット(.) で終わる場合の挙動が違っていて Windows では空文字列を返しそれ以外では "." だけを extname として返していましたが、Windows でも末尾以外にドットが含まれていなければその他の環境と同じく "." を返すように変更しています。 [ruby-core:89615] [Bug #15267]

[3a29f05ba5] "NARUSE, Yui" 2019-12-21 16:39:17 UTC

tool/format-release で出力する YAML の変更ファイル数を格納する位置をちょっと変更しています。

[75acbd5f00] Yusuke Endoh 2019-12-21 18:31:27 UTC

keyword splat 変数の処理の不具合で空の keyword splat が渡されてた場合に不要な Hash オブジェクトが消される影響で SEGV することがある不具合を修正しています。 [ruby-core:96392] [Bug #16442]

[644336eef5] Koichi Sasada 2019-12-21 20:20:08 UTC

RubyVM::InstructionSequence#to_binary のサイズ削減をした変更について NEWS ファイルに追記しています。 [ruby-core:94898] [Feature #16163]

[fa1bf8ab37] Yusuke Endoh 2019-12-19 14:13:21 UTC

標準添付ライブラリ reline の Reline::ANSI に Ctrl-→ や Ctrl-← などの矢印キーと Control キーの組み合わせを認識させるようにしています。

[cf59e1476d] Koichi Sasada 2019-12-21 21:28:13 UTC

Thread.handle_interrupt のテストで Thread 間の同期に Queue を利用するようにしています。

[efd4a11ada] Nobuyoshi Nakada 2019-12-22 02:46:09 UTC

標準添付ライブラリ reline の Reline::ANSI.getc で読んだ 1 byte が 0x16 だった時にもう 1 byte 読めればそちらを返すようにしています。

[ced4c5dace] 卜部昌平 2019-12-22 02:40:07 UTC

NEWS ファイルに d45a013a1a3bcc860e6f7f303220b3297e2abdbc の method cache の構造変更による最適化でパフォーマンス改善があったことを追記しています。

[58527a7926] Nobuyoshi Nakada 2019-12-22 04:52:59 UTC

標準添付ライブラリ io/console のバージョンを 0.5.3 に更新しています。

[d2ac6d4d9f] Nobuyoshi Nakada 2019-12-22 05:45:42 UTC

class 文の直下に置かれた yield に出力する警告を deprecated カテゴリとして制御するようにしています。

[d76c8cfecd] Nobuyoshi Nakada 2019-12-22 06:18:22 UTC

Warning.[] と Warning.[]= メソッドの rdoc 用コメントを追加しています。 [ruby-core:95808] [Feature #16345]

[7c33ee5ddf] Benoit Daloze 2019-12-22 10:39:22 UTC

d2d42081ce76954ff55392a6e07e3eb4f26c696c の rspec での Thread#to_s のテストのバージョンによる guard の位置を修正して describe 全体を skip させるようにしています。