anchor.diff:      ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
   begin
    result:='';
  + if rfMULTIMATCH in Flags then begin
  +  raise EFLRE.Create('ReplaceAll unsupported in multi match mode');
  + end;
    Captures:=nil;
    try
     SimpleReplacement:=(PtrPosChar('$',Replacement,ReplacementLength)<0) and (PtrPosChar('\',Replacement,ReplacementLength)<0);
  
positive.code: 
  function TFLRE.PtrMatchNext(const Input:pointer;const InputLength:longint;var Captures:TFLRECaptures;const StartPosition:longint=0):boolean;
  var ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
  begin
   if (StartPosition>=0) and (StartPosition<InputLength) then begin
    ThreadLocalStorageInstance:=AcquireThreadLocalStorageInstance;
    try
     ThreadLocalStorageInstance.Input:=Input;
     ThreadLocalStorageInstance.InputLength:=InputLength;
     result:=InternalPtrMatchNext(ThreadLocalStorageInstance,Input,InputLength,Captures,StartPosition);
    finally
     ReleaseThreadLocalStorageInstance(ThreadLocalStorageInstance);
    end;
  
negative.code:     ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
  begin
   result:=false;
   if rfMULTIMATCH in Flags then begin
    raise EFLRE.Create('MatchAll unsupported in multi match mode');
   end;
   MatchResult:=nil;
   CountMultiCaptures:=0;
   SetLength(MultiCaptures,0);
  