Added an example of how to use the `defines` option (see #281)
Fixed syntax
v1.3.0

- support for directives (i.e. "use strict";)
- newlines in multi-line comments trigger ASI
- added nodeunit dependency for NPM, other code restructuring
- apply ascii_only option to regexps
- allow defines when not mangling
- some parser/code generator fixes #376, #396
- (static) mangler optimization for gzip (#397)

Contributors (in no particular order):

Richard van Velzen <rvanvelzen@expert-shops.com>
Paul Baumgart <paul@proxv.com>
Mal Graty <mal.graty@googlemail.com>
Jez Ng <jezreel@gmail.com>
Robert Gust-Bardon <donate@robert.gust-bardon.org>
ast_mangle should, well, mangle by default. (fixes #404)
also don't mangle function names if !options.mangle (#404)
fix options for ast_mangle

issue #404
Remove unnecessary "+" sign in SignedInteger

A "+" sign is added unnecessarily for numbers like 1e21 (resulting in
1e+21) due to make_num using the Number.prototype.toString method
(15.7.4.2) which in turn performs the abstract operation ToString
(9.8) which adds the "+" sign in accordance with the last step of
9.8.1.

This patch removes the sign after the conversion in question by
replacing "e+" with "e".
Remove NOT in IfStatement with EmptyStatement (-s)

If the only statement of a nonterminal IfStatement is a nonterminal
EmptyStatement or a nonterminal IfStatement consists of two
nonterminal EmptyStatement symbols, such a statement is transformed
into a nonterminal ExpressionStatement that consists of a
UnaryExpression with the logical NOT operator and the expression found
in the nonterminal IfStatement.  The operator in question is
superfluous.

This patch omits the negation by detecting the described case earlier.
Merge pull request #407 from RGustBardon/1e+21

Remove unnecessary "+" sign in SignedInteger
Merge pull request #408 from RGustBardon/if-not

Remove NOT in IfStatement with EmptyStatement (-s)
Fix representation of infinite values

Infinite numbers (NaN and Infinity) were represented incorrectly due
to make_num using the Number.prototype.toString method (15.7.4.2)
which in turn performs the abstract operation ToString (9.8) which
returns a string "NaN" or "Infinity" in accordance with the first and
the fourth step of 9.8.1.

As the corresponding value properties of the global object can be
"shadowed", representing such numbers as "NaN" and "Infinity" can lead
to incorrect behavior. For example:

```javascript
with({
  get NaN() {
    throw new Error();
  }
}) {
  0 / 0;
}
```

This patch checks for the values in question in the make_num function
and represents them using MultiplicativeExpression nonterminals
(e.g. "0/0" instead of "NaN").
Merge pull request #410 from RGustBardon/infinite

Fix representation of infinite values
cleaner fix for 0/0, 1/0, -1/0 (issue #410)
minor --make stuff

- use eval rather than JSON.parse for reading the Makefile (I dislike the
  obligatory quotes in property names in JSON)

- locate files relative to the path of the Makefile
v1.3.1
add the space in “return λ” and similar cases

fixes #420
v1.3.2
revert f5419ec2d6b7e341f99a1f09a63ff6b6a0e3fc95 (squashable directives)

Seems we cannot rely on the scope in ast_squeeze because there's no scope
after tighten (which is called for function bodies).
emacs vars
added separate step to discard redundant directives