Status: New
Owner: ----

New issue 835 by BMotters: eval in inner scope sees different scope-chain when invoked indirectly
http://code.google.com/p/v8/issues/detail?id=835


Scope chains are not set up correctly when an inner scope invokes eval indirectly.

function evalx(x){eval(x);}
var v="global";
(function(){var v="inner"; return function(){eval("print(v)");}})()();
(function(){var v="inner"; return function(){evalx("print(v)");}})()();

The first function prints "inner". which is expected. The second function prints "global", which is incorrect. If one runs v8 with --print-scopes, the scopes for the first case are indicated correctly as having inner scopes which are eval-tainted. Not so for the second case.

This problem may be related to #267 and #496, which were marked as "Fixed".

Brian Mottershead






--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to