summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-10-02 12:49:00 (GMT)
committerGitHub <noreply@github.com>2020-10-02 12:49:00 (GMT)
commit583ee5a5b1971a18ebeb877948ce6264da0cc8aa (patch)
tree451200b8c5eb5609f480db4a59fd068daa0207b7 /Objects
parent497126f7ea955ee005e78f2cdd61f175d4fcdbb2 (diff)
downloadcpython-583ee5a5b1971a18ebeb877948ce6264da0cc8aa.zip
cpython-583ee5a5b1971a18ebeb877948ce6264da0cc8aa.tar.gz
cpython-583ee5a5b1971a18ebeb877948ce6264da0cc8aa.tar.bz2
bpo-41692: Deprecate PyUnicode_InternImmortal() (GH-22486)
The PyUnicode_InternImmortal() function is now deprecated and will be removed in Python 3.12: use PyUnicode_InternInPlace() instead.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/unicodeobject.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index f32ab41..cf72238 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -15764,6 +15764,15 @@ PyUnicode_InternInPlace(PyObject **p)
void
PyUnicode_InternImmortal(PyObject **p)
{
+ if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "PyUnicode_InternImmortal() is deprecated; "
+ "use PyUnicode_InternInPlace() instead", 1) < 0)
+ {
+ // The function has no return value, the exception cannot
+ // be reported to the caller, so just log it.
+ PyErr_WriteUnraisable(NULL);
+ }
+
PyUnicode_InternInPlace(p);
if (PyUnicode_CHECK_INTERNED(*p) != SSTATE_INTERNED_IMMORTAL) {
_PyUnicode_STATE(*p).interned = SSTATE_INTERNED_IMMORTAL;