class Sass::Script::Lexer

def special_fun_body(parens, prefix = nil)

def special_fun_body(parens, prefix = nil)
  str = prefix || ''
  while (scanned = scan(/.*?([()]|\#\{)/m))
    str << scanned
    if scanned[-1] == ?(
      parens += 1
      next
    elsif scanned[-1] == ?)
      parens -= 1
      next unless parens == 0
    else
      raise "[BUG] Unreachable" unless @scanner[1] == '#{' # '
      str.slice!(-2..-1)
      @interpolation_stack << [:special_fun, parens]
      start_pos = Sass::Source::Position.new(@line, @offset - 2)
      @next_tok = Token.new(:string_interpolation, range(start_pos), @scanner.pos - 2)
    end
    return [:special_fun, Sass::Script::Value::String.new(str)]
  end
  scan(/.*/)
  expected!('")"')
end