ruby-trunk-changes r61096 - r61115

今日は Windows の ReFS 対応の続きや Enumerable#all? や #any? などのメソッドに引数でマッチするオブジェクトを指定できるようにする機能追加、各種 default gem のバージョン更新などがありました。いよいよ 2.5 のリリースが近いですね。

usa: r61096 2017-12-11 02:26:58 +0900

Windows の ReFS のサポートの一環で ReFS では inode 相当の id が 128bit の数値を利用しているので、これをサポートするため GetFileInformationByHandleEx() を呼ぶ処理を get_ino() という関数に切り出して、rb_w32_{,u,l,ul}stat64ns() を rb_w32_{,u,l,ul}stati128() と改名しています。 [ruby-dev:50166] [Feature #13731]

svn: r61097 2017-12-11 02:26:59 +0900

version.h の日付更新。

marcandre: r61098 2017-12-11 07:36:28 +0900

Enumerable#any?, #all?, #none?, #one? などのメソッドで、各要素をブロックに渡して呼び出して判定するかわりに、1つの引数を受け取った時はその引数の === メソッドを呼び出してマッチすることでブロックの実行に代替することができるようにします。つまり Regexp#=== は正規表現のマッチを行うので ary.any?(/some regex/) のように書けるようになるってことですね。 [ruby-core:69675] [Feature #11286]

yui-knk: r61099 2017-12-11 08:27:58 +0900

式展開付きの文字列リテラルの中に含まれる文字列片をもつ NODE_ARRAY の範囲情報を変更しています。

usa: r61100 2017-12-11 08:28:09 +0900

NEWS ファイルに [Feature #13726] [Feature #13731] の ReFS 関連の対応とタイムスタンプの精度の変更について追記しています。

yui-knk: r61101 2017-12-11 08:44:22 +0900

A::B のような "::" による名前空間のネストつきの定数への代入で、さらに代入に演算子がついている(A::B ||= 1 のような)時の NODE_COLON2 の範囲情報を、定数の部分だけ含めるように修正しています。一瞬 "::" の NODE_COLON2 は "::" の部分だけでも良いんじゃ、という気もするけど、AST の木構造的に NODE_COLON2 の子に A や B の部分が含まれてるので、前後の定数部分も含んでるんですね。

yui-knk: r61102 2017-12-11 09:06:11 +0900

module M ... end のような文が生成する NODE_SCOPE の範囲情報を "module M" の部分は含めないように変更しています。

yui-knk: r61103 2017-12-11 09:28:27 +0900

parse.y の list_append_gen() の未使用になってた最後の引数 location を削除しています。

hsbt: r61104 2017-12-11 10:04:46 +0900

lib/bundler/templates/.document というファイルを追加して rdoc にこのディレクトリのファイル群を無視させるようにしています。 [ruby-core:84141] [Bug #14163]

svn: r61105 2017-12-11 10:04:47 +0900

r61104 で新規追加したファイルの svn property 設定。

yui-knk: r61106 2017-12-11 11:19:43 +0900

%W や %I のリテラル記法で生成される個々の NODE_DSTR の位置情報開始位置が %W/%I の全体の開始位置になっていたのを修正しています。

usa: r61107 2017-12-11 11:30:21 +0900

lib/mkmf.rb で Windows プラットフォームでは常に include/ruby/win32.h への依存関係を追加するようにしています。

usa: r61108 2017-12-11 11:30:42 +0900

lib/mkmf.rb に bccwin というプラットフォームについての分岐が残っていたのを削除しています。

hsbt: r61109 2017-12-11 12:27:47 +0900

標準添付ライブラリにして default gem の cmath の gemspec のバージョンを 1.0.0 に更新しています。

hsbt: r61110 2017-12-11 12:56:01 +0900

標準添付ライブラリにして default gem の date の gemspec のバージョンを 1.0.0 に更新しています。

mame: r61111 2017-12-11 13:46:57 +0900

標準添付ライブラリ pp.rb で Kernel#pp の再定義の警告除去のための alias のコードを削除しています。 インタプリタに埋め込まれる prelude.rb で既に警告除去のための alias pp pp が入っているため。

hsbt: r61112 2017-12-11 15:03:53 +0900

標準添付ライブラリにして default gem の fcntl の gemspec のバージョンを 1.0.0 に更新しています。

hsbt: r61113 2017-12-11 15:48:09 +0900

標準添付ライブラリにして default gem の sdbm の gemspec のバージョンを 1.0.0 に更新しています。

hsbt: r61114 2017-12-11 17:18:01 +0900

標準添付ライブラリにして default gem の scanf の gemspec のバージョンを 1.0.0 に更新しています。

hsbt: r61115 2017-12-11 17:37:49 +0900

標準添付ライブラリにして default gem の zlib の gemspec のバージョンを 1.0.0 に更新しています。 zlib も default gem になってたんでしたね。