Permalink
Commits on Jun 22, 2012
Commits on Jun 18, 2012
  1. v1.3.1

    mishoo committed Jun 18, 2012
Commits on Jun 7, 2012
  1. minor --make stuff

    mishoo committed Jun 7, 2012
    - 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
Commits on Jun 6, 2012
Commits on Jun 5, 2012
  1. Merge pull request #410 from RGustBardon/infinite

    mishoo committed Jun 5, 2012
    Fix representation of infinite values
  2. Fix representation of infinite values

    RGustBardon committed Jun 5, 2012
    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").
  3. Merge pull request #408 from RGustBardon/if-not

    mishoo committed Jun 5, 2012
    Remove NOT in IfStatement with EmptyStatement (-s)
  4. Merge pull request #407 from RGustBardon/1e+21

    mishoo committed Jun 5, 2012
    Remove unnecessary "+" sign in SignedInteger
  5. Remove NOT in IfStatement with EmptyStatement (-s)

    RGustBardon committed Jun 5, 2012
    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.
  6. Remove unnecessary "+" sign in SignedInteger

    RGustBardon committed Jun 5, 2012
    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".
Commits on Jun 3, 2012
  1. fix options for ast_mangle

    mishoo committed Jun 3, 2012
    issue #404
Commits on May 31, 2012
Commits on May 28, 2012
  1. v1.3.0

    mishoo committed May 28, 2012
    - 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>
  2. Merge pull request #401 from proxv/ast-squeeze-call

    mishoo committed May 28, 2012
    Also descend arg AST nodes in ast_squeeze function-call handler
Commits on May 27, 2012
  1. Merge pull request #400 from proxv/override-digits-in-tests

    mishoo committed May 27, 2012
    Add base54 digits override for unit tests.
  2. Add base54 digits override for unit tests.

    Paul Baumgart
    Paul Baumgart committed May 27, 2012
    Prevents unit tests from depending on how mangled variable name
    generation is optimized for gzip compression.
Commits on May 26, 2012
  1. Merge branch 'fix-222-and-324' of https://github.com/RGustBardon/Ugli…

    mishoo committed May 26, 2012
    …fyJS into RGustBardon-fix-222-and-324
  2. Undo commit 133b36f

    mishoo committed May 26, 2012
    Using the tokenizer there slows down the code generator by orders of
    magnitude (26s instead of 2s for 600K code).  It's not worth to trade so
    many seconds for a couple extra-parens.
    
    I hope the tree is in good shape now, except for issue #368.
Commits on May 25, 2012
  1. Merge pull request #397 from rvanvelzen/optimize_gzip

    mishoo committed May 25, 2012
    Optimize list of digits for generating identifiers for gzip compression. (fixes #142)
  2. Optimize list of digits for generating identifiers for gzip compression.

    Richard van Velzen
    Richard van Velzen committed May 25, 2012
    The list is based on reserved words and identifiers used in dot-expressions. It saves a quite a few bytes.
Commits on May 24, 2012
Commits on May 23, 2012
Commits on May 15, 2012
Commits on May 8, 2012
  1. Merge pull request #387 from rvanvelzen/master

    mishoo committed May 8, 2012
    Fix issue #386
  2. Fix for issue #386

    rvanvelzen committed May 8, 2012
  3. Merge pull request #385 from RGustBardon/implement-368

    mishoo committed May 8, 2012
    Implement #368 (too many parentheses)
  4. Merge pull request #384 from RGustBardon/fix-383

    mishoo committed May 8, 2012
    Revoke #368 and fix issue #383 to make jQuery tests pass
Commits on May 1, 2012
  1. Merge pull request #342 from int3/master

    mishoo committed May 1, 2012
    Allow defines even when not mangling.