[pypy-svn] rev 2490 - pypy/trunk/src/pypy/objspace/std
pmaupin at codespeak.net
pmaupin at codespeak.net
Thu Dec 18 13:24:14 CET 2003
Author: pmaupin
Date: Thu Dec 18 13:24:13 2003
New Revision: 2490
Modified:
pypy/trunk/src/pypy/objspace/std/dicttype.py
Log:
Fix setdefault with one parameter, and popitem on empty dict
Modified: pypy/trunk/src/pypy/objspace/std/dicttype.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/dicttype.py (original)
+++ pypy/trunk/src/pypy/objspace/std/dicttype.py Thu Dec 18 13:24:13 2003
@@ -19,7 +19,7 @@
dict_get = MultiMethod('get', 3, defaults=(None,))
dict_pop = MultiMethod('pop', 2, varargs=True)
dict_popitem = MultiMethod('popitem', 1)
- dict_setdefault = MultiMethod('setdefault', 3)
+ dict_setdefault = MultiMethod('setdefault', 3, defaults=(None,))
dict_update = MultiMethod('update', 2)
dict_iteritems = MultiMethod('iteritems', 1)
dict_iterkeys = MultiMethod('iterkeys', 1)
@@ -41,7 +41,10 @@
d[k] = o[k]
def app_dict_popitem__ANY(d):
- k = d.keys()[0]
+ k = d.keys()
+ if not k:
+ raise KeyError("popitem(): dictionary is empty")
+ k = k[0]
v = d[k]
del d[k]
return k, v
More information about the Pypy-commit
mailing list