mirror of https://github.com/python/cpython
GH-119496: accept UTF-8 BOM in .pth files (GH-119503)
`Out-File -Encoding utf8` and similar commands in Windows Powershell 5.1 emit UTF-8 with a BOM marker, which the regular `utf-8` codec decodes incorrectly. `utf-8-sig` accepts a BOM, but also works correctly without one. This change also makes .pth files match the way Python source files are handled. Co-authored-by: Inada Naoki <songofacandy@gmail.com>
This commit is contained in:
parent
92fab3356f
commit
bf5b6467f8
|
@ -185,7 +185,9 @@ def addpackage(sitedir, name, known_paths):
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
pth_content = pth_content.decode()
|
# Accept BOM markers in .pth files as we do in source files
|
||||||
|
# (Windows PowerShell 5.1 makes it hard to emit UTF-8 files without a BOM)
|
||||||
|
pth_content = pth_content.decode("utf-8-sig")
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
# Fallback to locale encoding for backward compatibility.
|
# Fallback to locale encoding for backward compatibility.
|
||||||
# We will deprecate this fallback in the future.
|
# We will deprecate this fallback in the future.
|
||||||
|
|
Loading…
Reference in New Issue