adding passing test. testing for g(*Nothing()) where Nothing is a user-defined iterator.
diff --git a/Lib/test/output/test_extcall b/Lib/test/output/test_extcall
index 15a5c65..cb93b0d 100644
--- a/Lib/test/output/test_extcall
+++ b/Lib/test/output/test_extcall
@@ -17,6 +17,7 @@
 1 (2, 3) {}
 1 (2, 3, 4, 5) {}
 0 (1, 2) {}
+0 (1, 2, 3) {}
 1 () {'a': 1, 'b': 2, 'c': 3, 'd': 4}
 {'a': 1, 'b': 2, 'c': 3}
 {'a': 1, 'b': 2, 'c': 3}
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index f85baf8..284dbb2 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -86,6 +86,31 @@
             raise IndexError, i
 g(*Nothing())
 
+class Nothing:
+    def __init__(self):
+        self.c = 0
+    def __iter__(self):
+        return self
+try:
+    g(*Nothing())
+except TypeError, attr:
+    pass
+else:
+    print "should raise TypeError"
+
+class Nothing:
+    def __init__(self):
+        self.c = 0
+    def __iter__(self):
+        return self
+    def next(self):
+        if self.c == 4:
+            raise StopIteration
+        c = self.c
+        self.c += 1
+        return c
+g(*Nothing())
+
 # make sure the function call doesn't stomp on the dictionary?
 d = {'a': 1, 'b': 2, 'c': 3}
 d2 = d.copy()