anchor.diff:  
   uses
     SynMacroRecorder, ce_options, ce_symstring;
  +
  +{$REGION Actions shortcuts -----------------------------------------------------}
  +constructor TCEPersistentMainShortcuts.create(aOwner: TComponent);
  +begin
  +  inherited;
  +  fCol := TCollection.Create(TCEPersistentMainShortcut);
  +end;
  +
  +destructor TCEPersistentMainShortcuts.destroy;
  +begin
  +  fCol.Free;
  +  inherited;
  +end;
  +
  +procedure TCEPersistentMainShortcuts.setCol(aValue: TCollection);
  +begin
  +  fCol.Assign(aValue);
  +end;
  +
  +procedure TCEPersistentMainShortcuts.assign(aValue: TPersistent);
  +var
  +  itm: TCEPersistentMainShortcut;
  +  i: Integer;
  +begin
  +  fCol.Clear;
  +  if aValue = CEMainForm then
  +    for i := 0 to CEMainForm.Actions.ActionCount-1 do
  +    begin
  +      if CEMainForm.Actions.Actions[i].Owner <> CEMainForm then
  +        continue;
  +      itm := TCEPersistentMainShortcut(fCol.Add);
  +      itm.shortcut := TAction(CEMainForm.Actions.Actions[i]).Shortcut;
  +      itm.actionName := CEMainForm.Actions.Actions[i].Name;
  +    end
  +  else inherited;
  +end;
  +
  +procedure TCEPersistentMainShortcuts.assignTo(aValue: TPersistent);
  +var
  +  itm: TCEPersistentMainShortcut;
  +  i, j: Integer;
  +begin
  +  if aValue = CEMainForm then
  +    for i:= 0 to fCol.Count-1 do
  +    begin
  +      itm := TCEPersistentMainShortcut(fCol.Items[i]);
  +      for j := 0 to CEMainForm.Actions.ActionCount-1 do
  +        if CEMainForm.Actions.Actions[i].Name = itm.actionName then
  +        begin
  +          TAction(CEMainForm.Actions.Actions[i]).Shortcut := itm.shortcut;
  +          break;
  +        end;
  +    end
  +  else inherited;
  +end;
  +{$ENDREGION}
   
   {$REGION Standard Comp/Obj------------------------------------------------------}
   constructor TCEMainForm.create(aOwner: TComponent);
  
positive.code: end;
  
  procedure TCEMainForm.scedSendItem(const category, identifier: string; aShortcut: TShortcut);
  begin
  
  end;
  {$ENDREGION}
  
  
negative.code:   fname2: string;
    opts: TCEOptions;
  begin
    // old centralized options
    fname1 := getCoeditDocPath + 'options2.txt';
    fname2 := getCoeditDocPath + 'options2.bak';
    opts := TCEOptions.create(nil);
  