anchor.diff:            regcode := RangePCodeBeg;
             Move (RangeSet, regcode^, SizeOf (TSetOfREChar));
             inc (regcode, SizeOf (TSetOfREChar));
  +          {$IFDEF DebugSynRegExpr}
  +          if regcode-programm>regsize then
  +            raise Exception.Create('TRegExpr.ParseAtom.EmitRangeC non TinySetLen buffer overrun');
  +          {$ENDIF}
            end;
         end;
      {$ELSE}
  
positive.code:     reeMatchPrimCorruptedPointers: Result := 'TRegExpr(exec): MatchPrim Corrupted Pointers';
      reeNoExpression: Result := 'TRegExpr(exec): Not Assigned Expression Property';
      reeCorruptedProgram: Result := 'TRegExpr(exec): Corrupted Program';
      reeNoInpitStringSpecified: Result := 'TRegExpr(exec): No Input String Specified';
      reeOffsetMustBeGreaterThen0: Result := 'TRegExpr(exec): Offset Must Be Greater Then 0';
      reeExecNextWithoutExec: Result := 'TRegExpr(exec): ExecNext Without Exec[Pos]';
      reeGetInputStringWithoutInputString: Result := 'TRegExpr(exec): GetInputString Without InputString';
  
negative.code:  begin
    if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString)
       and Assigned (startp [Idx]) and Assigned (endp [Idx])
       and (endp [Idx] > startp[Idx])
     //then Result := copy (fInputString, MatchPos [Idx], MatchLen [Idx]) //###0.929
     then begin
       //SetString (Result, startp [idx], endp [idx] - startp [idx])
       SetLength(Result,endp [idx] - startp [idx]);
       System.Move(startp [idx]^,Result[1],length(Result));
     end
     else Result := '';
   end; { of function TRegExpr.GetMatch
  