summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2014-02-09 00:57:34 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2014-02-09 00:57:34 (GMT)
commit3d7b3641d3a97a2a3ee936f91fc3f9160c3d11f9 (patch)
treefef919219779e79bae02ce9b4261c85672cce134
parentd979e4335d02bee7301c2b2dec61fe2155fbae98 (diff)
downloadcpython-3d7b3641d3a97a2a3ee936f91fc3f9160c3d11f9.zip
cpython-3d7b3641d3a97a2a3ee936f91fc3f9160c3d11f9.tar.gz
cpython-3d7b3641d3a97a2a3ee936f91fc3f9160c3d11f9.tar.bz2
Note the new debug assertion in PyObject_Str
-rw-r--r--Doc/c-api/object.rst4
-rw-r--r--Doc/whatsnew/3.4.rst7
2 files changed, 11 insertions, 0 deletions
diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst
index be6d798..78c385e 100644
--- a/Doc/c-api/object.rst
+++ b/Doc/c-api/object.rst
@@ -170,6 +170,10 @@ Object Protocol
Python expression ``str(o)``. Called by the :func:`str` built-in function
and, therefore, by the :func:`print` function.
+ .. versionchanged:: 3.4
+ This function now includes a debug assertion that ensures it does not
+ silently discard an active exception.
+
.. c:function:: PyObject* PyObject_Bytes(PyObject *o)
.. index:: builtin: bytes
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 91fb03a..5da98da 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1708,6 +1708,13 @@ Changes in the Python API
Changes in the C API
--------------------
+* :c:func:`PyObject_Str` now includes a debug assertion that ensures it will
+ no longer silently discard currently active exceptions. In cases where
+ discarding the active exception is expected and desired (for example,
+ because it has already been saved locally with :c:func:`PyErr_Fetch`), an
+ explicit :c:func:`PyErr_Clear` call will be needed to avoid triggering the
+ assertion.
+
* :c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg**
argument is not set. Previously only ``NULL`` was returned with no exception
set.