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

Reply via email to