class Sass::Script::Parser

def list(first, start_pos)

def list(first, start_pos)
  return first unless @lexer.peek && @lexer.peek.type == :comma
  list = node(Sass::Script::Tree::ListLiteral.new([first], separator: :comma), start_pos)
  while (tok = try_tok(:comma))
    element_before_interp = list.elements.length == 1 ? list.elements.first : list
    if (interp = try_op_before_interp(tok, element_before_interp))
      other_interp = try_ops_after_interp([:comma], :expr, interp)
      return interp unless other_interp
      return other_interp
    end
    return list unless (e = interpolation)
    list.elements << e
    list.source_range.end_pos = list.elements.last.source_range.end_pos
  end
  list
end