https://github.com/python/cpython/commit/7586115ce3adeb9133717f0a721fb05621dd6700
commit: 7586115ce3adeb9133717f0a721fb05621dd6700
branch: main
author: aaron-fl <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-08-13T12:28:51+03:00
summary:

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

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 cf31eae5365b6e..d5541ab41f38d4 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -285,7 +285,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 9316e935949958..4a3f6482294e08 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -426,6 +426,7 @@ Hauke Dämpfling
 Evan Dandrea
 Eric Daniel
 Scott David Daniels
+Aaron Davidson
 Derzsi Dániel
 Lawrence D'Anna
 Steven D'Aprano
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