anchor.diff:    cHistory_Unpri_Spaces = '/unprinted_spaces';
     cHistory_Unpri_Ends   = '/unprinted_ends';
     cHistory_Unpri_Detail = '/unprinted_end_details';
  -  cHistory_Caret       = '/caret';
  +  cHistory_Caret       = '/crt';
     cHistory_TabColor    = '/color';
     cHistory_Bookmark    = '/bm';
     cHistory_BookmarkKind = '/bm_kind';
  
positive.code:   if Ed.Carets.Count>0 then
    begin
      caret:= Ed.Carets[0];
      c.SetValue(path+cHistory_Caret+'/x', caret.PosX);
      c.SetValue(path+cHistory_Caret+'/y', caret.PosY);
      c.SetValue(path+cHistory_Caret+'/x2', caret.EndX);
      c.SetValue(path+cHistory_Caret+'/y2', caret.EndY);
    end;
  
    items:= TStringList.Create;
  
negative.code:   if Ed.Carets.Count>0 then
    begin
      caret:= Ed.Carets[0];
      str:= c.GetValue(path+cHistory_Caret, '');
      caret.PosX:= StrToIntDef(SGetItem(str), 0);
      caret.PosY:= StrToIntDef(SGetItem(str), 0);
      caret.EndX:= StrToIntDef(SGetItem(str), -1);
      caret.EndY:= StrToIntDef(SGetItem(str), -1);
      Ed.UpdateIncorrectCaretPositions;
      Ed.DoEventCarets;
    end;
  