[Python-checkins] r76023 - in python/branches/release26-maint: Lib/fnmatch.py Lib/test/test_fnmatch.py Misc/NEWS

gregory.p.smith python-checkins at python.org
Sun Nov 1 21:33:32 CET 2009


Author: gregory.p.smith
Date: Sun Nov  1 21:33:31 2009
New Revision: 76023

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

........
  r74475 | gregory.p.smith | 2009-08-16 11:52:58 -0700 (Sun, 16 Aug 2009) | 2 lines
  
  Issue 6665: Fix fnmatch to properly match filenames with newlines in them.
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/fnmatch.py
   python/branches/release26-maint/Lib/test/test_fnmatch.py
   python/branches/release26-maint/Misc/NEWS

Modified: python/branches/release26-maint/Lib/fnmatch.py
==============================================================================
--- python/branches/release26-maint/Lib/fnmatch.py	(original)
+++ python/branches/release26-maint/Lib/fnmatch.py	Sun Nov  1 21:33:31 2009
@@ -104,4 +104,4 @@
                 res = '%s[%s]' % (res, stuff)
         else:
             res = res + re.escape(c)
-    return res + "$"
+    return res + '\Z(?ms)'

Modified: python/branches/release26-maint/Lib/test/test_fnmatch.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_fnmatch.py	(original)
+++ python/branches/release26-maint/Lib/test/test_fnmatch.py	Sun Nov  1 21:33:31 2009
@@ -32,11 +32,18 @@
         check('a', 'b', 0)
 
         # these test that '\' is handled correctly in character sets;
-        # see SF bug #???
+        # see SF bug #409651
         check('\\', r'[\]')
         check('a', r'[!\]')
         check('\\', r'[!\]', 0)
 
+        # test that filenames with newlines in them are handled correctly.
+        # http://bugs.python.org/issue6665
+        check('foo\nbar', 'foo*')
+        check('foo\nbar\n', 'foo*')
+        check('\nfoo', 'foo*', False)
+        check('\n', '*')
+
 
 def test_main():
     test_support.run_unittest(FnmatchTestCase)

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Sun Nov  1 21:33:31 2009
@@ -24,6 +24,8 @@
 Library
 -------
 
+- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
+
 - Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
   LP64 platforms (most 64-bit Linux, bsd, unix systems).
 


More information about the Python-checkins mailing list