ruby-trunk-changes r53093 - r53114

今日は新しい Encoding EBCDIC-US の追加がありました。

yugui: r53093 2015-12-13 20:27:45 +0900

r53092 で追加したテストでエラー時のメッセージ用の変数が配列になっていたのを修正。

nobu: r53094 2015-12-13 20:41:14 +0900

parse.y の lex_state_name() を build_lex_state_name() と改名して lex_state はビットフラグとして解釈して複数の名前を "|" で連結したものにするようにしています。また trace_lex_state() を PARSER_DEBUG が偽の時もなにもしないマクロとして定義しておくことで SET_LEX_STATE() の定義を共通にしています。

nobu: r53095 2015-12-13 23:46:09 +0900

lex_trace の変更時のメッセージ出力をの有無を yydebug で判定するようにしています。またすぐに printf(3) で出力するのでなくバッファとなる文字列にメッセージを蓄積しておいて rb_stdout への write メソッド呼び出しで出力するようにしています。

nobu: r53096 2015-12-13 23:48:58 +0900

r53095 の ChangeLog エントリが重複していたのを修正。

nobu: r53097 2015-12-14 00:20:20 +0900

r53095 で追加した rb_parser_printf() で追加したバッファ用の文字列オブジェクトを格納する struct parser_param::debug_buffer を出力後に Qnil に再初期化するようにしています。

svn: r53098 2015-12-14 00:21:01 +0900

version.h の日付更新。

nobu: r53099 2015-12-14 00:50:44 +0900

tool/ytab.sed で関数マクロで可変長引数の定義ができないコンパイラのために yy_symbol_value_print() と yy_symbol_print() の wrapper の定義を追加しています。

nobu: r53100 2015-12-14 01:54:43 +0900

parse.y と tool/ytab.sed で YYPRINTF() というマクロの定義の方法を変えているのですがよくわからず。

hsbt: r53102 2015-12-14 11:50:21 +0900

enc/ の下のヘッダのコメントの typo 修正。 https://github.com/ruby/ruby/pull/1140

hsbt: r53103 2015-12-14 11:51:13 +0900

その他あちこちのコメントの typo 修正。 https://github.com/ruby/ruby/pull/1140

hsbt: r53104 2015-12-14 11:51:34 +0900

標準添付ライブラリ cgi.rb のコメントの typo 修正。 https://github.com/ruby/ruby/pull/1140

nobu: r53106 2015-12-14 13:47:37 +0900

parse.y で yydebug で trace_lex_state() でのメッセージ出力を分岐していたところを SET_LEX_STATE() の展開結果で行うようにしています。コメントを読むと主目的は明示的なキャストを追加して警告を抑制することみたいです。

hsbt: r53107 2015-12-14 14:33:42 +0900

標準添付ライブラリ xmlrpc の rdoc 用コメントに利用できる parser 実装の説明に URL や簡単な説明を追加しています。 https://github.com/ruby/ruby/pull/1124

nobu: r53108 2015-12-14 15:36:50 +0900

tool/ytab.sed で parse.y の fprintf() を直接利用している箇所を YYFPRINTF の呼び出しに置換するようにしています。 また parse.y で YY_LOCATION_PRINT() というマクロ定義を追加しています。この定義追加されているだけで利用されてないしコミットログにも書かれていないし、混ざってしまったんですかね?

nobu: r53109 2015-12-14 15:40:55 +0900

テストスクリプトdup + force_encoding を使っているところを String#b メソッドを利用するようにしています。

hsbt: r53110 2015-12-14 17:04:28 +0900

テストスクリプトで && を利用してメソッド呼び出しの receiver のチェックをしていたところを &. 演算子(いわゆるぼっち演算子)を利用するようにしています。 https://github.com/ruby/ruby/pull/1142

hsbt: r53111 2015-12-14 17:05:35 +0900

標準添付ライブラリでも && で receiver のチェックをしていたのを &. 演算子を使うようにしています。 https://github.com/ruby/ruby/pull/1142

duerst: r53112 2015-12-14 22:11:31 +0900

新しい Encoding EBCDIC-US が追加されています。

svn: r53113 2015-12-14 22:11:59 +0900

r53112 の行末の空白除去。

svn: r53114 2015-12-14 22:14:22 +0900

r53112 で新規追加されたファイルの svn property 設定。