On Jul 27, 2010, at 11:59 PM, Michael Day wrote:
> Hi all,
>
> Any comments on this code:
>
> try
> {
> throw eval;
> }
> catch (x)
> {
> alert(x("3"));
> }
>
> It does not appear to throw an EvalError in Firefox 3.6.7, even though many
> other indirect uses of eval will.
The important question is whether it's an indirect eval. It is:
js> var x = "global";
js> function f(s,x) {
try { throw eval; } catch (e) {
print(e(s));
}
}
js> f("x", "local");
global
Why it's not a cause for EvalError in Firefox 3.6.x, when EvalError is gone
from ES5 except as a memory, is secondary. It is not web-compatible to throw
EvalError for indirecting to eval via a local (arg,var,let) binding. So we
don't.
The better question for Firefox or really SpiderMonkey is why have any
EvalError throwing.
/be
>
> Best regards,
>
> Michael
>
> --
> Print XML with Prince!
> http://www.princexml.com
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss