ruby-trunk-changes r53826 - r53835

今日はローカル変数と同名のメソッド呼び出しにかっこなしでキーワード引数をわたした時の文法エラーの修正などがありました。

nobu: r53826 2016-02-15 12:28:59 +0900

拡張ライブラリ win32 に含まれている名前解決のライブラリ win32/resolv.rb から Windows 9x 向けの部分を win32/resolv9x.rb として別ファイルに分割しています。 こんなライブラリがあったんですね。

svn: r53827 2016-02-15 12:29:00 +0900

version.h の日付更新。

nobu: r53828 2016-02-15 12:29:00 +0900

ext/win32/lib/win32/resolv.rb および ext/win32/lib/win32/resolv9x.rb でブロックパラメータの記法を ruby-mode.el の不具合回避のため少し変更しています。

nobu: r53829 2016-02-15 12:42:09 +0900

ext/win32/lib/win32/resolv.rb で Windows NT 以降かどうかの判定にポインタサイズを pack("p") を使って調べるようにしています。

nobu: r53830 2016-02-15 13:23:15 +0900

r53829 の続きで ext/win32/lib/win32/resolv.rb で Windwos 9x 向けの時と NT 以降向けの分岐の順番をいれかえています。

nobu: r53831 2016-02-15 14:09:59 +0900

bignum.c で符号のフラグのセット/判定用のマクロの BIGNUM_SET_POSITIVE_SIGN()/BIGNUM_SET_NEGATIVE_SIGN() や BIGNUM_NEGATIVE_P() などを利用するようにして、より低レベルなマクロ BIGNUM_SET_SIGN() や BIGNUM_SIGN() を直接利用していたところを書きかえるリファクタリング

nobu: r53832 2016-02-15 14:15:33 +0900

Bignum の struct RBasic::flags の符号フラグにセットするマクロ BIGNUM_NEGATE() を導入してこれを利用するようにリファクタリングしています。

duerst: r53833 2016-02-15 14:43:55 +0900

enc/unicode/case-folding.rb に -d/--debug オプションを追加して、生成するヘッダにコメントでデバッグ情報を出力させるようにしています。

nobu: r53834 2016-02-15 15:06:31 +0900

tokenize_ident() の中で識別子がローカル変数かどうかチェックしていた部分を parse_ident() に移動しています。 tokenize_ident() は parse_gvar() や parse_atmark() (グローバル変数インスタンス変数の parse 時の関数?)からも呼ばれていて、その時には local 変数として扱われないはずなので不要なチェックだったようです。 is_local_id(ident) のチェックは消えてますけどこっちはいいのかな。

nobu: r53835 2016-02-15 15:44:36 +0900

r53834 の続き? ローカル変数と同名のメソッド呼び出しでかっこなしで最初にキーワード引数がくるという文法をエラーにしないように LEX_STATE に EXPR_LABEL を追加しています。 [ruby-core:73816] [Bug #12073]