On Jan 18, 2009, at 10:17 PM, Mark S. Miller wrote:
So the use of "property" in the spec:
If strict mode code uses the value of the eval property any way
other than as a direct call (that is, other than by the explicit use
of its name as an Identifier which is the MemberExpression in a
CallExpression), or if the eval property is assigned to, an
EvalError exception is thrown.
means the original *value* of the global eval property (in which
case the statement of the assignment constraint is wrong)? And "its
name" above means specifically "eval", whether referring to a
property or a local variable?
I don't know, I didn't write that language. It seems wrong at a
glance, not just because -- as you point out -- EvalError is too severe.
What Firefox current does (3.0.5):
function foo(a, b, c) { return a(b); }
foo(eval, 'c', 42); // returns 42
From my understanding of your statements above (as well as previous
conversations), can we agree that FF's current behavior violates
both what ES3.1 does and should specify?
Yes, we've been over this before:
https://mail.mozilla.org/pipermail/es-discuss/2008-October/007961.html
It's a bug we are eagerly planning to fix, probably not in Firefox 3.1
however -- next major release after.
/be
_______________________________________________
Es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss