Kaydet (Commit) 61093c0c authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Issue #13193: Fix distutils.filelist.FileList and

packaging.manifest.Manifest under Windows.  The "recursive-include"
directive now recognizes both legal path separators.
...@@ -313,7 +313,10 @@ def translate_pattern(pattern, anchor=1, prefix=None, is_regex=0): ...@@ -313,7 +313,10 @@ def translate_pattern(pattern, anchor=1, prefix=None, is_regex=0):
# ditch end of pattern character # ditch end of pattern character
empty_pattern = glob_to_re('') empty_pattern = glob_to_re('')
prefix_re = (glob_to_re(prefix))[:-len(empty_pattern)] prefix_re = (glob_to_re(prefix))[:-len(empty_pattern)]
pattern_re = "^" + os.path.join(prefix_re, ".*" + pattern_re) # match both path separators, as in Postel's principle
sep_pat = "[" + re.escape(os.path.sep + os.path.altsep
if os.path.altsep else os.path.sep) + "]"
pattern_re = "^" + sep_pat.join([prefix_re, ".*" + pattern_re])
else: # no prefix -- respect anchor flag else: # no prefix -- respect anchor flag
if anchor: if anchor:
pattern_re = "^" + pattern_re pattern_re = "^" + pattern_re
......
...@@ -366,7 +366,10 @@ def _translate_pattern(pattern, anchor=True, prefix=None, is_regex=False): ...@@ -366,7 +366,10 @@ def _translate_pattern(pattern, anchor=True, prefix=None, is_regex=False):
# ditch end of pattern character # ditch end of pattern character
empty_pattern = _glob_to_re('') empty_pattern = _glob_to_re('')
prefix_re = _glob_to_re(prefix)[:-len(empty_pattern)] prefix_re = _glob_to_re(prefix)[:-len(empty_pattern)]
pattern_re = "^" + os.path.join(prefix_re, ".*" + pattern_re) # match both path separators, as in Postel's principle
sep_pat = "[" + re.escape(os.path.sep + os.path.altsep
if os.path.altsep else os.path.sep) + "]"
pattern_re = "^" + sep_pat.join([prefix_re, ".*" + pattern_re])
else: # no prefix -- respect anchor flag else: # no prefix -- respect anchor flag
if anchor: if anchor:
pattern_re = "^" + pattern_re pattern_re = "^" + pattern_re
......
...@@ -365,6 +365,10 @@ Core and Builtins ...@@ -365,6 +365,10 @@ Core and Builtins
Library Library
------- -------
- Issue #13193: Fix distutils.filelist.FileList and
packaging.manifest.Manifest under Windows. The "recursive-include"
directive now recognizes both legal path separators.
- Issue #13384: Remove unnecessary __future__ import in Lib/random.py - Issue #13384: Remove unnecessary __future__ import in Lib/random.py
- Issue #13149: Speed up append-only StringIO objects. - Issue #13149: Speed up append-only StringIO objects.
......
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