From: matz@... (Yukihiro Matsumoto) Date: 1997-08-27T11:50:14+09:00 Subject: [ruby-dev:273] Re: [Bug] default argument value まつもと ゆきひろです In message "[ruby-dev:272] [Bug] default argument value" on 97/08/27, 前田 修吾 / maeda shugo writes: |前田です。 | |alpha2で引数のデフォルト値周りがまたおかしいようです。 ええと,半端な最適化を行ったのがいけなかったようです. --- parse.y~ Sat Aug 23 20:01:34 1997 +++ parse.y Wed Aug 27 11:38:32 1997 @@ -3052,22 +3054,8 @@ else if (id == NIL) { - yyerror("Can't asign to nil"); + yyerror("Can't assign to nil"); } else if (is_local_id(id)) { - if (local_id(id)) { + if (local_id(id) || !dyna_in_block()) { lhs = NEW_LASGN(id, val); } - else if (!dyna_in_block()) { - lhs = 0; - if (val) { - if (nd_type(val) == NODE_NEWLINE) - val = val->nd_next; - if (nd_type(val) == NODE_NIL) { - local_cnt(id); - lhs = NEW_NIL(); - } - } - if (!lhs) { - lhs = NEW_LASGN(id, val); - } - } else{ |あと、eval.cの随所にasignと書かれていますがassignですよね? ああ,恥ずかしい.*^_^* まつもと ゆきひろ /:|)