anchor.diff:    end;
   
     ed.Carets.Clear;
  -  for i:= 0 to ed.Strings.Count-1 do
  -    if ed.Strings.LinesBm[i]>0 then
  -      ed.Carets.Add(0, i);
  +  for i:= 0 to ed.Strings.Bookmarks.Count-1 do
  +  begin
  +    NLine:= ed.Strings.Bookmarks[i].LineNum;
  +    ed.Carets.Add(0, NLine);
  +  end;
   
     if ed.Carets.Count=0 then
       ed.DoCaretSingle(X1, Y1, X2, Y2);
  
positive.code:   begin
      Caret:= ed.Carets[i];
      if ed.Strings.IsIndexValid(Caret.PosY) then
        ed.Strings.LinesBm[Caret.PosY]:= 1;
    end;
  end;
  
  
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);
  