]> granicus.if.org Git - python/commitdiff
Fix from SF patch #633359 by Greg Chapman for SF bug #610299:
authorGuido van Rossum <guido@python.org>
Mon, 24 Feb 2003 01:18:35 +0000 (01:18 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 24 Feb 2003 01:18:35 +0000 (01:18 +0000)
    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
Lib/test/re_tests.py

index e5adb7e46a7817a57e2c4f43c46547d947cd755b..bb17649523ffd1146112143821783131724e8749 100644 (file)
@@ -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("")]
index 12ad20111116c02fd7179a27a9e835a8b4c72734..7b237ac5d540e0fa15b0d1928ca807c5b7ac818e 100755 (executable)
@@ -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),
     ])