ruby-trunk-changes r67247 - r67256

今日は parse.y のリファクタリングやエラーメッセージ強化と、メソッド呼び出しの引数の扱いのコーナーケースの修正などがありました。

mame: r67247 2019-03-14 10:04:53 +0900

標準添付ライブラリ fileutils のテストで root 権限下だと失敗してしまうテストを実行しないようにしています。

svn: r67248 2019-03-14 10:04:55 +0900

version.h の日付更新。

nobu: r67249 2019-03-14 11:18:05 +0900

parse.y で YYLTYPE の値の初期化用の初期化子のマクロ RUBY_INIT_YYLLOC() を導入して RUBY_SET_YYLLOC() のかわりに使うようにしています。 RUBY_SET_YYLLOC() も中身の rb_parser_set_location() では同様の初期化をしてると思うけど。

nobu: r67250 2019-03-14 14:32:30 +0900

parse.y の parser_yyerror() から ruby_show_error_line() や parser_show_error_line() といった関数を切り出して regx_options() からも利用するようにするリファクタリング

nobu: r67251 2019-03-14 14:57:42 +0900

不正なグーバル変数名で SyntaxError になった時にその名前とその位置を表示するようにしています。

mame: r67252 2019-03-14 15:43:50 +0900

compile.c の compile_array() という関数からメソッドの引数を作る処理を別の関数 compile_args() として切り分けて関数内での分岐を整理しています。

svn: r67253 2019-03-14 15:43:54 +0900

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

nobu: r67254 2019-03-14 17:13:46 +0900

parse.y でインスタンス変数名やクラス変数名の @ の後の文字のチェックを強化しています。

mame: r67255 2019-03-14 17:43:51 +0900

compile.c の setup_args() から setup_args_core() という関数を切り出して引数の評価の順番を変更しています。前から評価するほうが不要な配列の複製がなくなって効率的なケースがあるとのこと。

mame: r67256 2019-03-14 18:04:57 +0900

r67255 で切り出した setup_args_core() で引数のないメソッドの呼び出しの実引数に *rest と **kw が両方含まれていると ArgumentError になるという問題を修正しています。 [Bug #10856]