Bgen now understands more constant definitions, but that means that a few which are not parseable in Python have to be blacklisted.
diff --git a/Mac/Modules/ae/AEmodule.c b/Mac/Modules/ae/AEmodule.c
index 241cb5d..ebdb3e1 100644
--- a/Mac/Modules/ae/AEmodule.c
+++ b/Mac/Modules/ae/AEmodule.c
@@ -813,6 +813,12 @@
 
 #define AEDesc_setattr NULL
 
+#define AEDesc_compare NULL
+
+#define AEDesc_repr NULL
+
+#define AEDesc_hash NULL
+
 PyTypeObject AEDesc_Type = {
 	PyObject_HEAD_INIT(&PyType_Type)
 	0, /*ob_size*/
@@ -824,6 +830,12 @@
 	0, /*tp_print*/
 	(getattrfunc) AEDesc_getattr, /*tp_getattr*/
 	(setattrfunc) AEDesc_setattr, /*tp_setattr*/
+	(cmpfunc) AEDesc_compare, /*tp_compare*/
+	(reprfunc) AEDesc_repr, /*tp_repr*/
+	(PyNumberMethods *)0, /* tp_as_number */
+	(PySequenceMethods *)0, /* tp_as_sequence */
+	(PyMappingMethods *)0, /* tp_as_mapping */
+	(hashfunc) AEDesc_hash, /*tp_hash*/
 };
 
 /* --------------------- End object type AEDesc --------------------- */
diff --git a/Mac/Modules/ae/aescan.py b/Mac/Modules/ae/aescan.py
index c1f4251..b2174a8 100644
--- a/Mac/Modules/ae/aescan.py
+++ b/Mac/Modules/ae/aescan.py
@@ -70,6 +70,9 @@
 		return [
 			"AEDisposeDesc",
 #			"AEGetEventHandler",
+			# Constants with funny definitions
+			"kAEDontDisposeOnResume",
+			"kAEUseStandardDispatch",
 			]
 
 	def makeblacklisttypes(self):
diff --git a/Mac/Modules/evt/evtscan.py b/Mac/Modules/evt/evtscan.py
index 1f558ea..0a3ede0 100644
--- a/Mac/Modules/evt/evtscan.py
+++ b/Mac/Modules/evt/evtscan.py
@@ -39,7 +39,9 @@
 		return [
 			"KeyTranslate",
 			"GetEventMask",		# I cannot seem to find this routine...
-			"WaitNextEvent"		# Manually generated because of optional region
+			"WaitNextEvent",	# Manually generated because of optional region
+			# Constants with funny definitions
+			"osEvtMessageMask",
 			]
 
 	def makeblacklisttypes(self):
diff --git a/Mac/Modules/icn/icnscan.py b/Mac/Modules/icn/icnscan.py
index c8c2e6b..ee5a269 100644
--- a/Mac/Modules/icn/icnscan.py
+++ b/Mac/Modules/icn/icnscan.py
@@ -39,6 +39,10 @@
 		return [
 			"GetIconCacheData",
 			"SetIconCacheData",
+			# Constants with funny definitions
+			"kSelectorAllHugeData",
+			"kSelectorAllAvailableData",
+			"svAllAvailableData",
 			]
 
 	def makeblacklisttypes(self):
@@ -51,6 +55,9 @@
 	def makerepairinstructions(self):
 		return [
 			]
+
+	def writeinitialdefs(self):
+		self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
 			
 if __name__ == "__main__":
 	main()
diff --git a/Mac/Modules/snd/sndscan.py b/Mac/Modules/snd/sndscan.py
index 676c889..a190bfe 100644
--- a/Mac/Modules/snd/sndscan.py
+++ b/Mac/Modules/snd/sndscan.py
@@ -55,6 +55,10 @@
 			# And old calls that are no longer supported
 			'SetSoundVol',
 			'GetSoundVol',
+			# Constants with funny definitions
+			'rate48khz',
+			'rate44khz',
+			'kInvalidSource',
 
 			]
 
diff --git a/Mac/Modules/win/Winmodule.c b/Mac/Modules/win/Winmodule.c
index f895911..9542447 100644
--- a/Mac/Modules/win/Winmodule.c
+++ b/Mac/Modules/win/Winmodule.c
@@ -713,7 +713,7 @@
 	                            &outFile);
 	if (_err != noErr) return PyMac_Error(_err);
 	_res = Py_BuildValue("O&",
-	                     PyMac_BuildFSSpec, outFile);
+	                     PyMac_BuildFSSpec, &outFile);
 	return _res;
 }
 
diff --git a/Mac/Modules/win/winscan.py b/Mac/Modules/win/winscan.py
index d9ca18b..22f0d1a 100644
--- a/Mac/Modules/win/winscan.py
+++ b/Mac/Modules/win/winscan.py
@@ -41,6 +41,8 @@
 			'GetWindowProperty',
 			'GetWindowPropertySize',
 			'RemoveWindowProperty',
+			# Constants with funny definitions
+			'kMouseUpOutOfSlop',
 			]
 
 	def makeblacklisttypes(self):