[Python-checkins] r63370 - in python/trunk: Lib/test/test_enumerate.py Objects/enumobject.c

georg.brandl python-checkins at python.org
Fri May 16 15:24:29 CEST 2008


Author: georg.brandl
Date: Fri May 16 15:24:29 2008
New Revision: 63370

Log:
Don't allow keyword arguments to reversed().


Modified:
   python/trunk/Lib/test/test_enumerate.py
   python/trunk/Objects/enumobject.c

Modified: python/trunk/Lib/test/test_enumerate.py
==============================================================================
--- python/trunk/Lib/test/test_enumerate.py	(original)
+++ python/trunk/Lib/test/test_enumerate.py	Fri May 16 15:24:29 2008
@@ -138,6 +138,8 @@
         for data in 'abc', range(5), tuple(enumerate('abc')), A(), xrange(1,17,5):
             self.assertEqual(list(data)[::-1], list(reversed(data)))
         self.assertRaises(TypeError, reversed, {})
+        # don't allow keyword arguments
+        self.assertRaises(TypeError, reversed, [], a=1)
 
     def test_xrange_optimization(self):
         x = xrange(1)

Modified: python/trunk/Objects/enumobject.c
==============================================================================
--- python/trunk/Objects/enumobject.c	(original)
+++ python/trunk/Objects/enumobject.c	Fri May 16 15:24:29 2008
@@ -224,7 +224,10 @@
 	PyObject *seq;
 	reversedobject *ro;
 
-	if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq))
+	if (type == &PyReversed_Type && !_PyArg_NoKeywords("reversed()", kwds))
+		return NULL;
+
+	if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq) )
 		return NULL;
 
 	if (PyObject_HasAttrString(seq, "__reversed__"))


More information about the Python-checkins mailing list