@@ -34,15 +34,16 @@ internal_bisect_right(PyObject *list, PyObject *item, int lo, int hi)
3434}
3535
3636static PyObject *
37- bisect_right (PyObject * self , PyObject * args )
37+ bisect_right (PyObject * self , PyObject * args , PyObject * kw )
3838{
3939 PyObject * list , * item ;
4040 int lo = 0 ;
4141 int hi = -1 ;
4242 int index ;
43+ static char * keywords [] = {"a" , "x" , "lo" , "hi" , NULL };
4344
44- if (!PyArg_ParseTuple (args , "OO|ii:bisect_right" ,
45- & list , & item , & lo , & hi ))
45+ if (!PyArg_ParseTupleAndKeywords (args , kw , "OO|ii:bisect_right" ,
46+ keywords , & list , & item , & lo , & hi ))
4647 return NULL ;
4748 index = internal_bisect_right (list , item , lo , hi );
4849 if (index < 0 )
@@ -51,7 +52,7 @@ bisect_right(PyObject *self, PyObject *args)
5152}
5253
5354PyDoc_STRVAR (bisect_right_doc ,
54- "bisect_right(list, item [, lo[, hi]]) -> index\n\
55+ "bisect_right(a, x [, lo[, hi]]) -> index\n\
5556\n\
5657Return the index where to insert item x in list a, assuming a is sorted.\n\
5758\n\
@@ -63,15 +64,16 @@ Optional args lo (default 0) and hi (default len(a)) bound the\n\
6364slice of a to be searched.\n" );
6465
6566static PyObject *
66- insort_right (PyObject * self , PyObject * args )
67+ insort_right (PyObject * self , PyObject * args , PyObject * kw )
6768{
6869 PyObject * list , * item , * result ;
6970 int lo = 0 ;
7071 int hi = -1 ;
7172 int index ;
73+ static char * keywords [] = {"a" , "x" , "lo" , "hi" , NULL };
7274
73- if (!PyArg_ParseTuple (args , "OO|ii:insort_right" ,
74- & list , & item , & lo , & hi ))
75+ if (!PyArg_ParseTupleAndKeywords (args , kw , "OO|ii:insort_right" ,
76+ keywords , & list , & item , & lo , & hi ))
7577 return NULL ;
7678 index = internal_bisect_right (list , item , lo , hi );
7779 if (index < 0 )
@@ -91,7 +93,7 @@ insort_right(PyObject *self, PyObject *args)
9193}
9294
9395PyDoc_STRVAR (insort_right_doc ,
94- "insort_right(list, item [, lo[, hi]])\n\
96+ "insort_right(a, x [, lo[, hi]])\n\
9597\n\
9698Insert item x in list a, and keep it sorted assuming a is sorted.\n\
9799\n\
@@ -129,15 +131,16 @@ internal_bisect_left(PyObject *list, PyObject *item, int lo, int hi)
129131}
130132
131133static PyObject *
132- bisect_left (PyObject * self , PyObject * args )
134+ bisect_left (PyObject * self , PyObject * args , PyObject * kw )
133135{
134136 PyObject * list , * item ;
135137 int lo = 0 ;
136138 int hi = -1 ;
137139 int index ;
140+ static char * keywords [] = {"a" , "x" , "lo" , "hi" , NULL };
138141
139- if (!PyArg_ParseTuple (args , "OO|ii:bisect_left" ,
140- & list , & item , & lo , & hi ))
142+ if (!PyArg_ParseTupleAndKeywords (args , kw , "OO|ii:bisect_left" ,
143+ keywords , & list , & item , & lo , & hi ))
141144 return NULL ;
142145 index = internal_bisect_left (list , item , lo , hi );
143146 if (index < 0 )
@@ -146,7 +149,7 @@ bisect_left(PyObject *self, PyObject *args)
146149}
147150
148151PyDoc_STRVAR (bisect_left_doc ,
149- "bisect_left(list, item [, lo[, hi]]) -> index\n\
152+ "bisect_left(a, x [, lo[, hi]]) -> index\n\
150153\n\
151154Return the index where to insert item x in list a, assuming a is sorted.\n\
152155\n\
@@ -158,15 +161,16 @@ Optional args lo (default 0) and hi (default len(a)) bound the\n\
158161slice of a to be searched.\n" );
159162
160163static PyObject *
161- insort_left (PyObject * self , PyObject * args )
164+ insort_left (PyObject * self , PyObject * args , PyObject * kw )
162165{
163166 PyObject * list , * item , * result ;
164167 int lo = 0 ;
165168 int hi = -1 ;
166169 int index ;
170+ static char * keywords [] = {"a" , "x" , "lo" , "hi" , NULL };
167171
168- if (!PyArg_ParseTuple (args , "OO|ii:insort_left" ,
169- & list , & item , & lo , & hi ))
172+ if (!PyArg_ParseTupleAndKeywords (args , kw , "OO|ii:insort_left" ,
173+ keywords , & list , & item , & lo , & hi ))
170174 return NULL ;
171175 index = internal_bisect_left (list , item , lo , hi );
172176 if (index < 0 )
@@ -186,7 +190,7 @@ insort_left(PyObject *self, PyObject *args)
186190}
187191
188192PyDoc_STRVAR (insort_left_doc ,
189- "insort_left(list, item [, lo[, hi]])\n\
193+ "insort_left(a, x [, lo[, hi]])\n\
190194\n\
191195Insert item x in list a, and keep it sorted assuming a is sorted.\n\
192196\n\
@@ -200,17 +204,17 @@ PyDoc_STRVAR(insort_doc, "Alias for insort_right().\n");
200204
201205static PyMethodDef bisect_methods [] = {
202206 {"bisect_right" , (PyCFunction )bisect_right ,
203- METH_VARARGS , bisect_right_doc },
207+ METH_VARARGS | METH_KEYWORDS , bisect_right_doc },
204208 {"bisect" , (PyCFunction )bisect_right ,
205- METH_VARARGS , bisect_doc },
209+ METH_VARARGS | METH_KEYWORDS , bisect_doc },
206210 {"insort_right" , (PyCFunction )insort_right ,
207- METH_VARARGS , insort_right_doc },
211+ METH_VARARGS | METH_KEYWORDS , insort_right_doc },
208212 {"insort" , (PyCFunction )insort_right ,
209- METH_VARARGS , insort_doc },
213+ METH_VARARGS | METH_KEYWORDS , insort_doc },
210214 {"bisect_left" , (PyCFunction )bisect_left ,
211- METH_VARARGS , bisect_left_doc },
215+ METH_VARARGS | METH_KEYWORDS , bisect_left_doc },
212216 {"insort_left" , (PyCFunction )insort_left ,
213- METH_VARARGS , insort_left_doc },
217+ METH_VARARGS | METH_KEYWORDS , insort_left_doc },
214218 {NULL , NULL } /* sentinel */
215219};
216220
0 commit comments