Hello,

Recently I was writing an article about strict mode in ES5 (http://bit.ly/928Jwl).

At the moment, the only implementation for testing is already mentioned here -- BESEN engine. BESEN still has some bugs (some of them I’ve reported while was writing the article and glad to see that several bugs are already fixed), but it is a good candidate for ES5 programming and testing.

Nevertheless, the talk isn't about BESEN, but about inconsistent of the "Annex C (informative) The Strict Mode of ECMAScript" entry and the test suite cases related with the strict mode and functions created via the Function constructor.

That bullet of the Annex C statements:

"It is a SyntaxError to use within strict mode code the identifiers /eval/ or /arguments/ as the Identifier of a FunctionDeclaration or FunctionExpression or as a formal parameter name (13.1). Attempting to /dynamically define such a strict mode function using the Function constructor/ (15.3.2) will throw a /SyntaxError/ exception."

I've posted a bug to the BESEN's author -- http://bit.ly/bmkN1p

But he referenced to the conformance test suite -- http://es5conform.codeplex.com/ and in particular for these test cases -- http://vserver.rosseaux.net/stuff/tests/

where is said that "arguments" and "eval" are allowed in such cases:

http://vserver.rosseaux.net/stuff/tests/15.3.2.1-11-7-s.js -- arguments
http://vserver.rosseaux.net/stuff/tests/15.3.2.1-11-4-s.js -- eval

So, is it an err in the Annex C statement or the tests are incorrect? I don't see the same restriction in the exact 15.3.2 section as it mentioned in the Annex C.

Dmitry.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to