Weir, Robert Walter, 1803-1889