anchor.diff:      p.OutputString(rep);
       p.SkipToken(not stripCode);
       if (hadNewLine and (macroIfCnt > 0)) then begin
  -      if (stripCode) then p.OutputString(cfgStripMessage+NL)
  -      else p.OutputString(UCPP_COMMENT);
  +      if (not processedNewLine) then begin
  +        if (stripCode) then p.OutputString(cfgStripMessage+NL)
  +        else p.OutputString(UCPP_COMMENT);
  +        processedNewLine := true;
  +      end;
         hadNewLine := (p.Token = toEOL) or (p.token = toComment);
       end;
     end;
  
positive.code:     else if (macroLastIf) then begin
        macroIfCnt := 1;
        CommentMacro;
        while (macroIfCnt > 0) do begin
          if (p.Token = toEOF) then raise EEOF.Create(END_OF_FILE_EXCEPTION_IF);
          if (hadNewLine) then begin
            if (stripCode) then p.OutputString(cfgStripMessage+NL)
            else p.OutputString(UCPP_COMMENT);
            hadNewLine := false;
          end;
          if (not stripCode) then p.CopyTokenToOutput;
          hadNewLine := (p.Token = toEOL) or (p.token = toComment);
          p.SkipToken(true);
        end;
      end
      else CommentMacro;
      // else we don't care
  
negative.code:       if (not macroLastIf) then begin
          macroIfCnt := 1;
          CommentMacro;
          macroIfCntLoop;
          {while (macroIfCnt > 0) do begin
            if (p.Token = toEOF) then raise EEOF.Create(END_OF_FILE_EXCEPTION_IF);
            if (hadNewLine) then begin
              if (stripCode) then p.OutputString(cfgStripMessage+NL)
              else  if (p.token <> toComment) then p.OutputString(UCPP_COMMENT);
              hadNewLine := false;
            end;
            if (not stripCode) then p.CopyTokenToOutput;
            hadNewLine := (p.Token = toEOL) or (p.token = toComment);
            p.SkipToken(not stripCode);
          end;}
        end
        else CommentMacro;
      end
  