From: nobu.nakada@... Date: 2000-02-16T13:02:05+09:00 Subject: [ruby-dev:9227] Re: bang method returns string always なかだです。 At Sun, 13 Feb 2000 17:22:30 +0900, nobu.nakada@nifty.ne.jp wrote: > > えーと、Smalltalkでは > > > > obj mesg; mesg2; mesg3 > > obj.{mesg; mesg2; mesg3} > > ってのを思い憑きました。とっても簡潔、というか簡潔すぎ? このままボツりそうな風情ですが、バグってたのでとりあえずパッチです。空 ブロックで SEGV してたのと、ネストしたカスケードを還元しようとしたけどで きてないどころか直したらかえってバグった(;_;)ので削除(効果なさそうだし)。 --- .../parse.y Sun Feb 13 07:26:01 2000 +++ parse.y Wed Feb 16 12:24:33 2000 @@ -707,12 +707,11 @@ arg : lhs '=' arg NODE *cas = $4; value_expr($1); - if (nd_type(cas) == NODE_CASCADE) { - /* reduce multiple cascading */ - cas->nd_recv = NEW_CASCADE($1, cas->nd_recv); + if (!cas) { + $$ = $1; } else { $$ = NEW_CASCADE($1, cas); - fixpos($$, $1); } + fixpos($$, $1); } | backref tOP_ASGN arg -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦