TextContainer: string::substring 2nd param is *length* not pos