anchor.diff:      // rules
       case LToken of
         tkNum:
  -        if AExpressionKind = ekSet then
  +        if LExpressionKind = ekSet then
             if not (LPrevToken in [tkOpeningBracket, tkOpeningParenthesis, tkComma]) then
               raise ESearchExpressionParserException.CreateFmt('Unexpected token found : "%s"', [TokenToStr(LToken)]);
         tkText:
  -        if AExpressionKind in [ekSet, ekNum] then
  +        if LExpressionKind in [ekSet, ekNum] then
             raise ESearchExpressionParserException.Create('Unexpected string literal in expression');
         tkClosingBracket:
  -        if (AExpressionKind = ekSet) then
  +        if (LExpressionKind = ekSet) then
             if (AExpressionRecord.SetKind<>skNumericBetweenInclusive) then
               raise ESearchExpressionParserException.Create('Badly closed "between" expression')
             else if LPrevToken <> tkNum then
               raise ESearchExpressionParserException.Create('Missing number in expression');
         tkClosingParenthesis:
  -        if (AExpressionKind = ekSet) then
  +        if (LExpressionKind = ekSet) then
             if (AExpressionRecord.SetKind<>skNumericBetweenExclusive) then
               raise ESearchExpressionParserException.Create('Badly closed "between" expression')
             else if LPrevToken <> tkNum then
               raise ESearchExpressionParserException.Create('Missing number in expression');
         tkComma:
  -        if AExpressionKind = ekSet then
  +        if LExpressionKind = ekSet then
             if not (LPrevToken = tkNum) then
               raise ESearchExpressionParserException.Create('Unexpected occurrence of comma found')
             else
               NextValue;
         tkPercent:
  -        if AExpressionKind = ekText then
  +        if LExpressionKind = ekText then
           begin
             if LLastPercent then
               raise ESearchExpressionParserException.Create('Unexpected occurrence of % found');
  
positive.code:             raise ESearchExpressionParserException.CreateFmt('Unexpected token found : "%s"', [TokenToStr(LToken)]);
          end;
        tkOpeningParenthesis, tkOpeningBracket:
          if AExpressionKind = ekSet then
            if LPrevToken <> tkNone then
              raise ESearchExpressionParserException.CreateFmt('Bad "between" expression. Unexpected "%s"', [TokenToStr(LToken)])
            else
  
negative.code:       end
      else
      begin
        if not (LExpressionKind in [ekUnknown, ekText]) then
          raise ESearchExpressionParserException.Create('Unexpected char in expression');
        SetLength(LValue^, Length(LValue^) + LChar.Length);
        Move(LChar.Char[0], LValue^[Succ(Length(LValue^) - LChar.Length)], LChar.Length);
  