anchor.diff:    begin
       srcopt := TCEEditorOptionsBase(src);
       //
  -    font.Assign(srcopt.font);
  +    fFont.Assign(srcopt.fFont);
  +    fSelCol.Assign(srcopt.fSelCol);
  +    fFoldCol.Assign(srcopt.fFoldCol);
  +    fLinkCol.Assign(srcopt.fLinkCol);
       fD2Syn.Assign(srcopt.fD2Syn);
       fTxtSyn.Assign(srcopt.fTxtSyn);
  +    background      := srcopt.background;
       tabulationWidth := srcopt.tabulationWidth;
       blockIdentation := srcopt.blockIdentation;
       lineSpacing     := srcopt.lineSpacing;
  
positive.code:    * Container for the editor and highlither options.
     * The base class is also used to backup the settings
     * to allow a live preview and to restore them when not accepted.
     *)
    TCEEditorOptionsBase = class(TWritableLfmTextComponent)
    private
      fD2Syn: TPersistent;
      fTxtSyn: TPersistent;
      fFont: TFont;
      //
      fTabWidth: Integer;
      fBlockIdent: Integer;
      fLineSpacing: Integer;
      fCharSpacing: Integer;
      fOptions1: TSynEditorOptions;
      fOptions2: TSynEditorOptions2;
      fMouseOptions: TSynEditorMouseOptions;
      //
      procedure setFont(aFont: TFont);
      procedure setD2Syn(aValue: TPersistent);
      procedure setTxtSyn(aValue: TPersistent);
    published
      property tabulationWidth: Integer read fTabWidth write fTabWidth;
      property blockIdentation: Integer read fBlockIdent write fBlockIdent;
      property lineSpacing: Integer read fLineSpacing write fLineSpacing;
      property characterSpacing: Integer read fCharSpacing write fCharSpacing;
      property font: TFont read fFont write setFont;
      property options1: TSynEditorOptions read fOptions1 write fOptions1;
      property options2: TSynEditorOptions2 read fOptions2 write fOptions2;
  
negative.code: destructor TCEEditorOptionsBase.Destroy;
  begin
    fFont.Free;
    fSelCol.Free;
    fFoldCol.Free;
    fLinkCol.Free;
    inherited;
  end;
  
  