nboyd%atg.com 340e664220 Fix Bug 508185 - Make indirect calls to eval legal, but use the global scope
Patch from Raphael Speyer


git-svn-id: svn://10.0.0.236/trunk@258286 18797224-902f-48f8-a5cc-f745e15eee43
2009-08-30 02:05:50 +00:00

23 lines
657 B
Plaintext

js> // only direct calls to eval should use scope of call
js> // indirect calls should be allowed, but use global scope instead
js> var value = 'outer';
js> (function() { var value = "inner"; return eval("value"); })();
inner
js> (function(_eval) { var value = "inner"; return _eval("value"); })(eval);
outer
js> (function(obj) { var value = "inner"; return obj.eval("value"); })({eval:eval});
outer
js> (function(obj) { var value = "inner"; return obj.f("value"); })({f:eval});
outer
js> (function(arr) { var value = "inner"; return arr[0]("value"); })([eval]);
outer
js> (function() { var value = "inner"; return eval("eval")("value"); })();
outer