From 3046177b09b0afa9af31f52da676090bb6910ff3 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 24 Feb 2003 01:23:03 +0000 Subject: [PATCH] Backport: 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}'.) --- Lib/sre_compile.py | 2 +- Lib/test/re_tests.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py index 424604bf8243..6c874761f197 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 953e4fdffe1e..7d7275196dd2 100755 --- a/Lib/test/re_tests.py +++ b/Lib/test/re_tests.py @@ -657,4 +657,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), ]) -- 2.47.3