anchor.diff:    begin
       Caret:= ed.Carets[i];
       if ed.Strings.IsIndexValid(Caret.PosY) then
  -      ed.Strings.LinesBm[Caret.PosY]:= 1;
  +      ed.Strings.Bookmarks.Add(Caret.PosY, 1, '');
     end;
   end;
   
  
positive.code: 
  procedure EditorBookmarkPlaceCaretsOnBookmarks(ed: TATSynEdit);
  var
    i: integer;
    X1, Y1, X2, Y2: integer;
  begin
    if ed.Carets.Count=0 then exit;
    with ed.Carets[0] do
  
negative.code: procedure EditorBookmarkCopyMarkedLines(ed: TATSynEdit);
  var
    List: TStringList;
    NLine, i: integer;
  begin
    List:= TStringList.Create;
    try
      for i:= 0 to Ed.Strings.Bookmarks.Count-1 do
      begin
        NLine:= Ed.Strings.Bookmarks[i].LineNum;
        if Ed.Strings.IsIndexValid(NLine) then
          List.Add(Ed.Strings.LinesUTF8[NLine]);
      end;
      SClipboardCopy(List.Text);
    finally
      FreeAndNil(List);
  