From a1c392e0afc461491f44701489bd07e63d588c85 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 24 Mar 2021 17:05:26 +0000 Subject: [PATCH] * Fix issue #38442 git-svn-id: trunk@49047 - --- packages/regexpr/src/regexpr.pas | 43 +++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/packages/regexpr/src/regexpr.pas b/packages/regexpr/src/regexpr.pas index dc66cbeff7..89d0b3a4f6 100644 --- a/packages/regexpr/src/regexpr.pas +++ b/packages/regexpr/src/regexpr.pas @@ -1615,40 +1615,65 @@ end; { of function TRegExpr.GetModifierStr procedure TRegExpr.SetModifierG(AValue: boolean); begin - fModifiers.G := AValue; + if fModifiers.G <> AValue then + begin + fModifiers.G := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierI(AValue: boolean); begin - fModifiers.I := AValue; + if fModifiers.I <> AValue then + begin + fModifiers.I := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierM(AValue: boolean); begin - fModifiers.M := AValue; + if fModifiers.M <> AValue then + begin + fModifiers.M := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierR(AValue: boolean); begin - fModifiers.R := AValue; + if fModifiers.R <> AValue then + begin + fModifiers.R := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierS(AValue: boolean); begin - fModifiers.S := AValue; + if fModifiers.S <> AValue then + begin + fModifiers.S := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierX(AValue: boolean); begin - fModifiers.X := AValue; + if fModifiers.X <> AValue then + begin + fModifiers.X := AValue; + InvalidateProgramm; + end; end; procedure TRegExpr.SetModifierStr(const AStr: RegExprString); begin - if not ParseModifiers(PRegExprChar(AStr), Length(AStr), fModifiers) then + if ParseModifiers(PRegExprChar(AStr), Length(AStr), fModifiers) then + InvalidateProgramm + else Error(reeModifierUnsupported); -end; { of procedure TRegExpr.SetModifierStr - -------------------------------------------------------------- } +end; { ============================================================= } { ==================== Compiler section ======================= }