anchor.diff:        Break;
       end
       else
  -    if (LChar = #13) and (NewLineIndex + 1 < FBufferedData.Length) and (FBufferedData[NewLineIndex + 1] = #10) then
  +    if (LChar = #13) and (NewLineIndex + 1 < GetBufferedData.Length) and (GetBufferedData[NewLineIndex + 1] = #10) then
       begin
         PostNewLineIndex := NewLineIndex + 2;
         FLastLineBreak := #13 + #10;
  
positive.code:     Inc(NewLineIndex);
    end;
  
    Result := FBufferedData.ToString;
    SetLength(Result, NewLineIndex);
    FBufferedData.Remove(0, PostNewLineIndex);
  end;
  
  end.
  
negative.code:   LOriginalEncoding := CurrentEncoding;
    FLastLineBreak := '';
    Result := '';
    if GetBufferedData = nil then
      Exit;
    NewLineIndex := 0;
    PostNewLineIndex := 0;
  
    while True do
    begin
      if (NewLineIndex + 2 > GetBufferedData.Length) and (not GetNoDataInStream) then
        DoFillBuffer(LOriginalEncoding);
  
      if NewLineIndex >= GetBufferedData.Length then
      begin
        if GetNoDataInStream then
        begin
          PostNewLineIndex := NewLineIndex;
          Break;
        end
        else
        begin
          DoFillBuffer(LOriginalEncoding);
          if GetBufferedData.Length = 0 then
            Break;
        end;
      end;
      LChar := GetBufferedData[NewLineIndex];
      if LChar = #10 then
      begin
        PostNewLineIndex := NewLineIndex + 1;
  