[Python-checkins] r71281 - in python/branches/release26-maint: Lib/distutils/filelist.py Lib/distutils/tests/test_filelist.py Misc/NEWS

tarek.ziade python-checkins at python.org
Sun Apr 5 23:47:03 CEST 2009


Author: tarek.ziade
Date: Sun Apr  5 23:47:02 2009
New Revision: 71281

Log:
Merged revisions 71280 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71280 | tarek.ziade | 2009-04-05 23:44:08 +0200 (Sun, 05 Apr 2009) | 1 line
  
  Fixed #1491431: distutils.filelist.glob_to_re was broken for some edge cases (detailed in the test
........


Added:
   python/branches/release26-maint/Lib/distutils/tests/test_filelist.py
      - copied unchanged from r71280, /python/trunk/Lib/distutils/tests/test_filelist.py
Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/distutils/filelist.py
   python/branches/release26-maint/Misc/NEWS

Modified: python/branches/release26-maint/Lib/distutils/filelist.py
==============================================================================
--- python/branches/release26-maint/Lib/distutils/filelist.py	(original)
+++ python/branches/release26-maint/Lib/distutils/filelist.py	Sun Apr  5 23:47:02 2009
@@ -304,7 +304,7 @@
     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
@@ -319,7 +319,8 @@
     # 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'((?<!\\)(\\\\)*)\.', r'\1[^/]', pattern_re)
+
     return pattern_re
 
 # glob_to_re ()

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Sun Apr  5 23:47:02 2009
@@ -100,6 +100,9 @@
 Library
 -------
 
+- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.
+  Initial fix by Wayne Davison.
+
 - Issue 5471: Fix os.path.expanduser() for $HOME set to '/'.
 
 - Issue 1326077: fix the formatting of SyntaxErrors by the traceback module.


More information about the Python-checkins mailing list