anchor.diff:    CharFrom:= #0;
     CharTo:= #0;
     Kind:= bracketUnknown;
  +  St:= Ed.Strings;
   
     if PosX<0 then exit;
  -  if not Ed.Strings.IsIndexValid(PosY) then exit;
  -
  -  S:= Ed.Strings.Lines[PosY];
  +  if not St.IsIndexValid(PosY) then exit;
  +  if St.LinesLen[PosY]>EditorOps.OpMaxLineLenForBracketFinder then exit;
  +
  +  S:= St.Lines[PosY];
     if (PosX=Length(S)) and (PosX>0) then
       Dec(PosX);
   
  
positive.code:   out CharFrom, CharTo: atChar;
    out Kind: TATEditorBracketKind);
  var
    S: atString;
  begin
    FoundX:= -1;
  
negative.code:       if FoundY<0 then exit;
        PosX:= FoundX;
        PosY:= FoundY;
        S:= St.Lines[PosY];
        CharFrom:= S[PosX+1];
        EditorBracket_GetCharKind(CharFrom, Kind, CharTo);
      end;
  