# File lib/ruby_parser_extras.rb, line 666
  def new_while block, expr, pre
    line = [block && block.line, expr.line].compact.min
    block, pre = block.last, false if block && block[0] == :begin

    expr = cond expr
    result = if expr.first == :not then
               s(:until, expr.last, block, pre)
             else
               s(:while, expr, block, pre)
             end

    result.line = line
    result
  end