summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2014-02-09 02:00:01 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2014-02-09 02:00:01 (GMT)
commitc0bc0b46bb4849934a81fe46d057d40fb64d203e (patch)
treec8447ab66a6838a17f90eeb40259e6bf2063dbcb /Doc
parent0c3949c963c9f39095f85c5ec24d0f958e915ae9 (diff)
downloadcpython-c0bc0b46bb4849934a81fe46d057d40fb64d203e.zip
cpython-c0bc0b46bb4849934a81fe46d057d40fb64d203e.tar.gz
cpython-c0bc0b46bb4849934a81fe46d057d40fb64d203e.tar.bz2
Issue #20500: Note other public APIs with the new assertion
Diffstat (limited to 'Doc')
-rw-r--r--Doc/c-api/object.rst7
-rw-r--r--Doc/c-api/veryhigh.rst4
-rw-r--r--Doc/whatsnew/3.4.rst14
3 files changed, 18 insertions, 7 deletions
diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst
index 78c385e..ad84301 100644
--- a/Doc/c-api/object.rst
+++ b/Doc/c-api/object.rst
@@ -149,6 +149,9 @@ Object Protocol
representation on success, *NULL* on failure. This is the equivalent of the
Python expression ``repr(o)``. Called by the :func:`repr` built-in function.
+ .. versionchanged:: 3.4
+ This function now includes a debug assertion to help ensure that it
+ does not silently discard an active exception.
.. c:function:: PyObject* PyObject_ASCII(PyObject *o)
@@ -171,8 +174,8 @@ Object Protocol
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.
+ This function now includes a debug assertion to help ensure that it
+ does not silently discard an active exception.
.. c:function:: PyObject* PyObject_Bytes(PyObject *o)
diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst
index 9f21b89..f7ed4c7 100644
--- a/Doc/c-api/veryhigh.rst
+++ b/Doc/c-api/veryhigh.rst
@@ -322,6 +322,10 @@ the same library that the Python runtime is using.
it causes an exception to immediately be thrown; this is used for the
:meth:`~generator.throw` methods of generator objects.
+ .. versionchanged:: 3.4
+ This function now includes a debug assertion to help ensure that it
+ does not silently discard an active exception.
+
.. c:function:: int PyEval_MergeCompilerFlags(PyCompilerFlags *cf)
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 5da98da..720ea6e 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1708,12 +1708,16 @@ 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
+* :c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr(), and
+ :c:func:`PyObject_Str`, along with some other internal C APIs, now include
+ a debugging assertion that ensures they are not used in situations where
+ they may silently discard a currently active exception. 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.
+ because it has already been saved locally with :c:func:`PyErr_Fetch` or
+ is being deliberately replaced with a different exception), an explicit
+ :c:func:`PyErr_Clear` call will be needed to avoid triggering the
+ assertion when running against a version of Python that is compiled with
+ assertions enabled.
* :c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg**
argument is not set. Previously only ``NULL`` was returned with no exception