Fixed two silly bugs in the PEP252 support code, added an assert
that basechain isn't set, and made the output a bit prettier.
diff --git a/Tools/bgen/bgen/bgenObjectDefinition.py b/Tools/bgen/bgen/bgenObjectDefinition.py
index d50490a..308d683 100644
--- a/Tools/bgen/bgen/bgenObjectDefinition.py
+++ b/Tools/bgen/bgen/bgenObjectDefinition.py
@@ -215,6 +215,7 @@
 		assert self.outputSetattr.im_func == PEP252Mixin.outputSetattr.im_func
 		assert self.outputGetattrBody == None
 		assert self.outputGetattrHook == None
+		assert self.basechain == "NULL"
 		
 	def outputGetattr(self):
 		pass
@@ -293,24 +294,28 @@
 					self.outputGetter(name, get)
 				else:
 					Output("#define %s_get_%s NULL", self.prefix, name)
+					Output()
 				if set:
 					self.outputSetter(name, set)
 				else:
 					Output("#define %s_set_%s NULL", self.prefix, name)
+					Output()
 					
 			Output("static PyGetSetDef %s_getsetlist[] = {", self.prefix)
 			IndentLevel()
 			for name, get, set, doc in self.getsetlist:
 				if doc:
-					doc = `doc`
+					doc = '"' + doc + '"'
 				else:
 					doc = "NULL"
-				Output("{\"%s\", (getter)%s_get_%s, (setter)%s_set_%s, %s}", 
+				Output("{\"%s\", (getter)%s_get_%s, (setter)%s_set_%s, %s},", 
 					name, self.prefix, name, self.prefix, name, doc)
+			Output("{NULL, NULL, NULL, NULL},")
 			DedentLevel()
 			Output("};")
 		else:
 			Output("#define %s_getsetlist NULL", self.prefix)
+		Output()
 			
 	def outputGetter(self, name, code):
 		Output("static PyObject *%s_get_%s(%s *self, void *closure)",
@@ -318,14 +323,16 @@
 		OutLbrace()
 		Output(code)
 		OutRbrace()
+		Output()
 		
 	def outputSetter(self, name, code):
-		Output("static int %s_get_%s(%s *self, PyObject *v, void *closure)",
+		Output("static int %s_set_%s(%s *self, PyObject *v, void *closure)",
 			self.prefix, name, self.objecttype)
 		OutLbrace()
 		Output(code)
 		Output("return 0;")
 		OutRbrace()
+		Output()
 
 class GlobalObjectDefinition(ObjectDefinition):
 	"""Like ObjectDefinition but exports some parts.