changeset: 91959:02d6d3a7a181 user: Terry Jan Reedy date: Sat Aug 02 01:30:37 2014 -0400 files: Lib/test/list_tests.py Lib/test/test_bytes.py Lib/test/test_tuple.py Misc/NEWS Objects/bytearrayobject.c Objects/bytesobject.c Objects/listobject.c Objects/tupleobject.c description: Issue #22077: Improve index error messages for bytearrays, bytes, lists, and tuples by adding 'or slices'. Added ', not tp_name); return NULL; } } @@ -650,7 +652,9 @@ } } else { - PyErr_SetString(PyExc_TypeError, "bytearray indices must be integer"); + PyErr_Format(PyExc_TypeError, + "bytearray indices must be integers or slices, not %.200s", + Py_TYPE(index)->tp_name); return -1; } diff -r 2c70897e5f98 -r 02d6d3a7a181 Objects/bytesobject.c --- a/Objects/bytesobject.c Fri Aug 01 21:57:49 2014 +0100 +++ b/Objects/bytesobject.c Sat Aug 02 01:30:37 2014 -0400 @@ -999,7 +999,7 @@ } else { PyErr_Format(PyExc_TypeError, - "byte indices must be integers, not %.200s", + "byte indices must be integers or slices, not %.200s", Py_TYPE(item)->tp_name); return NULL; } diff -r 2c70897e5f98 -r 02d6d3a7a181 Objects/listobject.c --- a/Objects/listobject.c Fri Aug 01 21:57:49 2014 +0100 +++ b/Objects/listobject.c Sat Aug 02 01:30:37 2014 -0400 @@ -2444,7 +2444,7 @@ } else { PyErr_Format(PyExc_TypeError, - "list indices must be integers, not %.200s", + "list indices must be integers or slices, not %.200s", item->ob_type->tp_name); return NULL; } @@ -2608,7 +2608,7 @@ } else { PyErr_Format(PyExc_TypeError, - "list indices must be integers, not %.200s", + "list indices must be integers or slices, not %.200s", item->ob_type->tp_name); return -1; } diff -r 2c70897e5f98 -r 02d6d3a7a181 Objects/tupleobject.c --- a/Objects/tupleobject.c Fri Aug 01 21:57:49 2014 +0100 +++ b/Objects/tupleobject.c Sat Aug 02 01:30:37 2014 -0400 @@ -746,7 +746,7 @@ } else { PyErr_Format(PyExc_TypeError, - "tuple indices must be integers, not %.200s", + "tuple indices must be integers or slices, not %.200s", Py_TYPE(item)->tp_name); return NULL; }