anchor.diff:    //
     if pageControl.ActivePageIndex <> -1 then
       mainForm.docFocusedNotify(Self, pageControl.ActivePageIndex);
  -
  -  // re-tokenize.
  -  fKeyChanged := true;
  -  beginUpdateByDelay;
  +  //
  +  if (curr.modified or (pageCOntrol.ActivePage.Caption = '')) then
  +  begin
  +    fKeyChanged := true;
  +    beginUpdateByDelay;
  +  end;
   end;
   
   procedure TCEEditorWidget.PageControlChange(Sender: TObject);
  
positive.code:   //
    memo.OnKeyDown := @memoKeyDown;
    memo.OnKeyUp := @memoKeyDown;
    memo.OnMouseDown := @memoMouseDown;
    memo.OnChange := @memoChange;
    memo.OnMouseMove := @memoMouseMove;
  
negative.code: 
  procedure TCEEditorWidget.memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  begin
    UpdateByEvent;
    if (sender is TCESynMemo) then
      identifierToD2Syn(TCESynMemo(Sender));
    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 not (ssLeft in Shift) then exit;
    //
    beginUpdateByDelay;
    UpdateByEvent;
  end;
  
  procedure TCEEditorWidget.memoChange(Sender: TObject);
  