diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 8bc97f7fc335..091ede7ef00f 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -2939,8 +2939,9 @@ PyString_Format(PyObject *format, PyObject *args) break; default: PyErr_Format(PyExc_ValueError, - "unsupported format character '%c' (0x%x)", - c, c); + "unsupported format character '%c' (0x%x) " + "at index %i", + c, c, fmt - 1 - PyString_AsString(format)); goto error; } if (sign) { diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index a297cac4dd20..5ee72bd128df 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -5067,8 +5067,9 @@ PyObject *PyUnicode_Format(PyObject *format, default: PyErr_Format(PyExc_ValueError, - "unsupported format character '%c' (0x%x)", - c, c); + "unsupported format character '%c' (0x%x) " + "at index %i", + c, c, fmt -1 - PyUnicode_AS_UNICODE(uformat)); goto onError; } if (sign) {