Sometimes a class is used as a base class of itself. Obviously there's
something I don't understand, but for now ignore this.

Output the file name such that it cannot contain non-ascii characters.
diff --git a/Mac/scripts/gensuitemodule.py b/Mac/scripts/gensuitemodule.py
index 4eca8af..ab16e9f 100644
--- a/Mac/scripts/gensuitemodule.py
+++ b/Mac/scripts/gensuitemodule.py
@@ -409,7 +409,7 @@
 	fp = open(initfilename, 'w')
 	MacOS.SetCreatorAndType(initfilename, 'Pyth', 'TEXT')
 	fp.write('"""\n')
-	fp.write("Package generated from %s\n"%fname)
+	fp.write("Package generated from %s\n"%ascii(fname))
 	if resinfo:
 		fp.write("Resource %s resid %d %s\n"%(ascii(resinfo[1]), resinfo[0], ascii(resinfo[2])))
 	fp.write('"""\n')
@@ -913,7 +913,11 @@
 		for superclass in superclasses:
 			superId, superDesc, dummy = superclass
 			superclassname, fullyqualifiedname, module = self.findcodename("class", superId)
-			superclassnames.append(superclassname)
+			# I don't think this is correct:
+			if superclassname == cname:
+				pass # superclassnames.append(fullyqualifiedname)
+			else:
+				superclassnames.append(superclassname)
 
 		if self.fp:
 			self.fp.write("%s._superclassnames = %s\n"%(cname, `superclassnames`))