michael@0: eval(1); // avoid global shape change when we call eval below michael@0: function q() { michael@0: var x = 1; michael@0: function f() { michael@0: function g() { michael@0: var t=0; michael@0: for (var i=0; i<3; i++) michael@0: x = i; michael@0: }; michael@0: g(); michael@0: eval("var x = 3"); michael@0: g(); michael@0: assertEq(x, 2); michael@0: } michael@0: f(); michael@0: } michael@0: q();