Line(p0, p1)
  { struct LineSegment *line = AllocStd(LineSegment);
    line->kind = LineSegmentKind;
    line->flags = 0;
    line->end = p1;
    if (IsPathSegment(p0))
	line->previous = p0;
    else if (IsPoint(p0))
	line->previous = AllocEndSegment(p0);
    else
	abort("Bad Line command");
    return line;
  }
