https://github.com/python/cpython/commit/ab61b4b980082d943887230e1d3d386e2411ceca
commit: ab61b4b980082d943887230e1d3d386e2411ceca
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: hugovk <[email protected]>
date: 2026-10-25T16:00:32+02:00
summary:

[3.15] gh-153319: Read turtledemo scripts with the source file's own encoding 
(GH-153321) (#157872)

Co-authored-by: tonghuaroot (童话) <[email protected]>
Co-authored-by: Serhiy Storchaka <[email protected]>
Co-authored-by: Terry Jan Reedy <[email protected]>

files:
A Misc/NEWS.d/next/Library/2026-07-08-19-40-00.gh-issue-153319.Qk7bE2.rst
M Lib/turtledemo/__main__.py

diff --git a/Lib/turtledemo/__main__.py b/Lib/turtledemo/__main__.py
index 7c2d753f4c31113..cffc08f59b99d26 100644
--- a/Lib/turtledemo/__main__.py
+++ b/Lib/turtledemo/__main__.py
@@ -333,7 +333,7 @@ def loadfile(self, filename):
         modname = 'turtledemo.' + filename
         __import__(modname)
         self.module = sys.modules[modname]
-        with open(self.module.__file__, 'r') as f:
+        with open(self.module.__file__, encoding='utf-8') as f:
             chars = f.read()
         self.text.delete("1.0", "end")
         self.text.insert("1.0", chars)
diff --git 
a/Misc/NEWS.d/next/Library/2026-07-08-19-40-00.gh-issue-153319.Qk7bE2.rst 
b/Misc/NEWS.d/next/Library/2026-07-08-19-40-00.gh-issue-153319.Qk7bE2.rst
new file mode 100644
index 000000000000000..95f8e2fb7f4f8be
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-07-08-19-40-00.gh-issue-153319.Qk7bE2.rst
@@ -0,0 +1,2 @@
+The :mod:`turtledemo` viewer now reads each demo script as UTF-8 instead of
+the locale encoding.

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to