Reads new contents for the buffer from a stream. See also section .
New data is inserted at the position indicated by start, or at the current position is start is -1.