From ec449158c6c7e08b8bf06dc9858e9306d9eae894 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sat, 3 Jul 2010 15:09:21 -0400 Subject: [PATCH] fixing improperly-formatted-output of pattern matching within comprehension arguments. --- lib/nodes.js | 6 ++---- src/nodes.coffee | 4 ++-- test/{test_exceptions.coffee => test_try_catch.coffee} | 0 3 files changed, 4 insertions(+), 6 deletions(-) rename test/{test_exceptions.coffee => test_try_catch.coffee} (100%) diff --git a/lib/nodes.js b/lib/nodes.js index 05c0f4f2..2e4aabcf 100644 --- a/lib/nodes.js +++ b/lib/nodes.js @@ -1476,7 +1476,7 @@ namePart = new AssignNode(this.name, literal("" + svar + "[" + ivar + "]")).compile(merge(o, { indent: this.idt(1), top: true - })) + "\n"; + })) + '\n'; } else { if (name) { namePart = ("" + name + " = " + svar + "[" + ivar + "]"); @@ -1504,9 +1504,7 @@ } body = ClosureNode.wrap(body, true); } else { - if (namePart) { - varPart = ("" + (this.idt(1)) + namePart + ";\n"); - } + varPart = this.pattern ? namePart : ("" + (this.idt(1)) + namePart + ";\n"); } this.object ? (forPart = ("" + ivar + " in " + svar + ") { if (" + (utility('hasProp')) + ".call(" + svar + ", " + ivar + ")")) : null; body = body.compile(merge(o, { diff --git a/src/nodes.coffee b/src/nodes.coffee index 2f405a25..89aac3a3 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -1247,7 +1247,7 @@ exports.ForNode: class ForNode extends BaseNode svar: scope.freeVariable() sourcePart: "$svar = ${ @source.compile(o) };" if @pattern - namePart: new AssignNode(@name, literal("$svar[$ivar]")).compile(merge o, {indent: @idt(1), top: true}) + "\n" + namePart: new AssignNode(@name, literal("$svar[$ivar]")).compile(merge o, {indent: @idt(1), top: true}) + '\n' else namePart: "$name = $svar[$ivar]" if name unless @object @@ -1266,7 +1266,7 @@ exports.ForNode: class ForNode extends BaseNode body.unshift literal "var $index = $ivar" if index body: ClosureNode.wrap(body, true) else - varPart: "${@idt(1)}$namePart;\n" if namePart + varPart: if @pattern then namePart else "${@idt(1)}$namePart;\n" if @object forPart: "$ivar in $svar) { if (${utility('hasProp')}.call($svar, $ivar)" body: body.compile(merge(o, {indent: @idt(1), top: true})) diff --git a/test/test_exceptions.coffee b/test/test_try_catch.coffee similarity index 100% rename from test/test_exceptions.coffee rename to test/test_try_catch.coffee