anchor.diff:        ansilargeblock := ansilargeblock + ansiblock;
       end;
   
  +    {$IFDEF DELPHI2009_UP}
  +    largeblock := string(ansilargeblock);
  +    {$ELSE}
  +    largeblock := ansilargeblock;
  +    {$ENDIF}
  +
       if not bInMethodDef then
       begin
  -      iSkip := Length(ansilargeblock);
  -      {$IFDEF DELPHI2009_UP}
  -      largeblock := string(ansilargeblock);
  +      iSkip := Length(largeblock);
  +
         largeblocklowercase := LowerCase(largeblock);
  +
         pc := PosEx('constructor ', largeblocklowercase, Max(1, i - 11));
         pd := PosEx('destructor ', largeblocklowercase, Max(1, i - 10));
         pp := PosEx('procedure ', largeblocklowercase, Max(1, i - 9));
         pf := PosEx('function ', largeblocklowercase, Max(1, i - 8));
         largeblocklowercase := '';
  +
  +      {$IFDEF DELPHI2009_UP}
  +      if (pc > 2) and not CharInSet(largeblock[pc - 1], [#$0A,#$0D,#$07,#$20]) then
         {$ELSE}
  -      ansilargeblocklowercase := LowerCase(ansilargeblock);
  -      pc := PosEx('constructor ', ansilargeblocklowercase, Max(1, i - 11));
  -      pd := PosEx('destructor ', ansilargeblocklowercase, Max(1, i - 10));
  -      pp := PosEx('procedure ', ansilargeblocklowercase, Max(1, i - 9));
  -      pf := PosEx('function ', ansilargeblocklowercase, Max(1, i - 8));
  -      ansilargeblocklowercase := '';
  -      {$ENDIF}
  -
  -      {$IFDEF DELPHI2009_UP}
  -      if (pc > 2) and not CharInSet(ansilargeblock[pc - 1], [#$0A,#$0D,#$07,#$20]) then
  -      {$ELSE}
  -      if (pc > 2) and not (ansilargeblock[pc - 1] in [#$0A,#$0D,#$07,#$20]) then
  +      if (pc > 2) and not (largeblock[pc - 1] in [#$0A,#$0D,#$07,#$20]) then
         {$ENDIF}
         begin
           iSkip := Min(pc + 12, iSkip);
  
positive.code:             sMethodDef := '';
            end;
  
            ansilargeblock := Copy(ansilargeblock, i + 1);
            i := 1;
          end;
        end;
  
negative.code: begin
    bInParams := False;
    sMethodDef := '';
    largeblock := '';
    ansilargeblock := '';
    bInMethodDef := false;
    iAnotherLineOffset := iLineNumberOffset;
  