From: Petri Lehtinen Date: Sun, 6 Nov 2011 19:05:41 +0000 (+0200) Subject: Revert "Accept None as start and stop parameters for list.index() and tuple.index()" X-Git-Tag: v3.3.0a1~922 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9589ab174577773c48492b4e2ad596d4b9c3b120;p=python Revert "Accept None as start and stop parameters for list.index() and tuple.index()" Issue #13340. --- 9589ab174577773c48492b4e2ad596d4b9c3b120 diff --cc Misc/NEWS index 82edaa4f78,2923982755..7346348867 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -16,11 -13,6 +16,8 @@@ Core and Builtin - Issue #13342: input() used to ignore sys.stdin's and sys.stdout's unicode error handler in interactive mode (when calling into PyOS_Readline()). - - Issue #13340: Accept None as start and stop parameters for - list.index() and tuple.index(). - +- Issue #9896: Add start, stop, and step attributes to range objects. + - Issue #13343: Fix a SystemError when a lambda expression uses a global variable in the default value of a keyword-only argument: (lambda *, arg=GLOBAL_NAME: None) diff --cc Objects/listobject.c index cf4f2766d5,00de597e56..69a632d528 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@@ -2121,20 -2108,13 +2121,12 @@@ static PyObject listindex(PyListObject *self, PyObject *args) { Py_ssize_t i, start=0, stop=Py_SIZE(self); - PyObject *v, *format_tuple, *err_string; - static PyObject *err_format = NULL; + PyObject *v; - PyObject *start_obj = NULL, *stop_obj = NULL; - if (!PyArg_ParseTuple(args, "O|OO:index", &v, &start_obj, &stop_obj)) + if (!PyArg_ParseTuple(args, "O|O&O&:index", &v, + _PyEval_SliceIndex, &start, + _PyEval_SliceIndex, &stop)) return NULL; - - if (start_obj != Py_None) - if (!_PyEval_SliceIndex(start_obj, &start)) - return NULL; - - if (stop_obj != Py_None) - if (!_PyEval_SliceIndex(stop_obj, &stop)) - return NULL; - if (start < 0) { start += Py_SIZE(self); if (start < 0)