mishoo/UglifyJS — pull request #335 by RGustBardon (2012-03-07 00:52:08+00:00)
Title: Prevent choosing arguments and eval as identifiers

`arguments` and `eval` have never been reserved words in ECMAScript. Nevertheless, "it is a `SyntaxError` if a *VariableDeclaration* or *VariableDeclarationNoIn* occurs within strict code and its *Identifier* is `eval` or `arguments`" ([12.2.1](http://es5.github.com/#x12.2.1)).

This patch fixes a bug that allowed a newly chosen identifier to ignore the aforementioned strict mode restriction.

A unit test has been included.