     parts: []
     parts.push @from.compile o if @from isnt @fromVar
     parts.push @to.compile o if @to isnt @toVar
-    if parts.length then "${parts.join('; ')};\n$o.indent" else ''
+    if parts.length then "${parts.join('; ')};" else ''
 
   # When compiled normally, the range returns the contents of the *for loop*
   # needed to iterate over the values in the range. Used by comprehensions.

    varPart:        ''
    body:           Expressions.wrap([@body])
    if range
      sourcePart:   source.compileVariables o
      forPart:      source.compile merge o, {index: ivar, step: @step}
    else
      svar:         scope.freeVariable()

    result: o.scope.freeVariable()
    i:      o.scope.freeVariable()
    clause: "$from <= $to ?"
    pre:    "\n${idt}${result} = []; ${vars}"
    body:   "var $i = $from; $clause $i <$equals $to : $i >$equals $to; $clause $i += 1 : $i -= 1"
    post:   "{ ${result}.push($i) };\n${idt}return $result;\n$o.indent"
    "(function(){${pre}\n${idt}for ($body)$post}).call(this)"

#### SliceNode

