Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Macmodule and macosmodule have also been carbonified. Some functionality is still missing there.
diff --git a/Mac/Modules/qd/Qdmodule.c b/Mac/Modules/qd/Qdmodule.c
index 299c9ca..a5e6871 100644
--- a/Mac/Modules/qd/Qdmodule.c
+++ b/Mac/Modules/qd/Qdmodule.c
@@ -141,6 +141,7 @@
 	GrafPortObject *self;
 	char *name;
 {
+#ifndef TARGET_API_MAC_CARBON
 
 			{	CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
 			
@@ -218,6 +219,7 @@
 				if ( strcmp(name, "_id") == 0 )
 					return Py_BuildValue("l", (long)self->ob_itself);
 			}
+#endif
 	return Py_FindMethodInChain(&GrafObj_chain, (PyObject *)self, name);
 }
 
@@ -424,6 +426,7 @@
 	QDGlobalsAccessObject *self;
 	char *name;
 {
+#ifndef TARGET_API_MAC_CARBON
 
 		if ( strcmp(name, "arrow") == 0 )
 			return PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow));
@@ -444,6 +447,7 @@
 		if ( strcmp(name, "randSeed") == 0 ) 
 			return Py_BuildValue("l", &qd.randSeed);
 			
+#endif
 	return Py_FindMethodInChain(&QDGA_chain, (PyObject *)self, name);
 }
 
diff --git a/Mac/Modules/qd/qdsupport.py b/Mac/Modules/qd/qdsupport.py
index 33e8832..671b359 100644
--- a/Mac/Modules/qd/qdsupport.py
+++ b/Mac/Modules/qd/qdsupport.py
@@ -132,6 +132,7 @@
 		Output("return 1;")
 		OutRbrace()
 	def outputGetattrHook(self):
+		Output("#ifndef TARGET_API_MAC_CARBON")
 		Output("""
 		{	CGrafPtr itself_color = (CGrafPtr)self->ob_itself;
 		
@@ -209,6 +210,7 @@
 			if ( strcmp(name, "_id") == 0 )
 				return Py_BuildValue("l", (long)self->ob_itself);
 		}""")
+		Output("#endif")
 
 class MyBMObjectDefinition(GlobalObjectDefinition):
 	def outputCheckNewArg(self):
@@ -259,6 +261,7 @@
 		pass
 
 	def outputGetattrHook(self):
+		Output("#ifndef TARGET_API_MAC_CARBON")
 		Output("""
 	if ( strcmp(name, "arrow") == 0 )
 		return PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow));
@@ -279,6 +282,7 @@
 	if ( strcmp(name, "randSeed") == 0 ) 
 		return Py_BuildValue("l", &qd.randSeed);
 		""")
+		Output("#endif")
 
 # Create the generator groups and link them
 module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff, variablestuff)