@@ -164,11 +164,11 @@ sOption = m.group(1) sAction = sAction[m.end():].strip() if nPriority == -1: nPriority = dOptPriority.get(sOption, 4) # valid action? - m = re.search(r"(?P[-~=/%>])(?P-?\d+\.?|)(?P:\.?-?\d+|)>>", sAction) + m = re.search(r"(?P[-~=/%>])(?P-?\d+\.?|)(?P:\.?-?\d+|)(?P:|)>>", sAction) if not m: print(" # Error. No action found at: ", sActionId) return None # Condition sCondition = sAction[:m.start()].strip() @@ -177,10 +177,12 @@ sCondition = prepareFunction(sCondition) dFUNCTIONS["_g_c_"+sActionId] = sCondition sCondition = "_g_c_"+sActionId else: sCondition = "" + # Case sensitivity + bCaseSensitivity = False if m.group("casing") == ":" else True # Action cAction = m.group("action") sAction = sAction[m.end():].strip() sAction = changeReferenceToken(sAction, dPos) # target @@ -260,20 +262,20 @@ sAction = "=_g_s_"+sActionId elif sAction.startswith('"') and sAction.endswith('"'): sAction = sAction[1:-1] if not sMsg: print("# Error in action at line " + sActionId + ": The message is empty.") - return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction, cStartLimit, cEndLimit, nPriority, sMsg, sURL] + return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction, cStartLimit, cEndLimit, bCaseSensitivity, nPriority, sMsg, sURL] elif cAction == "~": ## text processor if sAction[0:1] == "=": sAction = prepareFunction(sAction) dFUNCTIONS["_g_p_"+sActionId] = sAction[1:] sAction = "=_g_p_"+sActionId elif sAction.startswith('"') and sAction.endswith('"'): sAction = sAction[1:-1] - return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction] + return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction, bCaseSensitivity] elif cAction == "%" or cAction == "/": ## tags return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction] elif cAction == "=": ## disambiguator