mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
bpo-28974: object.__format__(x, '') is now equivalent to str(x) (#506)
rather than `format(str(self), '')`.
This commit is contained in:
parent
a66f9c6bb1
commit
7e19dbc92e
4 changed files with 12 additions and 9 deletions
|
|
@ -4493,9 +4493,6 @@ static PyObject *
|
|||
object___format___impl(PyObject *self, PyObject *format_spec)
|
||||
/*[clinic end generated code: output=34897efb543a974b input=7c3b3bc53a6fb7fa]*/
|
||||
{
|
||||
PyObject *self_as_str = NULL;
|
||||
PyObject *result = NULL;
|
||||
|
||||
/* Issue 7994: If we're converting to a string, we
|
||||
should reject format specifications */
|
||||
if (PyUnicode_GET_LENGTH(format_spec) > 0) {
|
||||
|
|
@ -4504,12 +4501,7 @@ object___format___impl(PyObject *self, PyObject *format_spec)
|
|||
self->ob_type->tp_name);
|
||||
return NULL;
|
||||
}
|
||||
self_as_str = PyObject_Str(self);
|
||||
if (self_as_str != NULL) {
|
||||
result = PyObject_Format(self_as_str, format_spec);
|
||||
Py_DECREF(self_as_str);
|
||||
}
|
||||
return result;
|
||||
return PyObject_Str(self);
|
||||
}
|
||||
|
||||
/*[clinic input]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue