Issue #20500: Note other public APIs with the new assertion
This commit is contained in:
parent
0c3949c963
commit
c0bc0b46bb
@ -149,6 +149,9 @@ Object Protocol
|
|||||||
representation on success, *NULL* on failure. This is the equivalent of the
|
representation on success, *NULL* on failure. This is the equivalent of the
|
||||||
Python expression ``repr(o)``. Called by the :func:`repr` built-in function.
|
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)
|
.. c:function:: PyObject* PyObject_ASCII(PyObject *o)
|
||||||
|
|
||||||
@ -171,8 +174,8 @@ Object Protocol
|
|||||||
and, therefore, by the :func:`print` function.
|
and, therefore, by the :func:`print` function.
|
||||||
|
|
||||||
.. versionchanged:: 3.4
|
.. versionchanged:: 3.4
|
||||||
This function now includes a debug assertion that ensures it does not
|
This function now includes a debug assertion to help ensure that it
|
||||||
silently discard an active exception.
|
does not silently discard an active exception.
|
||||||
|
|
||||||
.. c:function:: PyObject* PyObject_Bytes(PyObject *o)
|
.. c:function:: PyObject* PyObject_Bytes(PyObject *o)
|
||||||
|
|
||||||
|
@ -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
|
it causes an exception to immediately be thrown; this is used for the
|
||||||
:meth:`~generator.throw` methods of generator objects.
|
: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)
|
.. c:function:: int PyEval_MergeCompilerFlags(PyCompilerFlags *cf)
|
||||||
|
|
||||||
|
@ -1708,12 +1708,16 @@ Changes in the Python API
|
|||||||
Changes in the C API
|
Changes in the C API
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
* :c:func:`PyObject_Str` now includes a debug assertion that ensures it will
|
* :c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr(), and
|
||||||
no longer silently discard currently active exceptions. In cases where
|
: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,
|
discarding the active exception is expected and desired (for example,
|
||||||
because it has already been saved locally with :c:func:`PyErr_Fetch`), an
|
because it has already been saved locally with :c:func:`PyErr_Fetch` or
|
||||||
explicit :c:func:`PyErr_Clear` call will be needed to avoid triggering the
|
is being deliberately replaced with a different exception), an explicit
|
||||||
assertion.
|
: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**
|
* :c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg**
|
||||||
argument is not set. Previously only ``NULL`` was returned with no exception
|
argument is not set. Previously only ``NULL`` was returned with no exception
|
||||||
|
Loading…
x
Reference in New Issue
Block a user