summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-05-24 14:52:20 (GMT)
committerGitHub <noreply@github.com>2024-05-24 14:52:20 (GMT)
commit217d57fc3c9a8ec45dfccd3aab9a05dbf6656da0 (patch)
tree74073c35724e69376d17a9cfb9cbde72269ea086 /Lib
parent0bab0b3a53da735838720f96f3d3bf86ca6ba125 (diff)
downloadcpython-217d57fc3c9a8ec45dfccd3aab9a05dbf6656da0.zip
cpython-217d57fc3c9a8ec45dfccd3aab9a05dbf6656da0.tar.gz
cpython-217d57fc3c9a8ec45dfccd3aab9a05dbf6656da0.tar.bz2
[3.13] GH-119496: accept UTF-8 BOM in .pth files (GH-119508)
`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. (cherry picked from commit bf5b6467f8cc06759f3396ab1a8ad64fe7d1db2e) Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
Diffstat (limited to 'Lib')
-rw-r--r--Lib/site.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/site.py b/Lib/site.py
index f1a6d9c..7eace19 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -185,7 +185,9 @@ def addpackage(sitedir, name, known_paths):
return
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:
# Fallback to locale encoding for backward compatibility.
# We will deprecate this fallback in the future.