aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Python/sysmodule.c
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.com>2024-10-27 10:52:33 +0300
committershadchin <shadchin@yandex-team.com>2024-10-27 11:03:47 +0300
commit1529383373617c6d14ad4972afdc46a5eb35f954 (patch)
tree229b7647fafadd4ee4b93d20e606c534ad697365 /contrib/tools/python3/Python/sysmodule.c
parent41d598c624442bf6918407466dac3316b8277347 (diff)
downloadydb-1529383373617c6d14ad4972afdc46a5eb35f954.tar.gz
Update Python 3 to 3.12.7
commit_hash:052a122399d67f1ea5dfbc5f6457e3e06200becf
Diffstat (limited to 'contrib/tools/python3/Python/sysmodule.c')
-rw-r--r--contrib/tools/python3/Python/sysmodule.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/contrib/tools/python3/Python/sysmodule.c b/contrib/tools/python3/Python/sysmodule.c
index edc66cc69e..7240f8e4e1 100644
--- a/contrib/tools/python3/Python/sysmodule.c
+++ b/contrib/tools/python3/Python/sysmodule.c
@@ -722,7 +722,7 @@ sys_displayhook(PyObject *module, PyObject *o)
if (o == Py_None) {
Py_RETURN_NONE;
}
- if (PyObject_SetAttr(builtins, &_Py_ID(_), Py_None) != 0)
+ if (PyObject_SetAttr(builtins, _Py_LATIN1_CHR('_'), Py_None) != 0)
return NULL;
outf = _PySys_GetAttr(tstate, &_Py_ID(stdout));
if (outf == NULL || outf == Py_None) {
@@ -744,10 +744,9 @@ sys_displayhook(PyObject *module, PyObject *o)
return NULL;
}
}
- _Py_DECLARE_STR(newline, "\n");
- if (PyFile_WriteObject(&_Py_STR(newline), outf, Py_PRINT_RAW) != 0)
+ if (PyFile_WriteObject(_Py_LATIN1_CHR('\n'), outf, Py_PRINT_RAW) != 0)
return NULL;
- if (PyObject_SetAttr(builtins, &_Py_ID(_), o) != 0)
+ if (PyObject_SetAttr(builtins, _Py_LATIN1_CHR('_'), o) != 0)
return NULL;
Py_RETURN_NONE;
}
@@ -927,8 +926,9 @@ sys_intern_impl(PyObject *module, PyObject *s)
/*[clinic end generated code: output=be680c24f5c9e5d6 input=849483c006924e2f]*/
{
if (PyUnicode_CheckExact(s)) {
+ PyInterpreterState *interp = _PyInterpreterState_GET();
Py_INCREF(s);
- PyUnicode_InternInPlace(&s);
+ _PyUnicode_InternMortal(interp, &s);
return s;
}
else {
@@ -1918,14 +1918,22 @@ sys_getallocatedblocks_impl(PyObject *module)
/*[clinic input]
sys.getunicodeinternedsize -> Py_ssize_t
+ *
+ _only_immortal: bool = False
+
Return the number of elements of the unicode interned dictionary
[clinic start generated code]*/
static Py_ssize_t
-sys_getunicodeinternedsize_impl(PyObject *module)
-/*[clinic end generated code: output=ad0e4c9738ed4129 input=726298eaa063347a]*/
+sys_getunicodeinternedsize_impl(PyObject *module, int _only_immortal)
+/*[clinic end generated code: output=29a6377a94a14f70 input=0330b3408dd5bcc6]*/
{
- return _PyUnicode_InternedSize();
+ if (_only_immortal) {
+ return _PyUnicode_InternedSize_Immortal();
+ }
+ else {
+ return _PyUnicode_InternedSize();
+ }
}
/*[clinic input]