ruby-trunk-changes r60885 - r60902

今日は Binding#irbirb が起動された時のその位置の周辺のソースコードを表示する機能追加などがありました。

yui-knk: r60885 2017-11-23 20:52:36 +0900

rb_default_coverage() の coverage の内部情報の構造についてのコメントを更新しています。

k0kubun: r60886 2017-11-23 23:04:24 +0900

r60736 で Travis CI のテスト失敗の対応のため sudo: required にしておいたのを、 sudo: false に戻してコンテナでのテストに戻しています。

yui-knk: r60887 2017-11-23 23:15:27 +0900

論理演算子の && や || の NODE_AND/NODE_OR の位置情報の修正。右辺値の最後までを含むようにしています。

k0kubun: r60888 2017-11-24 12:53:27 +0900

標準添付ライブラリ irb の Bidingin#irb でプロンプトを出す時に、その周辺のソースコードを表示するようにしています。便利そう。 https://github.com/ruby/ruby/pull/1764 [ruby-dev:50319] [Feature #14124]

svn: r60889 2017-11-24 12:53:28 +0900

version.h の日付更新。

svn: r60890 2017-11-24 12:53:30 +0900

r60888 の新規追加ファイルの svn property 設定。

nobu: r60891 2017-11-24 13:26:23 +0900

拡張ライブラリ ripper の Ripper#parse の %i, %I, %w, %W などのリテラルを parse した時のテストで戻り値もチェックするようにしています。

nobu: r60892 2017-11-24 13:26:27 +0900

parse.y で %i や %w リテラルなどの parse 用のルールで冗長なパターンがあったのをまとめたり、不要な skip_words_sep() を削除したりしています。 [ruby-core:83871] [Bug #14126]

nobu: r60893 2017-11-24 13:26:29 +0900

同じく parse.y で %i や %w リテラルで NODE_ZARRAY ノードがまだ作られてなかったら生成する処理を make_array() という関数に切り出すリファクタリング

k0kubun: r60894 2017-11-24 13:29:49 +0900

NEWS ファイルに r60888 の Binding#irb のコード表示の記述にチケットへの参照を追加。またそもそもの Binding#irb の prelude 入りについても追記しています。

normal: r60895 2017-11-24 13:49:05 +0900

file.c に引数の文字列のエンコーディングを調整してから eaccess(3) を呼ぶという処理が複数あったので rb_eaccess() という関数に切り出すリファクタリングしています。

nobu: r60896 2017-11-24 14:00:56 +0900

r60888 で irb に追加した code_around_binding メソッドで位置情報を取得するための eval の回数を減らすリファクタリング

nobu: r60897 2017-11-24 14:44:58 +0900

r60896 の続きで出力に空白を追加しています。

nobu: r60898 2017-11-24 14:46:55 +0900

r60888 の Binding#irb のコード表示のテストの修正。

kazu: r60899 2017-11-24 20:00:08 +0900

r60888 で追加したテストのテストメソッドの typo 修正。

kazu: r60900 2017-11-24 20:00:10 +0900

同じく irb の Binding#irb でのソースコードの表示でファイル内容を読もうとしてエラーになった時に無視するようにしています。

k0kubun: r60901 2017-11-24 21:37:07 +0900

r60900 で追加された Binding#irb のテストで Windows 環境で File.chmod を使って読めないファイルを作ることができなかったので mswin/mingw ではテストメソッドの定義自体をスキップするようにしています。

yui-knk: r60902 2017-11-24 22:08:21 +0900

node.h で不要になっていたマクロ nd_modl, nd_clss_, nd_tval, nd_visi_ などの定義を削除しています。