variable scope



 I am new to maxima and I am having problem understanding scope of 
variables, e.g.
 This 
          for i:0 thru do 2
            x:3,
            disp(i,x);
  has the output i,3
 while 

        for i:0 thru do 2
            (x:3,
            disp(i,x));
  yields correct result 0,3,1,3,2,3. 

I am using maxima 5.9.2 on Fedora GCL 2.6.7.  Thanks


Ram Kochhar