From: Yusuke ENDOH Date: 2007-07-01T08:41:10+09:00 Subject: [ruby-dev:31100] $00..0 dumps core 遠藤と申します。 1.8.6 、1.9 共に以下のようにすると落ちます。 $ ./ruby -e '$00..0' -e:1: identifier $00 is not valid -e:1: [BUG] Segmentation fault ruby 1.8.6 (2007-06-30) [i686-linux] アボートしました (core dumped) また、0..$00=1 でも落ちます。 この 2 つだけに関しては末尾のパッチで落ちなくなりましたが、 gettable や assignable を使用している箇所は他にも結構あるので まだ何かしないといけないかもしれません。 例えば、1.9 で $00+=1 を実行すると怪しいことを言われます。 (ちゃんと追ってないので別の問題かもしれませんが) $ ./ruby -e '$00+=1' identifier $00 is not valid identifier (null) is not valid Index: parse.y =================================================================== --- parse.y (revision 12674) +++ parse.y (working copy) @@ -841,7 +841,7 @@ lhs : variable { - $$ = assignable($1, 0); + if(!($$ = assignable($1, 0))) $$ = NEW_NIL(); } | primary_value '[' aref_args ']' { @@ -2200,7 +2200,7 @@ var_ref : variable { - $$ = gettable($1); + if(!($$ = gettable($1))) $$ = NEW_NIL(); } ; -- Yusuke ENDOH