anchor.diff:      procedure EditorOnClickGutter(Sender: TObject; ABand, ALine: integer);
       procedure EditorOnClickDouble(Sender: TObject; var AHandled: boolean);
       procedure EditorOnClickMicroMap(Sender: TObject; AX, AY: integer);
  +    procedure EditorOnClickMiddle(Sender: TObject; var AHandled: boolean);
       procedure EditorOnCommand(Sender: TObject; ACmd: integer; const AText: string; var AHandled: boolean);
       procedure EditorOnCommandAfter(Sender: TObject; ACommand: integer; const AText: string);
       procedure EditorOnDrawBookmarkIcon(Sender: TObject; C: TCanvas; ALineNum: integer; const ARect: TRect);
  
positive.code:   ed.OnDrawBookmarkIcon:= @EditorOnDrawBookmarkIcon;
    ed.OnDrawLine:= @EditorOnDrawLine;
    ed.OnKeyDown:= @EditorOnKeyDown;
    ed.OnKeyUp:=@EditorOnKeyUp;
    ed.OnDrawMicromap:=@EditorDrawMicromap;
  end;
  
  constructor TEditorFrame.Create(TheOwner: TComponent);
  
negative.code: 
    ed.OnClick:= @EditorOnClick;
    ed.OnClickDouble:= @EditorOnClickDouble;
    ed.OnClickMiddle:= @EditorOnClickMiddle;
    ed.OnClickMoveCaret:= @EditorClickMoveCaret;
    ed.OnClickEndSelect:= @EditorClickEndSelect;
    ed.OnClickGap:= @EditorOnClickGap;
    ed.OnClickMicromap:= @EditorOnClickMicroMap;
    ed.OnEnter:= @EditorOnEnter;
    ed.OnChangeState:= @EditorOnChangeCommon;
    ed.OnChangeCaretPos:= @EditorOnChangeCaretPos;
  