diff options
author | Raymond Hettinger <python@rcn.com> | 2007-03-21 20:36:45 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2007-03-21 20:36:45 (GMT) |
commit | 7ed0a6583188e3fdfd8912f05a5219771c419cf1 (patch) | |
tree | df6721bdc767ed51179775dc486b5e5a519c8295 | |
parent | e1b4a7e1f90f879d194dd48dfef8a1c8a187faad (diff) | |
download | cpython-7ed0a6583188e3fdfd8912f05a5219771c419cf1.zip cpython-7ed0a6583188e3fdfd8912f05a5219771c419cf1.tar.gz cpython-7ed0a6583188e3fdfd8912f05a5219771c419cf1.tar.bz2 |
Test and fix fromkeys optional argument.
-rw-r--r-- | Lib/test/test_set.py | 3 | ||||
-rw-r--r-- | Objects/dictobject.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py index b46cac4..ef7cea7 100644 --- a/Lib/test/test_set.py +++ b/Lib/test/test_set.py @@ -293,6 +293,9 @@ class TestJointOps(unittest.TestCase): self.assertEqual(sum(elem.hash_count for elem in d), n) d3 = dict.fromkeys(frozenset(d)) self.assertEqual(sum(elem.hash_count for elem in d), n) + d3 = dict.fromkeys(frozenset(d), 123) + self.assertEqual(sum(elem.hash_count for elem in d), n) + self.assertEqual(d3, dict.fromkeys(d, 123)) class TestSet(TestJointOps): thetype = set diff --git a/Objects/dictobject.c b/Objects/dictobject.c index acf5ae3..bc3cd53 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -1186,8 +1186,8 @@ dict_fromkeys(PyObject *cls, PyObject *args) while (_PySet_NextEntry(seq, &pos, &key, &hash)) { Py_INCREF(key); - Py_INCREF(Py_None); - if (insertdict(mp, key, hash, Py_None)) + Py_INCREF(value); + if (insertdict(mp, key, hash, value)) return NULL; } return d; |