Test and fix fromkeys optional argument.
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 @@
         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 @@
 
 		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;