summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2003-02-24 01:18:35 +0000
committerGuido van Rossum <guido@python.org>2003-02-24 01:18:35 +0000
commit577fb5a1db508444eed7bd78fbf76c1f64ed643b (patch)
tree8aab690279d808e29afd8740ce06768e51eb08a9
parent902a671c7bdaa413670649806776a8dc9000d2a8 (diff)
downloadcpython-git-577fb5a1db508444eed7bd78fbf76c1f64ed643b.tar.gz
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.py2
-rwxr-xr-xLib/test/re_tests.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index e5adb7e46a..bb17649523 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 12ad201111..7b237ac5d5 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),
])