anchor.diff:  
   implementation
   
  +const
  +  cBlockPrefix = '{@VFD_';
  +
   { TVFDFile }
   
   procedure TVFDFile.AddBlock(aposition: integer; ablockid, aformname, ablockdata: string);
  
positive.code: function TVFDFile.GetBlocks: integer;
  var
    n: integer;
  
    s: string;
  
    startp, endp: integer;
    formname: string;
    bname, startmarker, endmarker: string;
    datablock: string;
    deletelen: integer;
  
    dropmarker: boolean;
  begin
    FreeBlocks;
  
    FParsedData := FFileData;
  
    // searching blocks:
  
    repeat
  
      bname     := '';
      formname  := '';
      datablock := '';
  
      s      := '{@VFD_';
      startp := pos(s, FParsedData);
      if startp > 0 then
      begin
  
negative.code: //      Writeln('marker: ', startmarker);
  
        // block marker ?
        endmarker := '';
        if bname = 'VFD_HEAD_BEGIN' then //or (bname = 'VFD_BODY_BEGIN') then
          endmarker := '{@VFD_HEAD_END: ' + formname + '}'
  