diff options
author | Guido van Rossum <guido@python.org> | 2003-02-24 01:18:35 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2003-02-24 01:18:35 (GMT) |
commit | 577fb5a1db508444eed7bd78fbf76c1f64ed643b (patch) | |
tree | 8aab690279d808e29afd8740ce06768e51eb08a9 | |
parent | 902a671c7bdaa413670649806776a8dc9000d2a8 (diff) | |
download | cpython-577fb5a1db508444eed7bd78fbf76c1f64ed643b.zip cpython-577fb5a1db508444eed7bd78fbf76c1f64ed643b.tar.gz cpython-577fb5a1db508444eed7bd78fbf76c1f64ed643b.tar.bz2 |
Fix from SF patch #633359 by Greg Chapman for SF bug #610299:
The problem is in sre_compile.py: the call to
_compile_charset near the end of _compile_info forgets to
pass in the flags, so that the info charset is not compiled
with re.U. (The info charset is used when searching to find
the first character at which a match could start; it is not
generated for patterns beginning with a repeat like '\w{1}'.)
-rw-r--r-- | Lib/sre_compile.py | 2 | ||||
-rwxr-xr-x | Lib/test/re_tests.py | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py index e5adb7e..bb17649 100644 --- a/Lib/sre_compile.py +++ b/Lib/sre_compile.py @@ -399,7 +399,7 @@ def _compile_info(code, pattern, flags): table[i+1] = table[table[i+1]-1]+1 code.extend(table[1:]) # don't store first entry elif charset: - _compile_charset(charset, 0, code) + _compile_charset(charset, flags, code) code[skip] = len(code) - skip STRING_TYPES = [type("")] diff --git a/Lib/test/re_tests.py b/Lib/test/re_tests.py index 12ad201..7b237ac 100755 --- a/Lib/test/re_tests.py +++ b/Lib/test/re_tests.py @@ -666,4 +666,5 @@ else: # bug 410271: \b broken under locales (r'\b.\b', 'a', SUCCEED, 'found', 'a'), (r'(?u)\b.\b', u, SUCCEED, 'found', u), + (r'(?u)\w', u, SUCCEED, 'found', u), ]) |