ruby-trunk-changes 2019-05-01

今日は begin-less range の Range#first で RangeError を発生させるようにする変更やツールやテストの Windows 対応などがありました。

[1dd94dfba3] NAKAMURA Usaku 2019-04-30 21:51:03 +0900

tool/redmine-backporter.rb でも /dev/null が使われていたところを IO::NULL を参照するように修正しています。

[df3de40932] Nobuyoshi Nakada 2019-04-30 22:13:47 +0900

tool/merger.rb で String#match の結果の MatchData#[ ] メソッドを使ってたのを String#[ ] メソッドの第2引数にインデックスを指定する方法で代替しています。この仕様知らなかったなぁ。

[50872f4a15] Nobuyoshi Nakada 2019-04-30 22:23:20 +0900

tool/merger.rb でバッククオートによるコマンド実行のかわりに IO.popen を利用するように、また shellescape のかわりに配列でコマンドラインを渡す方法を使うようにリファクタリングしています。

[dd942cd5b3] NAKAMURA Usaku 2019-04-30 22:24:45 +0900

tool/merger.rb および tool/redmine-backporter.rb で shell のリダイレクトを使うかわりに Kernel#system の :out, :err のオプションによってリダイレクトするように修正しています。

[0eedec6867] Kazuhiro NISHIYAMA 2019-04-30 22:35:38 +0900

tool/downloader.rb で HTTP 経由でダウンロードする時のリクエストヘッダの Accept-Encoding を "identity" に指定するように修正しています。Unicode のデータファイルダウンロード時に gzip された状態でダウンロードされてしまってたことがあったみたいです。

[4e88e86928] manga_osyo 2019-05-01 00:03:30 +0900

begin-less range に対して Range#first を呼んだ時に RangeError を発生させるようにしています。 https://github.com/ruby/ruby/pull/2163

[c06821161a] git 2019-05-01 00:03:58 +0900

version.h の日付更新。

[3de03544ff] aycabta 2019-05-01 00:45:54 +0900

標準添付イブラリ reline の Reline.delete_text というメソッドを定義した上で NotImplementedError 例外を発生させるようにしています。 Readline に同名のメソッドがあるので、Reline を Readline の単純な代替として使おうとした時にメソッドがない時に NoMethodError になるよりは NotImplementedError のほうがいいってことかな。または将来的には実装予定があるのか。

[fc3e80cf6d] NARUSE, Yui 2019-05-01 01:07:05 +0900

internal.h でヘッダファイル sanitizer/msan_interface.h を include する前に __has_features() で memory_sanitizer 機能が使えるかどうかチェックするようにしています。ヘッダの有無はその外側の preprocessor 分岐でチェックしているので、コメントによるとマクロの再定義を回避するためらしい。

[dcb6a6ae3e] NAKAMURA Usaku 2019-05-01 17:38:45 +0900

標準添付ライブラリ tempfile のテストで "../" を並べた prefix で親ディレクトリに遡れないことを確認するテストで Windows では Errno::EINVAL が発生するみたいなので許容するようにしています。

[2f0f9115d3] Nobuyoshi Nakada 2019-05-01 20:27:51 +0900

.gitignore に ChangeLog を追加しています。 おお、まだ追加されていなかったのか。