From 8861b74445560c078d11ff6800a3ce20a869ea93 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 30 Jul 1996 16:49:37 +0000 Subject: Changes for slice and ellipses --- Python/bltinmodule.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'Python/bltinmodule.c') diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 3a3fe56f50..00e02de823 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -879,6 +879,28 @@ builtin_list(self, args) return NULL; } + +static PyObject * +builtin_slice(self, args) + PyObject *self; + PyObject *args; +{ + PyObject *start, *stop, *step; + + start = stop = step = NULL; + + if (!PyArg_ParseTuple(args, "O|OO:slice", &start, &stop, &step)) + return NULL; + + /*This swapping of stop and start is to maintain compatibility with + the range builtin.*/ + if (stop == NULL) { + stop = start; + start = NULL; + } + return PySlice_New(start, stop, step); +} + static object * builtin_locals(self, args) object *self; @@ -1514,6 +1536,7 @@ static struct methodlist builtin_methods[] = { {"repr", builtin_repr, 1}, {"round", builtin_round, 1}, {"setattr", builtin_setattr, 1}, + {"slice", builtin_slice, 1}, {"str", builtin_str, 1}, {"tuple", builtin_tuple, 1}, {"type", builtin_type, 1}, -- cgit v1.2.1