﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
574	SystemError: error return without exception set	rblank	hodgestar	"When `_speedups` is enabled:
{{{
#!pycon
>>> from genshi.core import Markup
>>> Markup(',').join(iter('abc'))
Traceback (most recent call last):
  File ""<stdin>"", line 1, in <module>
SystemError: error return without exception set
}}}
`Markup.join()` is documented as taking a sequence, so this is an invalid call. But it should raise a `TypeError` instead. Interestingly, this makes the method slightly incompatible with the pure-Python one, which accepts iterators.

The fix is something like:
{{{
#!diff
Index: genshi/_speedups.c
===================================================================
--- genshi/_speedups.c  (revision 1241)
+++ genshi/_speedups.c  (working copy)
@@ -251,6 +251,7 @@
         return NULL;
     }
     if (!PySequence_Check(seq)) {
+        PyErr_SetString(PyExc_TypeError, ""join() requires a sequence"");
         return NULL;
     }
     n = PySequence_Size(seq);
}}}"	defect	closed	major		General	devel	fixed		
