From: Fredrik Lundh Date: Mon, 15 Jan 2001 18:28:14 +0000 (+0000) Subject: from the really-stupid-bug department: uppercase literals should match X-Git-Tag: v2.1a1~260 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e24044f9db23c3d2195a129f53f2deb73a4e4af;p=python from the really-stupid-bug department: uppercase literals should match uppercase strings also when the IGNORECASE flag is set (bug #128899) (also added test cases for recently fixed bugs to the regression suite -- or in other words, check in re_tests.py too...) --- diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py index c2996fc3a2..ab2a2cc9ad 100644 --- a/Lib/sre_compile.py +++ b/Lib/sre_compile.py @@ -23,9 +23,10 @@ def _compile(code, pattern, flags): if op in (LITERAL, NOT_LITERAL): if flags & SRE_FLAG_IGNORECASE: emit(OPCODES[OP_IGNORE[op]]) + emit(_sre.getlower(av, flags)) else: emit(OPCODES[op]) - emit(av) + emit(av) elif op is IN: if flags & SRE_FLAG_IGNORECASE: emit(OPCODES[OP_IGNORE[op]]) diff --git a/Lib/test/re_tests.py b/Lib/test/re_tests.py index 2d3155dacf..9daf8c4cde 100755 --- a/Lib/test/re_tests.py +++ b/Lib/test/re_tests.py @@ -598,7 +598,7 @@ xyzabc (r'\xff', '\377', SUCCEED, 'found', chr(255)), # new \x semantics - (r'\x00ff', '\377', FAIL, 'found', chr(255)), + (r'\x00ff', '\377', FAIL), # (r'\x00ff', '\377', SUCCEED, 'found', chr(255)), (r'\t\n\v\r\f\a\g', '\t\n\v\r\f\ag', SUCCEED, 'found', '\t\n\v\r\f\ag'), ('\t\n\v\r\f\a\g', '\t\n\v\r\f\ag', SUCCEED, 'found', '\t\n\v\r\f\ag'), @@ -610,11 +610,13 @@ xyzabc # xmllib problem (r'(([a-z]+):)?([a-z]+)$', 'smil', SUCCEED, 'g1+"-"+g2+"-"+g3', 'None-None-smil'), - # bug 111869 (PRE/PCRE fails on this one, SRE doesn't) + # bug 110866: reference to undefined group + (r'((.)\1+)', '', SYNTAX_ERROR), + # bug 111869: search (PRE/PCRE fails on this one, SRE doesn't) (r'.*d', 'abc\nabd', SUCCEED, 'found', 'abd'), # bug 112468: various expected syntax errors - ('(', '', SYNTAX_ERROR), - ('[\\41]', '!', SUCCEED, 'found', '!'), + (r'(', '', SYNTAX_ERROR), + (r'[\41]', '!', SUCCEED, 'found', '!'), # bug 114033: nothing to repeat (r'(x?)?', 'x', SUCCEED, 'found', 'x'), # bug 115040: rescan if flags are modified inside pattern @@ -623,5 +625,15 @@ xyzabc (r'(?