[Python-checkins] Simplify flags checks in sre_compile.py. (GH-9718)

Serhiy Storchaka webhook-mailer at python.org
Fri Oct 5 13:53:48 EDT 2018


https://github.com/python/cpython/commit/491974735c51141019ae4ef0492e63a8eb716636
commit: 491974735c51141019ae4ef0492e63a8eb716636
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2018-10-05T20:53:45+03:00
summary:

Simplify flags checks in sre_compile.py. (GH-9718)

Flags SRE_FLAG_UNICODE and SRE_FLAG_ASCII are mutually exclusive.

files:
M Lib/sre_compile.py

diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index 36670427db76..c6398bfb83a5 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -80,7 +80,7 @@ def _compile(code, pattern, flags):
     tolower = None
     fixes = None
     if flags & SRE_FLAG_IGNORECASE and not flags & SRE_FLAG_LOCALE:
-        if flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII:
+        if flags & SRE_FLAG_UNICODE:
             iscased = _sre.unicode_iscased
             tolower = _sre.unicode_tolower
             fixes = _ignorecase_fixes
@@ -196,7 +196,7 @@ def _compile(code, pattern, flags):
                 av = AT_MULTILINE.get(av, av)
             if flags & SRE_FLAG_LOCALE:
                 av = AT_LOCALE.get(av, av)
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 av = AT_UNICODE.get(av, av)
             emit(av)
         elif op is BRANCH:
@@ -217,7 +217,7 @@ def _compile(code, pattern, flags):
             emit(op)
             if flags & SRE_FLAG_LOCALE:
                 av = CH_LOCALE[av]
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 av = CH_UNICODE[av]
             emit(av)
         elif op is GROUPREF:
@@ -265,7 +265,7 @@ def _compile_charset(charset, flags, code):
         elif op is CATEGORY:
             if flags & SRE_FLAG_LOCALE:
                 emit(CH_LOCALE[av])
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 emit(CH_UNICODE[av])
             else:
                 emit(av)
@@ -453,7 +453,7 @@ def _generate_overlap_table(prefix):
 def _get_iscased(flags):
     if not flags & SRE_FLAG_IGNORECASE:
         return None
-    elif flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII:
+    elif flags & SRE_FLAG_UNICODE:
         return _sre.unicode_iscased
     else:
         return _sre.ascii_iscased



More information about the Python-checkins mailing list