anchor.diff:  
       procedure DoSaveUndo(Ed: TATSynEdit; const AFileName: string);
       procedure DoLoadUndo(Ed: TATSynEdit);
  +    procedure DoSaveHistory_Caret(Ed: TATSynEdit; c: TJsonConfig; const path: UnicodeString);
  +    procedure DoSaveHistory_Bookmarks(Ed: TATSynEdit; c: TJsonConfig; const path: UnicodeString);
   
     protected
       procedure DoOnResize; override;
  
positive.code:     else
        c.DeleteValue(path+cHistory_BookmarkKind);
  
     finally
      FreeAndNil(items2);
      FreeAndNil(items);
     end;
    end;
  
    if UiOps.HistoryItems[ahhCodeTreeFilter] then
    begin
  
negative.code:   end;
  end;
  
  procedure TEditorFrame.DoSaveHistory_Caret(Ed: TATSynEdit; c: TJsonConfig; const path: UnicodeString);
  var
    caret: TATCaretItem;
  begin
    if Ed.Carets.Count>0 then
    begin
      //note: don't use c.SetDeleteValue here because non-empty value is always needed:
      //app loads file from session and skips history if key is empty
      caret:= Ed.Carets[0];
  