From: Tarek Ziadé Date: Sun, 5 Apr 2009 21:44:08 +0000 (+0000) Subject: Fixed #1491431: distutils.filelist.glob_to_re was broken for some edge cases (detaile... X-Git-Tag: v2.7a1~1547 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=faa6b121fb34f1c4db36f20b625ece0291396174;p=python Fixed #1491431: distutils.filelist.glob_to_re was broken for some edge cases (detailed in the test --- diff --git a/Lib/distutils/filelist.py b/Lib/distutils/filelist.py index 51a1d57e13..3ba5720ca9 100644 --- a/Lib/distutils/filelist.py +++ b/Lib/distutils/filelist.py @@ -302,7 +302,7 @@ def findall (dir = os.curdir): return list -def glob_to_re (pattern): +def glob_to_re(pattern): """Translate a shell-like glob pattern to a regular expression; return a string containing the regex. Differs from 'fnmatch.translate()' in that '*' does not match "special characters" (which are @@ -317,7 +317,8 @@ def glob_to_re (pattern): # character except the special characters. # XXX currently the "special characters" are just slash -- i.e. this is # Unix-only. - pattern_re = re.sub(r'(^|[^\\])\.', r'\1[^/]', pattern_re) + pattern_re = re.sub(r'((?