     {expressions} = @body
     return no unless expressions.length
     for node in expressions
-      return yes if node.jumps loop: yes
+      return node if node.jumps loop: yes
     no
 
   # The main difference from a JavaScript *while* is that the CoffeeScript

  compileNode: (o) ->
    body          = Expressions.wrap [@body]
    lastJumps     = last(body.expressions)?.jumps()
    source        = if @range then @source.base else @source
    scope         = o.scope
    name          = @name  and @name.compile o, LEVEL_LIST
    index         = @index and @index.compile o, LEVEL_LIST
    scope.find(name,  immediate: yes) if name and not @pattern
    scope.find(index, immediate: yes) if index
    rvar          = scope.freeVariable 'results' if @returns and not lastJumps
    ivar          = (if @range then name else index) or scope.freeVariable 'i'
    name          = ivar if @pattern
    varPart       = ''


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

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