Bug or feature?

ruby -v -e 'z = (x,y=1,2); p z'
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
[1, 2]

ruby1.9 -v -e 'z = (x,y=1,2); p z'
ruby 1.9.0 (2007-02-06 patchlevel 0) [i686-linux]
true

Also, can anyone point me to an explaination of why this doesn't work:

ruby -v -e 'p(x,y=1,2)'
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
-e:1: undefined local variable or method `x' for main:Object (NameError)

But this does:

ruby -v -e 'p((x,y=1,2))'
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]
[1, 2]

I think I've seen this discussed before, but I forget where.

Thanks,

	David