anchor.diff:       end;
        opMATCH:begin
         result:=true;
  -      if SearchLongest then begin
  +      if MatchMode in [mmLongestMatch,mmFullMatch,mmMultiMatch] then begin
          if LastPosition<Position then begin
           LastPosition:=Position;
           for i:=0 to Instance.CountSubMatches-1 do begin
  
positive.code:      // No-ops at DFA
       Instruction:=Instruction^.Next;
      end;
      opSPLIT:begin
       Stack^[StackPointer]:=Instruction^.OtherNext;
       inc(StackPointer);
       Instruction:=Instruction^.Next;
  
negative.code:      DFAFast:=false;
       if (Node^.Value and sfEmptyBeginText)<>0 then begin
        BeginningAnchor:=true;
       end;
       if (Node^.Value and sfEmptyEndText)<>0 then begin
        EndingAnchor:=true;
       end;
      end;
      ntLOOKBEHINDNEGATIVE,ntLOOKBEHINDPOSITIVE,ntLOOKAHEADNEGATIVE,ntLOOKAHEADPOSITIVE:begin
  