[Pkg-javascript-commits] [uglifyjs] branch master-experimental updated (18129c1 -> 84cc8af)

Jonas Smedegaard js at moszumanska.debian.org
Wed Apr 30 00:04:05 UTC 2014


This is an automated email from the git hooks/post-receive script.

js pushed a change to branch master-experimental
in repository uglifyjs.

      from  18129c1   Update README.source to emphasize control.in file as *not* a show-stopper for contributions.
       new  66e0f2c   Bump standards-version to 3.9.5.
       new  7d562ca   Update copyright file: Add alternate git URL.
      adds  9b6b3df   Bump standards-version to 3.9.5.
      adds  43222a8   Update copyright file: Add alternate git URL.
      adds  e419cdd   Fix drop upstream parts of git-ignore file.
      adds  c6a4f61   Update changelog, control file and copyright hints.
      adds  7004741   Strip .gitignore file.
      adds  f59061d   git init (moved from a mercurial repo, but I don't care about previous history)
      adds  d3fd47d   minor
      adds  0f5aef0   fixed some issues with code generation; it's now hopefully complete.
      adds  141b5f2   added process_ast which mangles variable names and will eventually apply some optimizations to the AST to produce compressed/mangled output.
      adds  f22f0d1   resolve simple binary ops on constants
      adds  2e4f5da   mangling/compression finally works fine (compress itself, run the compressed version and we get identical output).
      adds  388277d   fix parsing problem (only allow minus as part of the number when it's the first character)
      adds  ff518bf   allow function(){return} (no semicolon after return) when not in strict-semicolons
      adds  c585bdb   "new Foo;" should still insert an empty argument list
      adds  b060d6a   added "with" and "atom" generators for codegen
      adds  9e80e0e   handle return with no arguments in codegen
      adds  1643ec1   fixed parsing conditionals (thanks Marijn!)
      adds  70a9e9b   support "with" and "atom" in process_ast
      adds  315e128   minor
      adds  5a89d13   disorganized tests
      adds  c1b1aa5   always add space between consecutive [+-] operators (handles "i + ++j").
      adds  be26a86   add parens around called expression if not "name" or "dot" (should cover all cases)
      adds  4558de4   display empty blocks as "{}"
      adds  6fc4f36   minor
      adds  9cb7821   Better fix from the master programmer for some issues that I identified: http://marijn.haverbeke.nl/git/?p=parse-js;a=commit;h=2e09d491179be4a838e9435cdacfd7f1e84e9646
      adds  78eb4e6   better fix for "{return}" case (http://marijn.haverbeke.nl/git/?p=parse-js;a=blobdiff;f=src/parse.lisp;h=da8409d1e7078dea43c5c5de7ce5afcf1caf6562;hp=80438c39afad5ca5d5fc3fca35a13d3daae63de3;hb=732969c989144e56a74b51dea6b9e227a7e9d031;hpb=2e09d491179be4a838e9435cdacfd7f1e84e9646)
      adds  96c47bd   fix for parsing ".1" (discard the dot from punc. chars)
      adds  99d4b8b   minor
      adds  ce318ce   minor
      adds  ce18e54   minor style changes
      adds  bae53cf   rewrote proper mangler/compressor (in process.js); revised code generator. It's now beating YUI compressor by 2.4KB (and by many long seconds :-p) on the DynarchLIB code.
      adds  3860ab8   some reorganization, some fixes (moved gen_code to process.js, handle consecutive var decls in switch blocks)
      adds  3a99226   minor
      adds  b98d07a   Fixed bug that showed up when processing jQuery: I was using the "token in KEYWORDS" construct everywhere, and it doesn't work well because jQuery defines a lot of variables using names that have some standard meaning in JS, such as "toString".  "toString" in OBJECT will always evaluate to true, since all objects have a "toString" method, but it's not what we expect.
      adds  169da62   lots of other fixes while testing on jQuery:
      adds  c9a7efa   another fix: don't shadow a name that is referenced but not defined -- it's possibly a global defined elsewhere
      adds  5675154   dropping spurious brackets got back, but this time it's safer
      adds  e6c1859   further optimizations for IFs:
      adds  2167f4f   more optimization for IF statements
      adds  ed0f081   comments + small cleanups
      adds  9026e22   minor
      adds  299ae5c   added some documentation
      adds  5a1a2f0   README.org for github
      adds  8705783   symlink not good enough for github.
      adds  c50512b   README for github, take 3
      adds  6cb0104   fixed doc rendering for github
      adds  d034913   minor doc changes (link to the Google Group)
      adds  ee4ae7b   links
      adds  190cf6f   links
      adds  8806318   squeeze a few more bytes:   if (!foo) bar(); else baz();  ==>  foo ? baz() : bar();
      adds  dbfa880   minor: transform !foo?bar():baz() ==> foo?baz():bar() for all conditionals (16 less bytes on DL and 3 on jQ :-p)
      adds  c4a966a   Fix for: http://github.com/mishoo/UglifyJS/issues#issue/2 --
      adds  e3ccaf9   Allow unescaped slash character in literal regexps, when inside a character class.
      adds  8e77cfe   we must add semicolon after do{...}while()
      adds  97ca763   newline after return shouldn't cause the next token to become the returned value: http://marijn.haverbeke.nl/git/?p=parse-js;a=commitdiff;h=894cf114437fbe23cb796a42be69e13cc0de6129;hp=bfddd819c0801ea66f375b3626d397849a71cffb
      adds  0188ecc   maybe_before_semicolon no longer in use
      adds  e3d3d1d   add parens to "seq" in conditionals; fixed typo that caused this to break in "binary" as well.
      adds  ba5bbe2   support for '2e-3' (http://github.com/mishoo/UglifyJS/issues#issue/4)
      adds  7f49791   newline normalization (http://github.com/mishoo/UglifyJS/issues#issue/7)
      adds  a9e88c6   small fix (content of line comment tokens had the last char cut)
      adds  f24fdf6   Multiline comments that contain a newline will trigger semicolon insertion (http://github.com/mishoo/UglifyJS/issues#issue/8)
      adds  a3ba8ef   when not in "strict semicolons", allow trailing comma in hash and array literals (http://github.com/mishoo/UglifyJS/issues#issue/9)
      adds  17cf220   add parens around "assign" when it's used as condition in the ?/: operator. (http://github.com/mishoo/UglifyJS/issues#issue/10)
      adds  4df9759   add parens around "seq" when used as constructor. (http://github.com/mishoo/UglifyJS/issues#issue/11)
      adds  436eba4   fixed again http://github.com/mishoo/UglifyJS/issues/issue/11/#comment_361674
      adds  d910805   `new (X ? A : B)` → `new X?A:B`   --- now fixed.
      adds  3cff513   Fixed parsing [^[ ... ] in regexp.
      adds  8201ca2   adding space before the colon in literal objects is now optional (beautify.space_colon, by default false)
      adds  577f7e0   minor cleanup
      adds  1398a9a   some cleanups
      adds  3da76f9   removed old/unused files
      adds  81c6038   no more JSON.stringify to output strings
      adds  79a4c80   small script to call the uglifier/beautifier
      adds  a554a69   add parens around "seq" when used as condition in the ?/: operator
      adds  496d35c   minor improvement: if (!foo) bar(); else baz(); ==> if (foo) baz(); else bar();
      adds  c05c1db   minor: don't add parens around "binary" when used in combination with an operator of the same precedence that is: a+(b+(c+d))  ==>  a+b+c+d
      adds  3db2083   reverted previous commit [ a-(b-c) was translated to a-b-c which is wrong ]
      adds  6ccdbc7   minor
      adds  b99aefa   block brackets are required in try/catch/finally (AST change: try/catch/finally now receive an array of statements, like "function")
      adds  80e4320   small cleanup
      adds  a362966   add package.json for installation via npm
      adds  98176f7   some cleanups regarding "block" nodes -- and gained a few more bytes by properly adding the brackets *only* when really needed.
      adds  192096b   Fixed bug when adding blocks to THEN clause:
      adds  45e86a2   fix: don't add a mangled name to anonymous functions
      adds  f0da40a   minor optimizations/experiments:
      adds  73898b1   minor fix gains another few hundred bytes on DL, Ymacs and jQuery. --seqs seems safe, so it's now default; use --no-seqs to disable it.
      adds  1c5ca3c   default make_seqs => true
      adds  7ffacdb   update docs
      adds  fcafb26   fixed links
      adds  57ef537   no need to escape slashes in regexp, since we store the backslash as well
      adds  1a7834e   fixed parsing for x++ / 5
      adds  b3bddef   minor
      adds  605fb8e   escape \r and \f when in output strings
      adds  60ee8b2   parenthesize "dot" in "new" calls; sometimes this can add unnecessary parens, but it's safer (TODO: only add parens when necessary).  Fixes:
      adds  92bc04c   back to using JSON.stringify to output strings (still the safest variant)
      adds  b8ad92d   support "const"
      adds  284b919   fixed parsing 0xC1BDCEEE
      adds  6570252   fixed issue with mangling: http://github.com/mishoo/UglifyJS/issues#issue/17
      adds  be3ab72   added option to mangle toplevel scope
      adds  b5f7a12   minor improvements:
      adds  3ebf1a0   Handle EOF when reading blocks. http://github.com/mishoo/UglifyJS/issues#issue/19
      adds  d7333fe   minor fix for numbers
      adds  dd0d3bf   fixed again parsing unterminated blocks (handle EOF)
      adds  f1aebc3   don't enforce for/do/while/switch in label_statement http://github.com/mishoo/UglifyJS/issues/closed#issue/20
      adds  da2ca9a   in fact, do check for do/for/while/switch after label, but only in "strict_mode"
      adds  b4471e1   croak on try{} without catch{} and finally{}
      adds  4ff60e4   added --ast
      adds  33cdf4b   when --ast is specified we should still go through all the requested tree processing
      adds  299bad6   "case" and "default" nodes no longer appear in the tree; instead, since they can only be branches in a switch, the AST for switch blocks now looks like this:
      adds  786a1d8   removed unused code
      adds  ec41f0a   added --overwrite to overwrite the original file
      adds  a0582a3   Merge branch 'master' into macros
      adds  ca5b39e   remove final "break" statement in switch (only when unlabelled)
      adds  923ec5a   some doc updates
      adds  1307ce5   allow regexp immediately after else
      adds  ad34b71   allow a literal regexp to start a statement
      adds  315230b   looks like comma-expressions should be explicitly forbidden in expressions of the "conditional" (?) operator. (cherry picked from commit c7b83e1be7628eac31ac4b289ee3cbc7d4122f30)
      adds  aa0ba96   don't die on byte order mark at the beginning of files
      adds  7c40517   Accept operator &= http://github.com/marijnh/parse-js/commit/4cdced09ab375ad81f85dcaa5cf82b362a762b41
      adds  630237d   disallow assignment to 'this' http://github.com/marijnh/parse-js/commit/77d1fa4694cb555431291000cc22db3498ad6ea1
      adds  9b8282b   NaN is not a keyword http://github.com/marijnh/parse-js/commit/63f6632bcc9134ecad6bb0b18273e28f892dcb9b
      adds  c10ea3f   when parsing a function, reset in_loop to disallow break/continue
      adds  1a71081   mark 'i' as referenced in the current scope on "for (i in foo)"
      adds  77f2827   tighten try/catch/finally blocks
      adds  c41857f   ability to remove some dead code, and warn about it (ON by default):
      adds  19a5540   updated doc
      adds  9f2dd89   update doc
      adds  51b9627   fix for http://github.com/mishoo/UglifyJS/issues#issue/25
      adds  99ccc27   some cleanups/fixes that were figure out in the Lisp version [1].  Big speed improvement.
      adds  c618ed6   when the condition in a conditional is a conditional, should add the parens (http://github.com/mishoo/UglifyJS/issues#issue/72)
      adds  a206f93   don't quote object keys when they are integers
      adds  0111230   cut off a few more bytes by being a bit smarter about adding parens around function literals http://github.com/mishoo/UglifyJS/issues#issue/29
      adds  533d18d   more cases to handle before discarding parens around function literals
      adds  d4357e8   skip literal functions when detecting calls in "new" expression
      adds  4e01991   handle <<, >> and >>> when resolving binary operations
      adds  7bdccef   should be safe not to force numbers in evaluating <<, >>, >>>
      adds  568da4f   more accurately support numbers as keys in literal objects
      adds  48116b3   fixed regression (we always quoted object props)
      adds  26b651d   fixed another regression (we always added parens in unary-prefix/postfix)
      adds  a9770ea   discarded other unnecessary parens -- before, !!b used to turn into !(!b)
      adds  862268a   convert string properties to numbers where possible in literal objects
      adds  6757bc8   reverted previous commit (not such a good idea, as it changes semantics)
      adds  ea2b579   fix parsing for 1e+2
      adds  72a8ffa   in Node-0.3 "sys" has been renamed "util"
      adds  09b4201   minor
      adds  fd629c8   version test for node was missing a leading `v` and was not compatible for all versions <0.3
      adds  1b010dc   Merge branch 'master' of http://github.com/michaelficarra/UglifyJS
      adds  62f5950   make sure *this* is quoted
      adds  ac7a4db   reimplemented #28 in a sane way
      adds  df702bb   Merge branch 'master' of http://github.com/satyr/UglifyJS
      adds  d59a614   sys = require("util") for node 0.3+
      adds  bb3071c   some cleanup
      adds  6bd7983   squeeze a few more bytes with an apparently safe transformation:
      adds  831bc79   Small note: we beat GCL on jQuery ;-)  Should update the stats in the documentation.
      adds  3be3851   Added an easy way to create unittests and created units test for 16 of the fixed issues on github
      adds  b513489   small change in handling the first comment (only keep the first X comments of the same style)
      adds  2c05d52   small change in the way the lib is loaded (officially named "uglify-js"; uglify-js.js should be symlinked in ~/.node_libraries/ and someone get this patch into node: http://groups.google.com/group/nodejs-dev/browse_thread/thread/fee52df63d3a1201/7da4897463cfbc9c#7da4897463cfbc9c)
      adds  c76ac1a   renamed uglify-js.js to index.js since it appears to be too complicated to get a simple bugfix into node (http://groups.google.com/group/nodejs-dev/browse_thread/thread/fee52df63d3a1201).
      adds  38f691e   Add support for compressing 'a + "str1" + "str2" + b' to 'a+"str1str2"+b'
      adds  6c9936b   Merge commit '38f691e'
      adds  899c9e1   minor optimization for if (foo) { ... return }
      adds  97f964a   compress assignments more
      adds  01f9d66   Be even better with assignments
      adds  0ade80e   Merge branch 'assignment' of http://github.com/WizKid/UglifyJS into wizkid-master
      adds  5f79498   compress assignments more
      adds  2d28aa7   Be even better with assignments
      adds  3de6acb   Treat the first statement in a for-loop the same as a normal statement. So do seq with previous statements. Put together var and const declarations. And if it is empty move the last statement there
      adds  2b67f12   Add some more types to find_first_execute. Gives a few bytes on jquery and processingjs
      adds  5b093e1   whatever I'm commiting right now should just be a merge operation
      adds  230f452   Add a decompress step first so we don't have to add a lot of code to handle special cases around sequences and first statement in for-loops. But if you turn of make stuff in to sequences this can make the result be bigger. But it is so much easier to do stuff
      adds  fda56da   Move i++, ++i, i+=1 forward into the next statement if possible
      adds  891f0f5   Merge https://github.com/WizKid/UglifyJS into wizkid-master
      adds  1cbd34a   Merge branch 'wizkid-master'
      adds  808a69c   fixes issue #43 (restore regex_allowed after skipping a comment)
      adds  85a5d74   minor
      adds  c93432b   removed unused code
      adds  5c552d7   Make the package.json work when npm linking again
      adds  5451159   added --extra option, which will enable optimizations that we're not yet fully sure about (i.e. might alter code logic)
      adds  3fb2a84   fixed issue #50 and added test case.  also:
      adds  831b1de   Fix issue 48 where 0 and "" was treated as same and wrongful optimizations where done
      adds  e41d6d0   Merge remote branch 'wizkid/master'
      adds  ba1962a   oops, fixed regression (var joining is safe, should be enabled by default)
      adds  62cd070   true => !0, false => !1 -- seems safe; this cuts 1K on DynarchLIB
      adds  831c2ab   be smarter about negation:   !(a == b) => a != b   !(a && b) => !a || !b   !(!a || !b) => a && b   etc.
      adds  dc3870b   fixed issue #53: x = (y, z) should not discard the parens
      adds  43c585a   foo.toString()  ==>  foo.""
      adds  6261a50   removed useless check
      adds  4d45bc8   disabled foo.toString() ==> foo+""; it's still available if you pass --unsafe to uglifyjs (or call ast_squeeze_more if you're using the JS API).
      adds  d36abb0   Fixes printing printing small floating point numbers.
      adds  3865b73   minor (got rid of try/finally)
      adds  ca9388d   fix for issue #58
      adds  e2e4d8b   fixed issue #57 -- add block brackets around do/while in code like this:
      adds  2b802ab   fixed issue #59 ("!--x" incorrectly yield "--x")
      adds  1f9c172   fixed issue #61:  f((a, b)) was incorrectly rendered f(a, b)
      adds  54d46bb   removed Node dependency from process.js (issue #60)
      adds  3184a1a   fixed issue #62: properly handle negation such that:
      adds  9b619d1   got rid of JSON.stringify for writing strings; having our own function now, which counts the " or ' characters in the string and generates the smallest output.
      adds  cd42c68   compress new Array(1, 2, 3) into [1,2,3]
      adds  f98c5eb   fixed regression: new Array(x) should be left as is.
      adds  8b7599d   properly handle the case where Array exists in current scope:
      adds  d0d0808   updated expected test result (broken since we added support for quoting with either " or ' depending on which one requires fewer backslashes)
      adds  2beccfd   but then indeed, "new Array(x)" can be safely written "Array(x)" if we're talking about the global Array function.
      adds  145317b   compress Array(1,2,3) into [1,2,3] too
      adds  bd7780d   updated doc to point out the potentially unsafe Array transformations
      adds  e69bf38   doc fix
      adds  3f9b302   added an array mapping utility that allows us to push stuff at the top
      adds  4824f90   fixed issue #68: push function definitions to the top of the current scope block, when they are not inside some other block like a conditional.  This is done in ast_mangle, so it's only available if mangling is enabled.
      adds  d643f2a   updated "expected" version for tests affected by the last change
      adds  cd78ff5   fixed issue #69
      adds  4764baa   fixed issue #70: for reasons unknown to humanity, you can have an unparenthesized literal regexp as a "case" expression.
      adds  a21c720   switched to the simplified BSD license
      adds  617a3e7   support parsing getter/setter declarations in object literals (patch by Pavel Podivilov)
      adds  0cbd088   support mangling/squeezing/gen_code for getter/setters in object literals
      adds  9baf991   fixed comment
      adds  cc2d15b   issue #71 -- increment line count in multiline comments
      adds  50005c4   issue #72: (0).toString -> 0..toString
      adds  a44d50d   fixed parsing "5..toString()"
      adds  8e814c8   support [1,,3] (an array with 3 elements)
      adds  7248295   Added the ability to insert some newlines in the generated code (--max-line-len, default 32K).  I've seen both FF and Chrome croak with weird errors when all code was on a single line of 670K (funnily enough, IE didn't complain)
      adds  cc8bdc3   moved split_lines into the library code and exported it
      adds  5b2c91b   Extend name mangling from base54 to base64 after first character. Provides better compression on libraries with a large number of variables. Example: DynarchLib compresses 571 bytes smaller (non-gzipped) or 212 bytes smaller (gzipped).
      adds  ae50289   reversed the previous patch; the ideea was good, but implementation seems to be incorrect
      adds  30a0b41   fixed issue #77 -- endless recursion if the stream ends with ++/--
      adds  d9e1783   remove bogus ~= operator and extra %= mention http://marijnhaverbeke.nl/git/?p=parse-js;a=commit;h=eb75e7e7f48fd317727229a23616bdf71a23c1fe
      adds  50a7d80   fixes #78 -- quote numeric property names when they're negative
      adds  5579816   don't call output.end() when we're writing to standard output
      adds  7951d98   semicolon removal less aggresive: {while();} must keep the semicolon, otherwise it introduces a syntax error
      adds  5ff30fe   Employ the full parser, rather than just the tokenizer, for splitting lines (which is the only way we can deal with the "regexp starting a statement" syntax).  Comments are now attached to the next token (.comments_before) rather than reported separately, which also simplified some code.
      adds  a014e9e   read --max-line-len argument as an integer
      adds  bcc976f   fixes #83 -- show a cleaner error when the input file isn't found
      adds  3c616d0   fixes #84 -- safer dealing with boolean expressions, at the expense of a few extra bytes :-(
      adds  2840c0a   refs #84 -- consider a = !b a boolean expression too
      adds  7bb084c   transform !(a?b:c) ==> !a?c:b
      adds  664e0cc   minor optimizations:
      adds  fa6626e   oops, fixed regression: !(a?b:c) can't convert to !a?c:b
      adds  c2a4319   fixed negating conditionals again :-\
      adds  37b4d56   fixes #86 -- dropped unsafe transformation
      adds  fb2e980   mostly cosmetic change
      adds  02d7a2f   - Removed --extra because of bugs in the optimizations. After the bugs are fixed I will move them into --unsafe so they get some testing. - Updated tests so all everything are green now
      adds  99560d1   removed unused code
      adds  8f78189   removed more unused code
      adds  c1cfc3d   fixes #65 -- moved the following transformations under --unsafe:
      adds  ff1fea4   keep the first token in ast_walker, ast_add_scope and ast_mangle (useful for the case where we include the original token in the AST, see parse())
      adds  219f0c8   more embed_tokens: do lambdas too
      adds  234ced3   fixes #87 -- transform while(true){...} into for(;;){...}.  Drop the block if it's empty.
      adds  b32b6a1   but don't try to warn when the "unreachable code" is empty
      adds  bf2cbf5   unstrict equals operator when operands share the same type
      adds  56c62d9   resolved conflict
      adds  5319c1b   don't display warnings unless --verbose
      adds  b02f2d0   fixes #94 -- drop names of inline functions when they aren't referenced anywhere
      adds  15604c4   slightly better fix, in case your inline function is named toString, hasOwnProperty or whatever.. :)
      adds  4ec73d3   More ignore rules
      adds  5eaa12f   Reserved variable names option
      adds  57ee9e7   Merge branch 'master' of https://github.com/cadorn/uglify-js into cadorn-master
      adds  8638ae8   fixes #92 -- added --reserved-names command line argument (pass one or more names separated by a comma to exclude them from compression)
      adds  1cdb981   updated doc of ast_mangle (there was a small API change)
      adds  a06a492   issue #96 -- added parser test suite, thanks to Peter van der Zee
      adds  b876199   issue #96 (regular expression flags) -- accept any identifier character for regular expression flags (ES-262, 7.8.5)
      adds  7cdfabc   support unicode chars in identifiers
      adds  687382e   disabled some checks by default (they're enabled in strict_mode): - continue/break outside loop/switch - return outside of function - continue/break label not defined
      adds  4b29a26   treat ZWSP (zero-width space, U+200B) as whitespace
      adds  4c4f5af   issue #96 -- support UnicodeEscapeSequence in names
      adds  4d23891   fixed some regexps
      adds  68ae5c3   minor
      adds  d221da0   allow new Date++
      adds  7f9ddd4   allow call expressions to be lvalues too
      adds  3114abe   don't check whether the left side is assignable, unless strict_mode == true
      adds  aeccb64   support funny cases of for-in:
      adds  9760b79   renamed variable "strict_mode" to "exigent_mode", to avoid confusion with ES5's "use strict;" (which, for the time being, we don't care about).
      adds  f378f63   reverted 687382e4d2f55401483e6823cb814d7c9cab5dbc and updated testparser.js to use valid code.
      adds  a908752   fixes #99
      adds  cc9e94d   warn when "conditional comments" are encountered
      adds  de80c97   add an ascii_only option to gen_code
      adds  bb033d4   added --ascii option, useful to encode non-ASCII characters as \uXXXX. apply this to literal object property names and identifiers too.
      adds  3d10686   updated gen_code API description
      adds  a55ed6f   transform a["123"] into a[123] (fixes #107)
      adds  3b1eee2   only add a second dot in forms like (5).toFixed() if the number is integer. That is, the correct transformation for (0.9).toFixed() is .9.toFixed() (fixes #109)
      adds  a1e5e94   fixed parsing for stuff like 0x12.toFixed() (when we have 0x, the dot cannot be part of the number)
      adds  9357003   removed duplicated operator
      adds  361951f   fixes #117 -- don't parenthesize literal objects
      adds  ca2bcfd   add parens around object literal when used as first thing in a statement
      adds  bf46f2b   fix more pathological cases of parens around literal object
      adds  1eecae3   again: it can be first thing in a statement when in unary-prefix too...
      adds  55ddee9   more parens around literal objects/functions when first thing in a statement [ will this end? :-) ]
      adds  175b4cb   handle conditional operator too
      adds  852122c   NPM changes
      adds  9c4fbf4   comments (fixes #120)
      adds  4a99084   Support unicode newlines in make_string (make uglifyjs work for the Dragonfly project).
      adds  0fa93d2   Merge branch 'master' of https://github.com/chriskr/UglifyJS into chriskr-master
      adds  317d2bb   fixes issue #129 -- initializers in var/const cannot be seq-s (parens needed)
      adds  56972f9   only defuns define a new name in the current scope; named lambdas seem that should not affect it.  (fixes #128)
      adds  84b85fa   better fix for issue #128:
      adds  6e751ef   support "splice" node, which is like "block" but doesn't add the brackets in gen_code
      adds  6e89f5b   added a sample on how to use the parser/walker to instrument some code
      adds  e83767e   embed tokens in expr_atom and expression parsers too
      adds  b5d994a   add brackets around splice nodes when they're directly under "for", "for-in", "if", "while", "do" or "with" nodes
      adds  f0e1ec2   make the module exports a convenience function so minifying src with the defaults is just a one-lininer: min = require('uglify-js')(src);
      adds  8f4fe4c   Merged pull request #133 from aaronblohowiak/master.
      adds  d469517   Added option to define symbols for replacement (cf #define) and improved constant folding for shortcut operators ('&&', '||' and ternary conditional operator)
      adds  df17381   Implemented --define-from-module constant substitution.
      adds  70cb9ee   Merged pull request #137 from tav/master.
      adds  5bedabe   can't optimize away do{ ... }while(false) - fixes #150
      adds  a303476   options.defines is optional..
      adds  d021ad8   Adds missing whitespace characters to WHITESPACE_CHARS
      adds  86a1d8d   Merge pull request #149 from killdream/master
      adds  7c535e6   simple "make" utility.  ideas welcome.
      adds  d03ac93   v1.0.2 -- fixes #152
      adds  b01fa40   newline after continue/break ends the statement (fixes #154)
      adds  068454a   minor
      adds  ae88177   mangled name of a function expression should not clash with a name in the parent scope, in order to deal with a 15 years-old IE bug. (fixes #161)
      adds  4473b36   version 1.0.3
      adds  9472f4f   More sane unit testing script
      adds  b3ed515   Merge commit '9472f4ff19e0daf3adb7fdb0304ab77f19d3cc52'
      adds  9053435   Compress ifs further
      adds  b17d1b6   small cleanup
      adds  e0926ab   Failing test cases for name mangling
      adds  6217aab   fixed mangling of lambda names (regressed as of ae88177)
      adds  440d08f   version 1.0.4
      adds  6a873a7   fixed regression after ae88177fde6a7e54b047: mangling the name of function expressions might clash with an identifier that's already in scope if eval/when is in use.
      adds  59233a3   give unary postfix ops the right precedence (fixes #173)
      adds  8337656   added --inline-script option to escape `</script`, by popular demand
      adds  d8435a4   updated doc
      adds  11566e7   version 1.0.5
      adds  8207ba9   minor (`</script` needs escape only if followed by `>` or whitespace)
      adds  8b2afcb   Only a subset of whitespace characters is problematic after `</script`, so use `[\t\n\f\r ]` instead of `\s`.
      adds  b763f4a   `</script/` is problematic, too.
      adds  9d2fcbb   Merge pull request #177 from mathiasbynens/master
      adds  4d5d1bb   support deprecated OctalEscapeSequence in strings (fixes #178)
      adds  5a75e1e   Added a failing test for with statements.
      adds  f5c6f63   Merge pull request #179 from eirikurn/master
      adds  968c804   fixed compression of `with` statements (regressed at 9053435497e6ab53b100ead72aa399e48f3df8c3)
      adds  89f1330   version 1.0.6
      adds  9210f7e   parenthesize seq values in object literals (fixes #180)
      adds  941c845   discard backslashed literal newlines in strings (fixes #183)
      adds  5221a35   Added ast_lift_variables, which does a little more than its name says:
      adds  115abc6   attempt to group assignments into the var declaration added --lift-vars to bin/uglifyjs options
      adds  4cfe602   minor
      adds  db495a3   more solid check need of semicolons after the last statement of a block. small cleanup in gen_code (using ast_walker now).
      adds  5ee3b60   Easy yet safe optimization.  Saves 119b on jQuery.
      adds  48cc9be   Updated readme.  Follow @UglifyJS on Twitter. ;-)
      adds  90ac6dd   no point to keep initialization values in var/const in unreachable code
      adds  80afe6f   mangle label names (fixes #151)
      adds  3cd9829   more fixes:
      adds  7f89bab   Compatibility with the JScript engine, which doesn't support the \v escape sequence
      adds  b5d9e39   Merge pull request #199 from thorn0/patch-1
      adds  0c67f57   moved Array ==> [] transforms in squeeze-more (so they now apply on `--unsafe`)
      adds  01a83b4   parameter start arrives 'undefined' or 'null', any falsy value should be zero
      adds  a3c14f7   Merge pull request #200 from johnjbarton/01a83b461f541898cb4b2f9ef033245c1a7ee18b
      adds  8fff849   Fix tests broken after 3cd9829a
      adds  b6575ef   Merge pull request #202 from lautis/fix-broken-tests
      adds  43c21c7   Merge branch 'master' of github.com:mishoo/UglifyJS
      adds  25d02fb   updated doc
      adds  5f2528a   exit with code 1 in case of error (fixes #204)
      adds  6c4a19f   version 1.0.7
      adds  fce7830   fixed parsing in exigent_mode + embed_tokens (fixes #208)
      adds  cd41e5a   merged cade4f252e5f4db715d9 from @schmerg, other minor doc updates
      adds  d891e2d   fixed codegen for `(function(){...}()) && bar()`.
      adds  d823384   Added an utility that allows walking depth-first easily. For example:
      adds  42bbd03   fixed rendering of extremely "large" negative numbers (fixes #214)
      adds  b6de527   err, fixed again negative numbers.  (#214)
      adds  71f32c4   Constant fold modulo operator.
      adds  07041f7   Merge pull request #220 from proxv/master
      adds  87d8f58   Fix sparse array literals e.g. [,]
      adds  1e7cd25   Merge pull request #216 from jasondavies/sparse-arrays
      adds  39093f4   compile `a=a+b` to `a+=b` and so on
      adds  83d1c85   put the assignment types into an array literal instead of stringsplit
      adds  7677944   Merge pull request #230 from thejh/assign-to-modifyassign
      adds  dda958a   support empty "then" IF branch in codegen
      adds  ff46b80   fix for parsing regexps like /=/ where statement is expected
      adds  1b94161   Add syntax error on newline after 'throw'
      adds  f12f00e   add parens around literal object as statement (fixes #234)
      adds  a46a85b   Parenthesize sequences in constructor calls.
      adds  4481a82   Merge pull request #232 from proxv/master
      adds  de91bd2   Merge branch 'master' of github.com:mishoo/UglifyJS
      adds  4c3d5b9   fixed removal of `if (false) { ... }`
      adds  3e5f5b4   Added null as a constant.
      adds  2d3e317   Merge pull request #235 from josephg/patch-1
      adds  e967213   fixed issue #112: `_ == true` -> `_ == 1` and similar
      adds  bdf9fe5   Merge branch 'issue112' of https://github.com/michaelficarra/UglifyJS into michaelficarra
      adds  8be7668   Parenthesize object literals with no properties.
      adds  4158510   Merge pull request #237 from proxv/parenthesize-no-prop-object-literals
      adds  926331b   Merge branch 'master' of github.com:mishoo/UglifyJS
      adds  5fce8a3   Better parser error message for node
      adds  617353c   Merge pull request #172 from 5long/master
      adds  0bb798b   semicolons
      adds  bf136c0   in fact, new Error().stack is enough to get a stacktrace
      adds  6d79555   Recognize various Unicode whitespace
      adds  e57aadc   Merge pull request #211 from lautis/unicode-whitespace
      adds  41c1754   Merge branch 'master' of github.com:mishoo/UglifyJS
      adds  e82887b   try negation in make_conditional (closes #227)
      adds  a476f45   Encode null characters as '\0'
      adds  ad7bfc4   Merge branch 'encode-nulls' of https://github.com/lautis/UglifyJS into lautis
      adds  a02bb16   version 1.1
      adds  66506c4   fixed version for NPM
      adds  1721863   Parenthesize function expressions.
      adds  3dc988b   Merge branch 'parenthesize-function-expressions' of https://github.com/proxv/UglifyJS into tmp
      adds  48d2fe7   Don't insert semicolons before multi-line strings.
      adds  120ed08   Merge pull request #238 from proxv/multiline-strings-semicolons
      adds  72ddf7d   keep literal newlines in strings as \n
      adds  5ba19b3   reverted last patch
      adds  f896f69   fix parenthesization of anonymous function calls
      adds  3a67143   better fix instead of f896f690500f11130435c495a7b1eaf9338c59dd
      adds  60fef22   negating >= and <= operators is back to --unsafe (closes #239)
      adds  7805e1d   add final semicolon (closes #126)
      adds  565ee79   version 1.1.1
      adds  8459929   use == instead of === in `member` (fixes #244)
      adds  4f97733   escaped slash character in regexp
      adds  e751e36   String(a) => a+""  (with --unsafe)
      adds  8c50b79   at most one ';' at EOF
      adds  662e846   some cleanup
      adds  1b81b9b   Unsafe Object constructor transformations:
      adds  8bdc996   Merge pull request #263 from ikokostya/object
      adds  dd7f9b8   Use a different scope for labels than for variables.
      adds  2ee365b   Fixed parse error position: start line number and column number from 1.
      adds  9d4d768   Merge pull request #258 from ikokostya/fix-error-pos
      adds  f74e6bc   Keep end position of each token
      adds  00a7beb   Merge pull request #248 from WolfgangKluge/endpos-in-tokens
      adds  7decebf   fixes embed_tokens for functions (#260)
      adds  311c590   new RegExp() => RegExp() (with --unsafe)
      adds  4987ee3   new Error() => Error() (with --unsafe)
      adds  b9cd98a   Unsafe: new Function() => Function()
      adds  03f2a85   option to prevent mangling or dropping of function names (#267)
      adds  58d3600   updated doc
      adds  4b71a9e   version 1.2
      adds  3800c29   made npm happy
      adds  28ceb22   don't walk label statements twice (closes #272)
      adds  29815b0   version 1.2.1
      adds  1ab6d41   walk label statement *after* mangling it (really fixes #272)
      adds  4675bca   v1.2.2
      adds  e51d1e4   support `debugger` statement (closes #278)
      adds  a0dcd85   improved redo_if (closes #283)
      adds  08f6e1a   v1.2.3
      adds  84553e7   Fixed #286: Only one variable declaration allowed in for..in loop
      adds  dc5a7d1   Check abort else statement in make_real_if() when t[0] is "stat"
      adds  186aba5   Remove whitespace in #! line
      adds  0f8e7b8   Merge pull request #291 from isaacs/patch-1
      adds  a60a831   v1.2.4
      adds  5a0095f   Merge branch 'master' into abort-else
      adds  fb1ba80   Test the local instead of the installed version.
      adds  c963cf4   Merge pull request #295 from WolfgangKluge/master
      adds  0c84b2c   handle null constant (closes #299)
      adds  f5f3870   v1.2.5
      adds  b8c7715   avoid parens for getter/setters (closes #301)
      adds  82a8934   make 2 symbol variable names range bigger (from 2862 to 3402)
      adds  08a8fcb   avoid double-parens on calls on function expressions (fixes #313)
      adds  dbd3a4c   output literal TABs in strings (fixes #318)
      adds  cab739c   fix parsing `x = {}/1` (closes #320)
      adds  dfb9a63   Consolidate null, Boolean, and String values
      adds  de93f64   Merge pull request #327 from RGustBardon/master
      adds  a967161   Fix issues #162 and #271
      adds  09680f7   Merge pull request #328 from RGustBardon/fix-162-and-271
      adds  51cda54   Implement the idea from issue #325
      adds  cd8e0c7   Merge pull request #329 from RGustBardon/implement-325
      adds  b969f45   v1.2.6
      adds  1f5949c   support "use-strict" as a statement (refs #339)
      adds  ec9d1be   Improved strict mode support
      adds  5ae3187   Don't bother save/restoring in_directives
      adds  37aed3a   Merge pull request #345 from mal/master
      adds  666a915   add semicolon after debugger statements if necessary (closes #353)
      adds  5d05477   add tests for issue 353
      adds  e4ca86b   Merge pull request #355 from proxv/debugger-semicolon-insertion
      adds  1fa8288   fix expected output for issue14 test to have literal tab instead of escaped tab
      adds  8ab7275   Merge pull request #356 from proxv/fix-failing-test
      adds  b0f8876   make note of newlines in comments for ASI purposes (closes #349)
      adds  f970de7   Merge pull request #357 from proxv/handle-comment-newlines
      adds  1f0c34d   add nodeunit devDependency and add 'npm test' script to package.json
      adds  255c39e   require local version of uglify instead of global
      adds  d7398ac   move consolidator tests to test/ dir and run them via 'npm test'
      adds  b4f2111   add npm-debug.log to .gitignore
      adds  51194bf   Merge pull request #358 from proxv/package-improvements
      adds  66fc6f5   fix consolidator to use new 'directive' AST node
      adds  9183ede   Merge pull request #359 from proxv/fix-consolidator
      adds  e635913   Apply ascii only option to regexps
      adds  521bb0f   Merge pull request #369 from mal/ascii-regex
      adds  f5419ec   Squashable directives
      adds  f944cbf   Adding tests for squeezing directives
      adds  45f044f   fix parsing 1e5..toFixed(5)
      adds  8ec0341   don't generate double-dot for 10000..toFixed(5)
      adds  04451f3   Fix make for newer versions of node
      adds  14dfd83   Merge pull request #373 from mal/master
      adds  24e0108   Merge branch 'master' of github.com:mishoo/UglifyJS
      adds  67e6163   avoid some double-parens
      adds  50ee352   Allow defines even when not mangling.
      adds  e06dc6a   Merge pull request #342 from int3/master
      adds  0040110   Revoke #368 and fix issue #383 to make jQuery tests pass
      adds  b259613   Merge pull request #384 from RGustBardon/fix-383
      adds  133b36f   Implement #368 (too many parentheses)
      adds  301d37b   Merge pull request #385 from RGustBardon/implement-368
      adds  c37094e   Fix for issue #386
      adds  ef4d776   Merge pull request #387 from rvanvelzen/master
      adds  0c936e0   when the statement of a for is not empty, check if it requires semicolon
      adds  4072f80   Optimize list of digits for generating identifiers for gzip compression.
      adds  f834ec6   Merge pull request #397 from rvanvelzen/optimize_gzip
      adds  59ce11d   Undo commit 133b36f54d0e8f78fc649e99983798bf05445b18
      adds  b5037ad   Fix issues #222 and #324
      adds  e77ecaa   Merge branch 'fix-222-and-324' of https://github.com/RGustBardon/UglifyJS into RGustBardon-fix-222-and-324
      adds  4a259ae   propagate newline_before for comment tokens (fixes #398)
      adds  4e53bf1   when --unsafe, replace "foo".toString() with "foo", rather than "foo"+""
      adds  2fe0dc7   Add base54 digits override for unit tests.
      adds  8ddc3db   Merge pull request #400 from proxv/override-digits-in-tests
      adds  e520658   Also descend arg AST nodes in ast_squeeze function-call handler
      adds  d88a799   Merge pull request #401 from proxv/ast-squeeze-call
      adds  2adb251   v1.3.0
      adds  b689d52   ast_mangle should, well, mangle by default. (fixes #404)
      adds  5f5e7c2   also don't mangle function names if !options.mangle (#404)
      adds  e87718e   fix options for ast_mangle
      adds  5acf636   Remove unnecessary "+" sign in SignedInteger
      adds  46f0610   Merge pull request #407 from RGustBardon/1e+21
      adds  e90dbc9   Remove NOT in IfStatement with EmptyStatement (-s)
      adds  4c72a63   Merge pull request #408 from RGustBardon/if-not
      adds  0cf0022   Fix representation of infinite values
      adds  2679409   Merge pull request #410 from RGustBardon/infinite
      adds  7c15135   cleaner fix for 0/0, 1/0, -1/0 (issue #410)
      adds  a3fcb0d   minor --make stuff
      adds  ad80428   v1.3.1
      adds  d3473bc   add the space in “return λ” and similar cases
      adds  20f1dc3   v1.3.2
      adds  058748f   revert f5419ec2d6b7e341f99a1f09a63ff6b6a0e3fc95 (squashable directives)
      adds  8062092   emacs vars
      adds  8872e3a   added separate step to discard redundant directives
      adds  5d401d9   fix for redundant directives in same scope
      adds  18b3991   "sys" → "util"
      adds  8188f1b   be wary of some conditional operators in lift_variables (fixes #435)
      adds  81adc84   fix --lift-vars for "for(var i; ...)" (var declared in for but uninitialized)
      adds  fecadfe   Fix issue #431
      adds  c9aae35   Merge pull request #432 from rvanvelzen/fix-431
      adds  09511bd   v1.3.3
      adds  de2c36d   I'm officially switching to 4-space indentation.
      adds  9b69218   add note about UglifyJS 2.0
      adds  b3bd55f   Fix division with regexp as right generating invalid code.
      adds  d51853e   Merge pull request #458 from rvanvelzen/div-with-regexp
      adds  8602447   discard all \uFEFF characters (close #462)
      adds  194cd4b   disallow newlines in strings (fix #463)
      adds  5bec756   Added an example of how to use the `defines` option (see #281)
      adds  cc1bde2   Fixed syntax
      adds  437232e   Merge pull request #343 from spadgos/patch-1
      adds  f34a662   Reverting "discard all \uFEFF characters (close #462)" Revert "discard all \uFEFF characters (close #462)"
      adds  25310d5   treat \uFEFF as whitespace
      adds  a90b334   v1.3.4
      adds  7218ffc   Fix broken calls of complex binary expressions [#471]
      adds  14398af   add note about the NPM package, which switched to v2
      adds  9501219   drop the pledgie link
      adds  ef660f1   v1.3.5
      adds  222825b   Imported Upstream version 1.3.5
      adds  d643d81   Merge tag 'upstream/1.3.5'
      adds  f23acbf   Stop track md5sum of upstream tarball: Compare tarball against upstream git commits instead.
      adds  907742b   Relax to depend unversioned on nodejs: Only supported releases exist in Debian now.
      adds  5e7bbf2   Prepare for release: Update changelog, control file and copyright hints.
       new  d52270b   Merge branch 'master' into master-experimental
       new  1447b1b   Update changelog and control file.
       new  562b12f   init repo
       new  46e7507   Fixes some gotchas.
       new  22bb5e8   added small node test script
       new  861e26a   WIP
       new  c0ba9e2   WIP
       new  7f273c3   codegen and dropped the useless walker
       new  c7c163b   lots'o'fixes in the output routines; still a looong way to go.
       new  13f7b11   code generator finally seems to work properly
       new  4fb6021   fix one more glitch
       new  07cbc8d   added some comments about the rules governing parens
       new  901f770   don't output both space and semicolon when beautify=false
       new  ef87c9f   big speed improvement (observable when beautify = false)
       new  cd8ae5f   minor whitespace issues
       new  4488758   some fixes (need testing) in AST_If codegen
       new  6c35135   simple visitor API and code to figure out scope and references
       new  1fe0ff9   doc (WIP)
       new  458e251   added mangler and other stuff
       new  99456c6   more fixes:
       new  159333f   warn about unreferenced symbols
       new  92bd53b   handle labels properly
       new  7ae1c60   some reorganization
       new  ffe58a9   cleaned up some mess and started the actual compressor
       new  1b839eb   hint that brackets may be required in AST_BlockStatement
       new  fb8c9e3   declare some properties in the node constructor so that they're copied in clone
       new  f53e139   fix output for certain edge cases
       new  159a6f0   wrote more of the compressor and added some tests
       new  95b18e5   added license
       new  8d233c3   fix current_col and force a newline every 32K (support options.max_line_len)
       new  a8e49f1   added print_to_string helper method
       new  4437e7a   fix compressing `a,b; return c;` into `return a,b,c;`
       new  8dfa9fe   minor
       new  58a3b5e   update (c) years
       new  bf70205   minor
       new  ce8e8d5   added README
       new  7fcb6bc   fix code generator for this case:
       new  1b6bcca   fix output for arrays containing undefined values
       new  86cff20   docstring for AST_StatementWithBody
       new  6569e66   update with link to discussion about Esprima vs. UglifyJS speed
       new  48440dc   don't mangle names of setters/getters
       new  52bcca2   started support for generating source maps (WIP)
       new  24bfd55   minor perf. improvements
       new  f2f370c   add source mappings for more node types; started CLI utility
       new  596af60   add -b
       new  1bf5928   Reverting "minor perf. improvements" Revert "minor perf. improvements"
       new  66c869c   switch branches must be declared `required` so that the compressor doesn't replace nodes with a single statement.
       new  d6efa8b   declare boolean options
       new  d7c1dc6   a LabeledStatement should be in fact a StatementWithBody
       new  6d0db4c   an AST_If is too a StatementWithBody
       new  f702264   jumps, try and definitions are statements too
       new  f03138d   resolve constant expressions
       new  37eecc1   more optimizations for ifs/conditionals
       new  e5f1cec   minor
       new  86cfb5b   boolean and if/exit optimizations
       new  3459c40   if present, the `else` in an `if` should always be forced statement
       new  376667a   more fiddling with boolean expressions, etc.
       new  1b5183d   checkpoint
       new  8633b00   cleaned up usage of AST_BlockStatement
       new  0503513   support for hoisting declarations
       new  c7b484b   fix for variable names like `toString`
       new  0afafe6   declared `--stats` as boolean
       new  9bb1a84   don't duplicate argument names
       new  b77574e   fixed tests (need to drop the toplevel block in "expected" if it's a single statement)
       new  919b273   always keep declarations found in unreachable code
       new  048d690   fix bug (forgot arg name)
       new  43c75c9   checkpoint
       new  5a8e6ce   fix output for division followed by regexp
       new  1c8ba35   minor
       new  16b12c6   fix "file" in the source map
       new  a41e6cf   more progress on the compressor (WIP)
       new  6b9aeb5   adaptive base54 digits depending on char frequency (WIP)
       new  1579c0f   hoist_vars is pretty bad, it seems.  cancelled it for now.
       new  da407d4   checkpoint
       new  8e82d8d   fixed some mess with symbols/scope
       new  9a629ab   minor
       new  2b4093b   fixed run-tests and an issue about reversing the condition in AST_If
       new  2b1e462   side effect fixes and small optimization for gzip
       new  a132841   more AST_If optimizations
       new  f5027ec   minor
       new  d72c1d1   few more optimizations:
       new  93b973c   added -m and -c options
       new  924aa58   more optimizations that v1 does and some cleanups
       new  5e83e7e   adding an imaginary "return undefined" can sometimes help
       new  50d1670   minor
       new  43fd451   compress typeof x == "undefined" to x === undefined, which further gets shortened to x === void 0 (or x === [][0] in unsafe mode)
       new  86c14d0   join_vars:
       new  4e0262b   figure out label targets
       new  397bf56   other small optimization:
       new  7b6a402   rewrite handle_if_return
       new  21c34a1   drop unused function
       new  0f418d6   more sequencesizing (WIP)
       new  5d781ec   some cleanup
       new  5e60a60   try negating AST_Binary
       new  07f1d56   more smallish optimizations
       new  14481de   empty block to empty statement: {} ==> ;
       new  92e22c4   possible optimization for AST_Undefined
       new  45a3970   one more test for sequences
       new  6ad414e   minor
       new  e370e3b   fix .undeclared (it's now a function)
       new  ee669ba   moved `typeof foo == "undefined"` ==> `foo === undefined` under `--unsafe`
       new  d91613b   only do the typeof x == "undefined" optimization if x is a symbol reference and it's declared in scope, or x is not a symbol reference.
       new  2196828   added AST_NaN (output as 0/0)
       new  3da0ac4   support for directives
       new  669874d   minor
       new  a4d2340   fixed label scope/mangling
       new  d53e1a9   support -c with no arguments to disable compression entirely
       new  e8da72d   drop unused variables
       new  c4f8c21   more on detecting side effects
       new  5491e1d   better support for multiple input files:
       new  ec7f895   log filename in parse errors / compressor warnings
       new  76d88b5   tree transformer api (WIP)
       new  a83b285   properly drop mutually-referring declarations that are not otherwise referenced and have no side effects
       new  4f97da9   minor tests fix
       new  42038fd   Support input source map
       new  368ac8f   some boolean cleanup
       new  ea6d1ea   it's not safe to assume that property access is side-effect-free
       new  e836e2a   minor
       new  4201577   started some refactoring (WIP) -- moving squeezer to TreeTransformer
       new  10c7f52   discard all \uFEFF characters (https://github.com/mishoo/UglifyJS/issues/462)
       new  9321d41   moving code around (refactoring, WIP)
       new  242dd10   more cleanups
       new  e979d01   minor
       new  a24e7ee   checkpoint (refactoring, WIP)
       new  78be8f5   compressor successfully moved to TreeTransformer
       new  15d58f5   some speedup and more savings from unused vars that have side effects in initialization
       new  13278c6   removed the "squeeze" method (it's now effectively "transform")
       new  05e15b1   fix mangling
       new  8964444   minor
       new  9e5dd81   a shy attempt to obey `width` in the beautifier; added `bracketize` option to always print brackets around if/do/while/for statements; export more options via the CLI
       new  ff696cd   drop more unused names
       new  347160c   add AST_SymbolConst for names defined with `const`
       new  2117927   more constant folding (for names defined with `const`)
       new  e1098b0   "use strict";
       new  dde5b22   support defines
       new  36be211   option to exclude certain names from mangling
       new  2a54562   added option to keep some comments in the output
       new  075f93e   line numbers start at 1
       new  cb2e811   discard annoying nodejs warning
       new  815abcf   support for `--comments` option to keep comments containing @license or @preserve
       new  5c151f9   fixed usage string
       new  378ed17   disable `hoist_vars` by default and change `comparations` to `comparisons`
       new  0678ae2   fix for `a = !b && !c && !d && !e → a=!(b||c||d||e)`
       new  7e8880b   document the CLI tool
       new  bd94eeb   drop tmp. files
       new  e0f5075   fix endless loop in tests
       new  c11de17   added option for side-effect-free statements, fix test
       new  9221ad6   added package.json
       new  3412498   AST cleanup (dropped AST_StatementBase)
       new  11863d6   more cleanup (dropped AST_SwitchBlock)
       new  42ce7ed   ignore tmp/
       new  2bd8a11   define AST_Node.from_mozilla_ast(ast)
       new  f20c251   moving code around
       new  682a58a   removed some unused variables
       new  708ec04   minor
       new  a9b6f99   use the appropriate constructor for symbols
       new  ecd9f21   fixed import of locations from SpiderMonkey AST
       new  e88dcc3   added --acorn and --spidermonkey options
       new  42c25d9   add note about installation
       new  7ae0912   prevent mangling only when eval is *called*, not when it's just referenced
       new  a1e0885   replace `(function(){ ...no side effects ... })()` with `undefined`.
       new  4a2b912   minor
       new  455ac54   remove unused code
       new  fe1411b   fix typo
       new  80a18fe   for certain nodes that we invent we might not have a original source file to map from, so just use "?".  and in any case, don't fail hard when addMapping throws.
       new  093a903   eliminate redundant directives in the same scope
       new  dd8286b   added --self to easily get a browser-runnable version of UglifyJS
       new  d4970b3   should not expose base54.sort() in the API docs, I think
       new  42ea3c9   added some basic API doc
       new  dfc04e6   add simple API wrapper: UglifyJS.minify
       new  c967f0b   fix `inSourceMap` in `minify` (should read the file)
       new  203ecaf   Fix nodejs minify without inSourceMap exception
       new  9dfcd47   Merge pull request #8 from SevInf/master
       new  2c025f2   fix detecting symbols in use
       new  e1862cd   add `--ast-help`
       new  9ead496   minor AST cleanup (AST_BlockStatement may inherit from AST_Block)
       new  1b0aab2   added $propdoc to AST nodes and some cleanups
       new  88beddf   make `--comments` keep @cc_on too
       new  a84d07e   add AST_Infinity node
       new  4807c6e   update on @cc_on
       new  86182af   minor
       new  3799ac8   add `--lint` and display {file} in scope_warnings
       new  c5ecbfc   drop unused variable
       new  f26f3b4   small improvements in wrap_commonjs:
       new  dacce1b   seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration
       new  9cdaed9   fix node name
       new  f322b32   disable warnings by default in `minify` (pass warnings: true to enable)
       new  5053a29   fix propagation of symbol references
       new  172aa7a   cleanup
       new  f4584af   using makeComparator from acorn to generate functions that tests whether a string is keyword, reserved etc.
       new  fb5c01c   stealing more hacks from acorn in the name of speed
       new  d9d6731   fix pos in syntax error exception
       new  fc39553   use AST_Lambda for object setters/getters
       new  72cb532   fix in_boolean_context() (two tests were broken)
       new  731fa9c   add test for issue #12
       new  1b6f8d4   remove the $self hack
       new  ba3df64   actually enable the option that drops unused names in the test of issue #12
       new  8149be5   minor
       new  70d205c   update for acorn
       new  b51fe0d   fix end tokens in spidermonkey ast import
       new  370d3e0   fix regression from fb5c01c073d06034815d5f3b782fd11cbdf6d6f5
       new  708abb1   minor
       new  851b48e   fix compressing benchmark.js (it tried to evaluate a statement)
       new  b071c9d   add parens to AST_Seq whose parent is AST_Unary
       new  fcc0229   drop unused function arguments
       new  1ffd526   disable warnings in the test suite
       new  8957b3a   fix small glitches in source map generation
       new  6472f94   add `semicolons` option in the code generator (default: `true`)
       new  8f66458   the `sort` option is broken anyway, removed it
       new  a21f3c6   employ a better parser for command-line arguments
       new  6a099fb   define aborts on AST_If: true if both branches abort
       new  253bd85   more small optimizations
       new  4482fdd   added note about API docs and online demo
       new  a5e75c5   v2.1.0
       new  4fe4257   fix `--comments` (close #16)
       new  6aa56f9   v2.1.1
       new  afb7faa   more optimizations for some break/continue cases
       new  6f45928   add fromString argument to `UglifyJS.minify` (allows to pass the source code, instead of file names, as first argument).
       new  fc8314e   minor fix for dropping unused definitions.
       new  12f71e0   alternate hack to disable deprecation warning
       new  11dffe9   Add sourceRoot option to minify
       new  3a72dea   Merge pull request #19 from SevInf/master
       new  bee01dc   Merge branch 'master' of github.com:mishoo/UglifyJS2
       new  41be863   v2.1.2
       new  30faaf1   more sequence optimizations (lift some sequences above binary/unary expressions so that we can avoid parens)
       new  70fd2b1   fix for `if (...) return; else return ...;`
       new  7b87d2e   v2.1.3
       new  202fb93   test for fs.existsSync
       new  cb3cafa   cripple scope to make IE happy :-(
       new  0852f55   v2.1.4
       new  abe0ebb   don't move expressions containing the binary `in` operator into the `for` initializer
       new  5248b79   v2.1.5
       new  d4c25c5   fix compressing UnaryPrefix
       new  18270dd   added unsafe_comps for negating `<=` with `>`
       new  cf40980   it's safe to negate expression in !EXP only in boolean context
       new  dde5745   v2.1.6
       new  8413787   use a Dictionary object instead of plain object for hashes
       new  85af942   print final semicolon
       new  774f2de   minor optimization
       new  fba0c1a   minor
       new  ffccb23   convert `while` into `for`
       new  7f5f4d6   discard the hack that worked around the deprecation warning
       new  a4f6d46   add option to mangle names even if eval/with is in use
       new  5346fb9   add proper parens around unary expressions
       new  ff388a8   parenthesize a Call expression when its parent is New
       new  a90c1ae   further fix for parens around New (refs #35)
       new  a1ae0c8   parenthesize property access when it's the expression in New
       new  5276a4a   add AST_Accessor and AST_SymbolAccessor node types
       new  bb0e4d7   v2.1.7
       new  80da21d   fix regression from 5346fb94 (shouldn't parenthesize i++ in x[i++])
       new  258b46f   v2.1.8
       new  46be3f2   fix another small regression
       new  39f8a62   v2.1.9
       new  5a7e54c   ignore node_modules/
       new  1a5fd3e   optimization for if/break as first statement in a loop body
       new  e312c5c   fix API breakage
       new  64270b9   v2.1.10
       new  1e5e13e   AST_LabelRef no longer inherits from AST_SymbolRef
       new  78856a3   declare dependency versions
       new  b49230a   convert x.toString() to ""+x instead of x+""
       new  f05c99d   Merge pull request #41 from Skalman/toString-patch
       new  53355bd   fix invalid AST produced by dropping unused variable
       new  a9fa178   v2.1.11
       new  e02771a   don't change order in binary expressions if both operands have side effects
       new  f96f796   Add simple optimization for empty-string concats.
       new  60c0f40   Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 into rvanvelzen-optimize_concat
       new  dba8da4   optimize constant switch blocks
       new  bdfcbf4   better solution for the last test in constant switch folding
       new  e981194   Add support for somewhat preserving line numbers.
       new  0d3fd2e   retain (1,eval) as is when it's the expression of an AST_Call
       new  089ac90   fix #51
       new  642ba2e   rename the npm package to "uglify-js" and cli tool to "uglifyjs"
       new  4f555e2   fix for https://github.com/mishoo/UglifyJS/issues/474
       new  1abde9c   v2.2.1
       new  13c4dfc   fix #55
       new  e48802a   Fixed reading from STDIN.
       new  f427e5e   Merge pull request #58 from roxeteer/master
       new  5cc90db   Don't messup compressor stack while optimizing Switch
       new  b5c3253   Add test for issue #59
       new  dbe33bb   Revert "Fixed reading from STDIN."
       new  320c110   When hoisting variables, try to merge in assignments that follow.
       new  16430ac   small improvement on merging assignments into hoisted vars
       new  98978fc   Add proper parens in "NoIn" expressions.
       new  6064bea   v2.2.2
       new  c4993e1   Small cleanup
       new  08219f0   Fix output when semicolons is off.
       new  31c4a37   Optimize new Array(1, 2, 3) → [1, 2, 3]
       new  9916d0e   Accept string or number as name of an accessor.
       new  83a4ebf   Implement `-m sort=true`
       new  e82e89d   --version option
       new  ba40333   Set --version as a boolean #87
       new  47c9895   Merge pull request #87 from BenoitZugmeyer/master
       new  130c623   Support `output`, `mangle` and `compress` options to `UglifyJS.minify`.
       new  6b14f7c   Fix handling of labels in nested scopes
       new  16953c2   v2.2.3
       new  1d8871a   Compressor options use underscores rather than hyphens
       new  c058d8b   Merge pull request #90 from jakearchibald/patch-1
       new  f0909bd   Handle String() with no arguments.
       new  c13e7e6   Update installation instructions re #4
       new  605f330   Merge pull request #98 from ForbesLindesay/patch-1
       new  1529ab9   Fix output for arrays containing undefined values.
       new  faa354f   [AST_Hole] the print function can be a no-op.
       new  297af47   Add --source-map-url option
       new  522566e   Fix #105: property comparison to undefined is not always safe
       new  8bf83f4   Merge pull request #106 from gibson042/105
       new  ad071f8   Add better fromstring docs.
       new  e9a571b   Merge pull request #94 from paulmillr/patch-1
       new  a5b2094   Fix end token for Assign nodes
       new  31e99ce   v2.2.4
       new  a9af2c9   Wraps sourceMappingURL in a multiline comment. Fixes #108
       new  3a22e91   Merge pull request #111 from mattrobenolt/safer-sourcemap
       new  719a8fd   Ugly hack to print comments before return/throw statements
       new  9e8ba27   Fix handling of constants
       new  3c8a0bd   Fix parens for AST_New
       new  de7ec7f   Fix parens for negative numbers
       new  fdf8b5e   Fix parens for NaN
       new  f36e4e9   Give up evaluating (unary-prefix '-' 0)
       new  916faf0   Force space after literal regexp when used in "instanceof" or "in"
       new  db66eca   v2.2.5
       new  3a591c4   Fix compressing `do {...} while (false)`
       new  cb0c576   Add license
       new  8880f48   Compress boolean constants after evaluation
       new  dac6efb   Drop last `default:` if it's the last branch and empty
       new  26746ce   Add `--screw-ie` option
       new  aebafad   Fix reordering comparisons
       new  f83aca6   Read the entire STDIN.
       new  3bd7ca9   Merge pull request #146 from mbostock/read-all-stdin
       new  e4b078c   Disable `unsafe` by default
       new  9b1a40d   Support mangling toplevel names
       new  f276745   Allow inSourceMap to be a generated JSON source map instead of just a file name
       new  24e58ee   Merge pull request #125 from devongovett/master
       new  b14d3df   Keep legit code working even when --screw-ie is not passed.
       new  e0f67ba   Don't print the warning on parse error, just throw a JS_Parse_Error.
       new  478bf4d   Add support for enclose option. Closes #139.
       new  75f0bbe   renamed --screw-ie to --screw-ie8, documented it in README.md, indicated it doesn't break IE9+
       new  7628bca   Merge pull request #163 from mzgol/screw-oldie
       new  69dde04   uglifyjs binary: Make read_whole_file async and don't attempt to read STDIN synchronously.
       new  81f5efe   Output, to_ascii: Escape non-ascii chars with \xnn instead of \unnnn whenever possible.
       new  a869b85   Don't use \xYY for identifiers
       new  2b8e206   fix package.json
       new  37d7cb8   Quote objects with numeric keys
       new  b956e5f   Add tests for typeof evaluation
       new  4b81805   Fix typeof evaluation for regex and function
       new  483e0ca   unbalanced parentheses in readme
       new  a9c1b9f   Merge pull request #190 from michaelficarra/patch-1
       new  5af1445   fixes #189: use dotted member access when --screw-ie8 option given
       new  753b4b6   Merge pull request #191 from michaelficarra/use-es5-member-access-with-screw-ie
       new  68394ee   Make compress/mangle disabled by default, as before 5af144522a6fea302abdd0b63d48864de0664207
       new  9794ebf   Workaround for missing `prefix` in UnaryExpression generated by Esprima
       new  5c22a1b   v2.3
       new  8e62661   Take two.  v2.3.0
       new  a54b670   Add README syntax highlighting
       new  d6e6458   Merge pull request #194 from ulikoehler/master
       new  8227e87   Added scenario in test case where properties shouldn't be accessed with dotted syntax even with screw_ie8 option. Signed-off-by: Justin Lau <justin at tclau.com>
       new  1e3bc0c   Fixed dot property issue with invlid identifier names. Signed-off-by: Justin Lau <justin at tclau.com>
       new  fcd544c   Added test scenario with unicode in properties name. Signed-off-by: Justin Lau <justin at tclau.com>
       new  9af2bbf   Fixed dot properties not optimizing unicode identifiers. Signed-off-by: Justin Lau <justin at tclau.com>
       new  790b3bc   Fix typo in bin and readme
       new  645d5bd   Merge pull request #195 from kjbekkelund/typo
       new  6726996   Added test cases for #104. Signed-off-by: Justin Lau <justin at tclau.com>
       new  a1958aa   Fixed typeof undefined optimization and updated related test case to accomodates the sort behaviour changes made in commit mishoo/UglifyJS2 at aebafad41eab48f43ed649ce8c77e8f1528b50da. Signed-off-by: Justin Lau <justin at tclau.com>
       new  a6ed2c8   Better fix for equality of typeof ... against "undefined"
       new  0f509f8   v2.3.1
       new  11e24d5   Fix property names
       new  1e9f98a   add a test for zero-length string in is_identifier_string, which is used in property compression. Also added a test exercising the change.
       new  064e7aa   Fix is_assignable
       new  a9511df   Use the negation hack rather than parens for a toplevel function expression call
       new  7f77eda   v2.3.2
       new  4a19802   Add CI build for supported Node versions
       new  46814f8   Add Travis build badge to README
       new  3edfe7d   Merge pull request #202 from nschonni/add-travis-ci
       new  d56ebd7   Fix a["1_1"]
       new  f64539f   Compress code passed to `new Function` if it's a constant.
       new  d13aa39   v2.3.3
       new  caa8896   Only compress code in `new Function` if all arguments are strings.
       new  ca3388c   Add `--expr`, an option to parse a single expression (suitable for JSON)
       new  2b40a5a   v2.3.4
       new  ad1fc3b   Fix package.json (use `repository` instead of `repositories`)
       new  f652372   v2.3.5
       new  22a038e   Fix output of statement: `new function(){...};`
       new  9fc8a52   Set "global" on undeclared SymbolDef-s
       new  9fc6796   Add `negate_iife` option to the code generator.
       new  1dbffd4   SourceMapping pragma has changed to //#
       new  3a21861   The extra /* */ isn't needed now
       new  2df4892   Merge pull request #213 from mattrobenolt/patch-1
       new  188e28e   v2.3.6
       new  f29f07a   Escape null characters as \x00
       new  a4889a0   Merge pull request #220 from lautis/escape-null
       new  02a8438   Don't swap binary ops when "use asm" is in effect.
       new  d0689c8   Reset the base54 counters every time minify is called.
       new  fc9ba32   Fix typo.
       new  9243b0c   Apply transformer to AST_VarDef's name
       new  4a0bab0   Add "position" option to parser, to specify initial pos/line/col
       new  193049a   Revert previous patch, it was no good.
       new  b1febde   Fix output for arrays whose last element is a hole: [1,,]
       new  e54df22   added option for dropping unused params
       new  41c6273   Reverting "added option for dropping unused params" Revert "added option for dropping unused params"
       new  3435af4   Don't require arguments to --enclose
       new  b7adbca   Fix #251
       new  964d5b9   Don't pretend to evaluate lambdas
       new  2604aad   Add support for browserify
       new  4aa4b3e   Support `-p relative`.  Fix #256
       new  4c4dc21   Don't drop unused setter argument.
       new  6ea3f7f   fix usage
       new  d9ad3c7   fixes #259: don't unnecessarily quote object properties when --screw-ie8
       new  4f09df2   Merge pull request #270 from michaelficarra/GH-259
       new  ed80b4a   Move support for `negate_iife` in the compressor, rather than code generator
       new  1a95007   Remove --ie-proof from the readme.
       new  c28e1a0   v2.4.0
       new  a89d233   Better reporting of parse errors
       new  78a217b   Fix parsing regexp after unary-prefix operator
       new  b0ca896   Fix parsing `a.case /= 1`
       new  1c6efda   Better fix for #286
       new  85b527b   Disallow `continue` referring to a non-IterationStatement.  Fix #287
       new  5d8da86   Fix names.
       new  cb9d16f   minor
       new  7c10b25   Support HTML5 comment syntax (enabled by default!)
       new  83ba338   Avoid printing <!-- in the output (HTML5 comment)
       new  8d14efe   Concatenate strings also on the right-hand side of an expression that cannot be evaluated. Fix #126
       new  78e98d2   When `unsafe` is set, evaluate [...].join() if possible
       new  e815827   Evaluate [...].join() if possible: minor bugfix
       new  583fac0   More dirty handling of [ ... ].join() in unsafe mode
       new  037199b   Actually let's move away those monsters from the evaluate function
       new  afdaeba   More attempts to determine when addition is associative
       new  95b4507   Fix error in the output minifying `Function("return this")()`
       new  88fb83a   minor optimization
       new  8cc86fe   add `clean_getters` compressor option (default `false`)
       new  bb0a762   Only allow identifier start characters at the beginning of identifiers.
       new  253c7c2   Merge pull request #308 from meteor/fix-unicode-keys
       new  f2348dd   Rename clean_getters to pure_getters; add pure_funcs.
       new  3a81f60   Don't drop_unused before compression.
       new  3fa9265   wrap up
       new  d09f0ad   `arguments` outside of a function is an ordinary variable.
       new  8c9cc92   v2.4.1
       new  63d04ff   Revert #3a81f60 for now
       new  118105d   Add an exit code to the test suite
       new  aafe2e1   Merge pull request #322 from rvanvelzen/test-exit-code-1
       new  7055af8   Fix #280
       new  63e1a8e   Merge pull request #323 from rvanvelzen/undefined-drop-vars-fix
       new  1a5a4bd   Fix #269
       new  cfd5c61   Merge pull request #325 from rvanvelzen/fix-269
       new  582cc55   Display number of failed tests and corresponding files
       new  e2daee9   Fix RHS concat (raised in #330)
       new  0d6e08c   Merge pull request #331 from rvanvelzen/rhs-strings-fix
       new  9cd118c   Add a unit test for issue-126
       new  8979579   Merge pull request #330 from markjaquith/master
       new  b47f7b7   Merge branch 'master' of github.com:mishoo/UglifyJS2
       new  0358e37   Fix codegen for when comments_before is undefined.
       new  f1b7094   Add "preamble" output option
       new  a14c6b6   Avoid shadowing name of function expression with function argument
       new  7cf79c3   Fix reading arguments
       new  b214d37   Fix typo
       new  785c606   Disallow reversal where lhs has higher or equal precedence
       new  bea3d90   minor
       new  e4c5302   Fix output for `x = 2 * (a % b / b * c)`
       new  9dd9760   indentation
       new  b70670b   Fix regression after e4c530240650535d1cb46569dfb013193471af05
       new  c5ed229   Fix parsing setters/getters (allow keywords for name).
       new  63287c0   Workaround for Safari bug
       new  263577d   [README] Fix #278
       new  bb700da   v2.4.2
       new  f4919e3   Do not lift sequence from right-hand side of binary operation.  Fix #343
       new  19e2fb1   v2.4.3
       new  eab99a1   Better fix for #343
       new  7d11b96   Only descend twice after drop_unused if it's the same node type.
       new  50b8d72   Fix faulty compression
       new  73d082d   v2.4.4
       new  c16d538   Add --noerr to turn off argument name checking
       new  547561a   v2.4.5
       new  ea10642   v2.4.6, because npm is foobar
       new  d2190c2   Properly scope `catch` identifier when --screw-ie8
       new  8f35a36   AST_Catch shouldn't really inherit from AST_Scope.  Fix #363
       new  a790c09   v2.4.7
       new  df8c562   minor
       new  dc5f70e   Add `drop_console` option to the compressor
       new  dfa395f   Make `DefaultsError` a real `Error` object
       new  248f304   Merge pull request #245 from ForbesLindesay/patch-1
       new  bd0886a   semicolons
       new  fa3300f   bugfix #242
       new  b634018   Merge pull request #371 from colorhook/master
       new  f65e55d   minor
       new  428e19f   Add option to adjust the src/target line in the source map
       new  15a148f   v2.4.8
       new  be55a09   Take out all comments from an AST_Exit's value
       new  7a30d82   Better fix for comments in AST_Exit
       new  5a083a9   Optimize seq,void 0.  Close #377.
       new  aa9de76   Mark `yield` as reserved word.  Close #375.
       new  b521b4b   Conditional/call optimization
       new  5e4c7f4   Fix parens for property access -- (foo, bar)["baz"]
       new  27142df   minor: exp["10"] => exp[10]
       new  a67e3bf   Fix #392
       new  2c88eb6   doh.
       new  b9fac68   Support SpiderMonkey AST in UglifyJS.minify.  Fix #393.
       new  72e6f64   Disable node 0.6 since the build fails consistently and it's not our fault.
       new  2c305af   Support @ngInject with `angular` compressor option.  Close #395.
       new  c3087dd   Better process_for_angular before other statement reductions.  #395
       new  cad1f9c   Unescape Unicode sequences in regexps when ascii_only is false.  #54
       new  90a330d   simplify
       new  eda540f   v2.4.9
       new  1ab2fda   Fix example
       new  4339bd5   Don't unescape \x2f (slash) in regexps.  #54
       new  75cdbf1   v2.4.10
       new  1e31011   Don't unescape byte order marks in regexps
       new  2d8fc61   Merge pull request #402 from lautis/bom-regexps
       new  1d0127d   Fix end token for conditionals.  Close #404
       new  931862e   More chars that cannot be unescaped in regexps.
       new  6f9d051   v2.4.11
       new  ceb200f   Move unescaping regexps under a codegen option (`unescape_regexps`)
       new  f5f8239   Don't unescape \x00 in regexes (it breaks IE8)
       new  2eeb640   Merge pull request #408 from danielstutzman/escape-null-in-regex
       new  e29048b   Merge branch 'master' of github.com:mishoo/UglifyJS2
       new  bf7b122   v2.4.12
       new  03cf94e   Added support for sourcesContent property of source map
       new  f6203bd   added hasOwnProperty check to avoid warnings
       new  1dd05f4   Merge branch 'sourcesContent' of https://github.com/arty-name/UglifyJS2 into arty-name-sourcesContent
       new  0007a53   Update source-map
       new  5344b7d   Fix if_return dropping the alternative.  Close #413
       new  9b404f9   fix readme typo (when -> with)
       new  2494daa   Merge pull request #422 from mourner/patch-1
       new  ac0086a   Simplify nested conditionals if possible
       new  1a44400   Merge pull request #424 from mattbasta/simplify_conditionals
       new  ef2ef07   Add option `keep_fargs`.
       new  bf30dc3   Mangle name of exception when --screw-ie8.  Fix #430.
       new  014f655   Handle the case when SourceMapConsumer.originalPositionFor returns null source.
       new  f5c09d0   Merge pull request #439 from Arnavion/null-source-in-sourcemap
       new  448a8d3   v2.4.13
       new  b1ae8cc   Imported Upstream version 2.4.13
       new  a86a595   Merge tag 'upstream/2.4.13' into master-experimental
       new  2c9598f   Depend on node-uglify-to-browserify and recent node-async.
       new  eddfe05   Extend copyright coverage for main upstream author.
       new  84cc8af   Update changelog, control file and copyright hints.

The 533 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml                     |   6 +
 LICENSE                         |  29 ++
 README.md                       | 378 +++++++++++++--------
 bin/uglifyjs                    | 284 ++++++++++------
 debian/changelog                |  28 +-
 debian/control                  |   6 +-
 debian/control.in               |   6 +-
 debian/copyright                |   3 +-
 debian/copyright_hints          |  16 +-
 lib/ast.js                      |  72 ++--
 lib/compress.js                 | 732 +++++++++++++++++++++++++++++++---------
 lib/mozilla-ast.js              |   6 +-
 lib/output.js                   | 184 +++++++---
 lib/parse.js                    | 186 ++++++----
 lib/scope.js                    | 135 ++++----
 lib/sourcemap.js                |  10 +-
 lib/transform.js                |   2 +-
 lib/utils.js                    |  16 +-
 package.json                    |  15 +-
 test/compress/arrays.js         |  62 ++++
 test/compress/concat-strings.js |  22 ++
 test/compress/conditionals.js   |  91 +++++
 test/compress/drop-unused.js    |  68 ++++
 test/compress/issue-105.js      |  14 +-
 test/compress/issue-126.js      |  24 ++
 test/compress/issue-143.js      |  48 +++
 test/compress/issue-267.js      |  11 +
 test/compress/issue-269.js      |  66 ++++
 test/compress/negate-iife.js    |  76 +++++
 test/compress/properties.js     |  29 ++
 test/compress/sequences.js      |   6 +-
 test/compress/switch.js         |  50 +++
 test/compress/typeof.js         |  25 ++
 test/run-tests.js               |   9 +
 tools/node.js                   |  60 ++--
 35 files changed, 2102 insertions(+), 673 deletions(-)
 create mode 100644 .travis.yml
 create mode 100644 LICENSE
 create mode 100644 test/compress/concat-strings.js
 create mode 100644 test/compress/issue-126.js
 create mode 100644 test/compress/issue-143.js
 create mode 100644 test/compress/issue-267.js
 create mode 100644 test/compress/issue-269.js
 create mode 100644 test/compress/negate-iife.js
 create mode 100644 test/compress/typeof.js

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/uglifyjs.git



More information about the Pkg-javascript-commits mailing list