Ilya Zakharevich on Mon, 1 Jul 2002 09:36:08 -0400 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Bug in parsing of local() |
On Mon, Jul 01, 2002 at 08:53:20AM -0400, Ilya Zakharevich wrote: > ? f(x=11,y=x)=local(t=ff(),u=t);1 > *** unknown function or error in formal parameters: f(x=11,y=x)=local(t= > *** ff(),u=t);1 > ^----------- Another problem: ? ff(x)=local(y=x);x=177;print(y) ? ff(12) 12 ? gg(x)=local(y=x);x='x;x=177;print(y) ? gg(12) 177 I think the answers should be the same... The problem may be due to the following difference in the assignment of variables and parameters: for (i=0; i<narg; i++) copyvalue(*p++, *arg++); for (i=0; i<nloc; i++) pushvalue(*p++, make_arg(*loc++)); (the difference between copy and push). And what make_arg() magic is doing there? Puzzled, Ilya