code: func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool {
  	size_read := 0
  
  	// Return if the raw buffer is full.
  	if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) {
  		return true
  	}
  
  	// Return on EOF.
  	if parser.eof {
  		return true
  	}
  
  	// Move the remaining bytes in the raw buffer to the beginning.
  	if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) {
  		copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:])
  	}
  	parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos]
  	parser.raw_buffer_pos = 0
  
  	// Call the read handler to fill the buffer.
  	size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)])
  	parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read]
  	if err == io.EOF {
  		parser.eof = true
  	} else if err != nil {
  		return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1)
  	}
  	return true
  }
docs: // Update the raw buffer.