     result: o.scope.freeVariable()
     i:      o.scope.freeVariable()
     clause: "$from <= $to ?"
-    pre:    "\n${idt}${result} = [];${vars}"
+    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)"
+    "(function(){${pre}\n${idt}for ($body)$post}).call(this)"
 
 #### SliceNode
 

      body.unshift  literal "var $index = $ivar" if index
      body:         ClosureNode.wrap(body, true)
    else
      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}))

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