anchor.diff:  
   var
     hadNewLine: boolean;
  +  processedNewLine: boolean;
   
   // note: when a macro has been processed, exit from the function
   procedure _ppMacro(p: TSourceParser);
  
positive.code:   Purpose:
      Main code for the preprocessor
  
    $Id: unit_preprocessor.pas,v 1.18 2005-08-02 09:45:51 elmuerte Exp $
  *******************************************************************************}
  
  {
  
negative.code:     if (i > 0) then Delete(args, i, Length(args));
      i := pos('/*', args);
      if (i > 0) then Delete(args, i, Length(args));
    end;
  
    procedure macroIfCntLoop;
    begin
      while (macroIfCnt > 0) do begin
        if (p.Token = toEOF) then raise EEOF.Create(END_OF_FILE_EXCEPTION_IF);
        if (hadNewLine and not processedNewLine) then begin
          if (stripCode) then p.OutputString(cfgStripMessage+NL)
          else p.OutputString(UCPP_COMMENT);
          hadNewLine := false;
          processedNewLine := true;
        end;
        if (not stripCode) then p.CopyTokenToOutput;
        hadNewLine := (p.Token = toEOL) or (p.token = toComment);
        processedNewLine := false;
        p.SkipToken(not stripCode);
      end;
    end;
  
  begin
  