Kaydet (Commit) 56629244 authored tarafından Gregory P. Smith's avatar Gregory P. Smith

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.
........
üst 63e64add
...@@ -104,4 +104,4 @@ def translate(pat): ...@@ -104,4 +104,4 @@ def translate(pat):
res = '%s[%s]' % (res, stuff) res = '%s[%s]' % (res, stuff)
else: else:
res = res + re.escape(c) res = res + re.escape(c)
return res + "$" return res + '\Z(?ms)'
...@@ -32,11 +32,18 @@ class FnmatchTestCase(unittest.TestCase): ...@@ -32,11 +32,18 @@ class FnmatchTestCase(unittest.TestCase):
check('a', 'b', 0) check('a', 'b', 0)
# these test that '\' is handled correctly in character sets; # these test that '\' is handled correctly in character sets;
# see SF bug #??? # see SF bug #409651
check('\\', r'[\]') check('\\', r'[\]')
check('a', r'[!\]') check('a', r'[!\]')
check('\\', r'[!\]', 0) 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(): def test_main():
test_support.run_unittest(FnmatchTestCase) test_support.run_unittest(FnmatchTestCase)
......
...@@ -24,6 +24,8 @@ Core and Builtins ...@@ -24,6 +24,8 @@ Core and Builtins
Library 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 - Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
LP64 platforms (most 64-bit Linux, bsd, unix systems). LP64 platforms (most 64-bit Linux, bsd, unix systems).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment