- Issue #6939: Fix file I/O objects in the `io` module to keep the original
  file position when calling `truncate()`.  It would previously change the
  file position to the given argument, which goes against the tradition of
  ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 91fecae..90a4c09 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -2313,15 +2313,7 @@
         return NULL;
     Py_DECREF(res);
 
-    if (pos != Py_None) {
-        res = PyObject_CallMethodObjArgs((PyObject *) self,
-                                          _PyIO_str_seek, pos, NULL);
-        if (res == NULL)
-            return NULL;
-        Py_DECREF(res);
-    }
-
-    return PyObject_CallMethodObjArgs(self->buffer, _PyIO_str_truncate, NULL);
+    return PyObject_CallMethodObjArgs(self->buffer, _PyIO_str_truncate, pos, NULL);
 }
 
 static PyObject *