Give up evaluating (unary-prefix '-' 0)
authorMihai Bazon <mihai@bazon.net>
Wed, 6 Feb 2013 09:51:09 +0000 (11:51 +0200)
committerMihai Bazon <mihai@bazon.net>
Wed, 6 Feb 2013 09:51:09 +0000 (11:51 +0200)
Close #117

------

    JS, WHY YOU SUCK SO BADLY? ;-(

lib/compress.js

index fe3d34b..ca23c40 100644 (file)
@@ -628,7 +628,10 @@ merge(Compressor.prototype, {
               case "typeof": return typeof ev(e);
               case "void": return void ev(e);
               case "~": return ~ev(e);
-              case "-": return -ev(e);
+              case "-":
+                e = ev(e);
+                if (e === 0) throw def;
+                return -e;
               case "+": return +ev(e);
             }
             throw def;