anchor.diff:  
   procedure TCEEditorWidget.memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
   begin
  -if (sender is TCESynMemo) then
  -    identifierToD2Syn(TCESynMemo(Sender));
  -  fKeyChanged := true;
  -  case Byte(Key) of
  -    VK_UNKNOWN..VK_XBUTTON2: exit;
  -    VK_SHIFT..VK_HELP: fKeyChanged := false;
  -    VK_LWIN..VK_SLEEP: exit;
  -    VK_F1..$91: exit;
  -  end;
  -  fKeyChanged := true;
  -  beginUpdateByDelay;
  -end;
  -
  -procedure TCEEditorWidget.memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  -begin
  +  UpdateByEvent;
     if (sender is TCESynMemo) then
       identifierToD2Syn(TCESynMemo(Sender));
  -  beginUpdateByDelay;
  +  case Byte(Key) of
  +    VK_CLEAR,VK_RETURN,VK_BACK : fKeyChanged := true;
  +    //else fKeyChanged := false;
  +  end;
  +  if fKeyChanged then
  +    beginUpdateByDelay;
  +end;
  +
  +procedure TCEEditorWidget.memoKeyPress(Sender: TObject; var Key: char);
  +begin
  +  fKeyChanged := true;
  +  beginUpdateByDelay;
  +end;
  +
  +procedure TCEEditorWidget.memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  +begin
  +  if (sender is TCESynMemo) then
  +    identifierToD2Syn(TCESynMemo(Sender));
  +  beginUpdateByDelay;
  +  UpdateByEvent;
   end;
   
   procedure TCEEditorWidget.memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
   begin
  -  if ssLeft in Shift then
  -    beginUpdateByDelay;
  +  if not (ssLeft in Shift) then exit;
  +  //
  +  beginUpdateByDelay;
  +  UpdateByEvent;
   end;
   
   procedure TCEEditorWidget.memoChange(Sender: TObject);
  
positive.code:   //
    memo.OnKeyDown := @memoKeyDown;
    memo.OnKeyUp := @memoKeyDown;
    memo.OnMouseDown := @memoMouseDown;
    memo.OnChange := @memoChange;
    memo.OnMouseMove := @memoMouseMove;
  
negative.code:   //
    if pageControl.ActivePageIndex <> -1 then
      mainForm.docFocusedNotify(Self, pageControl.ActivePageIndex);
    //
    if (curr.modified or (pageCOntrol.ActivePage.Caption = '')) then
    begin
      fKeyChanged := true;
      beginUpdateByDelay;
    end;
  end;
  
  procedure TCEEditorWidget.PageControlChange(Sender: TObject);
  