ruby-trunk-changes 2019-06-22

今日は ENV.merge! の追加や irb の auto indent の挙動の修正などがありました。

[8f51da5d41] Nobuyoshi Nakada 2019-06-21 13:42:14 UTC

String#sub! の実装で同じメモリ領域の可能性があるバッファ間のコピーに memcpy(3) を使っていましたが、これは未定義挙動となるので memmove(3) を利用するようにしています。 [ruby-core:93295] [Bug #15946]

[551ef27490] git 2019-06-21 13:48:50 UTC

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

[1c7e303b26] Nobuyoshi Nakada 2019-06-21 14:03:36 UTC

標準添付ライブラリ tmpdir で prefix と suffix から file separator は除外するようにしてますが、この除外する文字群を定数に入れておくようにして、 ":" も除外するようにしています。 ":" の除外は Windows 向けかな?

[8a1dd9b84b] Nobuyoshi Nakada 2019-06-21 14:45:39 UTC

リリース版でない時の RUBY_DESCRIPTION_WITH に時刻まで含めるようにしています。

[d1fa0f6191] git 2019-06-21 15:03:27 UTC

version.h の日付更新

[5e2088665b] aycabta 2019-06-21 12:57:19 UTC

irb の auto indent で閉じかっこや end があった時の対応する開きトークンにあわせる挙動はそれが行頭にある時だけにするように修正しています。

[c79131df28] aycabta 2019-06-21 15:31:30 UTC

同じく irb の auto indent の閉じトークンのインデントの対応トークンにそろえる処理の例外対応。

[2f2fc939eb] Nobuyoshi Nakada 2019-06-21 16:16:23 UTC

version.h でリリース版でも定数マクロ RUBY_RELEASE_DATETIME を常に定義するようにしています。

[e5e811e4a0] Jean Boussier 2019-05-07 10:52:24 UTC

rubyspec に autoload? のテストに第2引数を指定したものを追加しています。 https://github.com/ruby/ruby/pull/2173

[3b2d11ad90] Benoit Daloze 2019-06-21 16:21:16 UTC

e5e811e4a04482a5ad764fbb2b792ee5fbdd7195 の続き。 rubyspec の Module#autoload? のテストで使う定数名を変更しています。意図をわかりやすくするためで内容的には変化はないはず。

[d01fd82187] Kenichi Kamiya 2019-06-21 03:28:28 UTC

ENV に merge! メソッドを ENV.update の alias として追加しています。 https://github.com/ruby/ruby/pull/2246 [ruby-core:93296] [Feature #15947]

[4d650bc257] Nobuyoshi Nakada 2019-06-22 00:29:33 UTC

テスト用の minitest/unit で差分を整形して出すためのメソッドでエスケープを展開する処理でバックスラッシュをバックスラッシュでエスケープしてるケースを考慮するようにしています。ややこしいな。

[bad66f3e36] Nobuyoshi Nakada 2019-06-22 09:39:06 UTC

test/unit の assert_join_threads で ensure 節を追加してまだ動いている Thread に Timeout::Error 例外を送信して終了させるようにしています。