         lvar        = scope.freeVariable 'len'
         stepPart    = if @step then "#{ivar} += #{ @step.compile(o, LEVEL_OP) }" else "#{ivar}++"
         forPart     = "#{ivar} = 0, #{lvar} = #{svar}.length; #{ivar} < #{lvar}; #{stepPart}"
-    if @returns and not lastJumps
+    if @returns
       resultPart    = "#{@tab}#{rvar} = [];\n"
       returnResult  = "\n#{@tab}return #{rvar};"
       body          = Push.wrap rvar, body


  jumps: (o) ->
    return no unless @value in ['break', 'continue', 'debugger']
    not (o and (o.loop or o.block and (@value isnt 'continue')))

  compile: ->
    if @value.reserved then "\"#{@value}\"" else @value

    {expressions} = @body
    return no unless expressions.length
    for node in expressions
      return node if node.jumps loop: yes
    no

  # The main difference from a JavaScript *while* is that the CoffeeScript
