anchor.diff:      if gINI.ReadBool(cEditor, 'SyntaxHighlighting', True) then
       begin
         ext := fpgExtractFileExt(AFilename);
  -      if (ext = '.pas') or (ext = '.pp') or (ext = '.inc') or (ext = '.lpr')
  -         or (ext = '.dpr') then
  -        TfpgTextEdit(ts.Components[0]).OnDrawLine := @TextEditDrawLine;
  +      if (ext = '.pas') or (ext = '.pp') or (ext = '.inc') or (ext = '.lpr') or (ext = '.dpr') then
  +      begin
  +        TfpgTextEdit(ts.Components[0]).OnDrawLine := @HighlightObjectPascal;
  +      end
  +      else if (ext = '.patch') or (ext = '.diff') then
  +      begin
  +        TfpgTextEdit(ts.Components[0]).OnDrawLine := @HighlightPatch;
  +      end;
       end;
       ts.Realign;
       pcEditor.ActivePage := ts;
  
positive.code: 
    ACanvas.Font := oldfont;
  //  writeln('------');
  end;
  
  procedure TMainForm.SetupEditorPreference;
  
negative.code:     procedure   miTest(Sender: TObject);
      function    GetUnitsNode: TfpgTreeNode;
      procedure   UpdateWindowTitle;
      procedure   HighlightObjectPascal(Sender: TObject; ALineText: TfpgString; ALineIndex: Integer; ACanvas: TfpgCanvas; ATextRect: TfpgRect; var AllowSelfDraw: Boolean);
      procedure   HighlightPatch(Sender: TObject; ALineText: TfpgString; ALineIndex: Integer; ACanvas: TfpgCanvas; ATextRect: TfpgRect; var AllowSelfDraw: Boolean);
      procedure   SetupEditorPreference;
    public
      constructor Create(AOwner: TComponent); override;
  