https://github.com/python/cpython/commit/e174896a55498b08ca88ed96e039641cbd6042e5
commit: e174896a55498b08ca88ed96e039641cbd6042e5
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-08-13T09:58:44Z
summary:

[3.14] gh-102967: Don't pass None to seek(), simply truncate from the current 
position (GH-102968) (GH-155665)

(cherry picked from commit 7586115ce3adeb9133717f0a721fb05621dd6700)

Co-authored-by: aaron-fl <[email protected]>

files:
A Misc/NEWS.d/next/Library/2023-03-23-19-47-05.gh-issue-102967.gfIYkN.rst
M Lib/doctest.py
M Misc/ACKS

diff --git a/Lib/doctest.py b/Lib/doctest.py
index 84951f46bf52bf..071124d060a520 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -291,7 +291,8 @@ def getvalue(self):
         return result
 
     def truncate(self, size=None):
-        self.seek(size)
+        if size is not None:
+            self.seek(size)
         StringIO.truncate(self)
 
 # Worst-case linear-time ellipsis matching.
diff --git a/Misc/ACKS b/Misc/ACKS
index c39e91c853e9e3..04401cf87ca6e4 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -419,6 +419,7 @@ Lars Damerow
 Evan Dandrea
 Eric Daniel
 Scott David Daniels
+Aaron Davidson
 Derzsi Dániel
 Lawrence D'Anna
 Ben Darnell
diff --git 
a/Misc/NEWS.d/next/Library/2023-03-23-19-47-05.gh-issue-102967.gfIYkN.rst 
b/Misc/NEWS.d/next/Library/2023-03-23-19-47-05.gh-issue-102967.gfIYkN.rst
new file mode 100644
index 00000000000000..677b8ee86e6c8f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-03-23-19-47-05.gh-issue-102967.gfIYkN.rst
@@ -0,0 +1,2 @@
+A bug in :func:`!doctest._SpoofOut.truncate` was causing None to be passed to 
:func:`!StringIO.seek` when no size was given.
+A simple fix skips the seek call when no size is given so the buffer can be 
truncated from the current position.

_______________________________________________
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