diff --git a/Mac/Include/macbuildno.h b/Mac/Include/macbuildno.h
index 40de214..064f561 100644
--- a/Mac/Include/macbuildno.h
+++ b/Mac/Include/macbuildno.h
@@ -1 +1 @@
-#define BUILD 41
+#define BUILD 42
diff --git a/Mac/Lib/lib-toolbox/AEDataModel.py b/Mac/Lib/lib-toolbox/AEDataModel.py
index 5173863..7a2260e 100644
--- a/Mac/Lib/lib-toolbox/AEDataModel.py
+++ b/Mac/Lib/lib-toolbox/AEDataModel.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AEDataModel.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AEDataModel.h'
 
 def FOUR_CHAR_CODE(x): return x
 typeBoolean = FOUR_CHAR_CODE('bool')
diff --git a/Mac/Lib/lib-toolbox/AEObjects.py b/Mac/Lib/lib-toolbox/AEObjects.py
index 7d4f28e..1b48998 100644
--- a/Mac/Lib/lib-toolbox/AEObjects.py
+++ b/Mac/Lib/lib-toolbox/AEObjects.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AEObjects.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AEObjects.h'
 
 def FOUR_CHAR_CODE(x): return x
 kAEAND = FOUR_CHAR_CODE('AND ')
diff --git a/Mac/Lib/lib-toolbox/AERegistry.py b/Mac/Lib/lib-toolbox/AERegistry.py
index 0211ac0..a511ef1 100644
--- a/Mac/Lib/lib-toolbox/AERegistry.py
+++ b/Mac/Lib/lib-toolbox/AERegistry.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AERegistry.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AERegistry.h'
 
 def FOUR_CHAR_CODE(x): return x
 from AEDataModel import *
diff --git a/Mac/Lib/lib-toolbox/AppleEvents.py b/Mac/Lib/lib-toolbox/AppleEvents.py
index 3f3cad8..544d16b 100644
--- a/Mac/Lib/lib-toolbox/AppleEvents.py
+++ b/Mac/Lib/lib-toolbox/AppleEvents.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AppleEvents.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:AppleEvents.h'
 
 def FOUR_CHAR_CODE(x): return x
 from AEDataModel import *
diff --git a/Mac/Lib/lib-toolbox/Controls.py b/Mac/Lib/lib-toolbox/Controls.py
index 416b850..71e37b7 100644
--- a/Mac/Lib/lib-toolbox/Controls.py
+++ b/Mac/Lib/lib-toolbox/Controls.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Controls.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Controls.h'
 
 def FOUR_CHAR_CODE(x): return x
 from TextEdit import *
diff --git a/Mac/Lib/lib-toolbox/Dialogs.py b/Mac/Lib/lib-toolbox/Dialogs.py
index 477f001..a07729e 100644
--- a/Mac/Lib/lib-toolbox/Dialogs.py
+++ b/Mac/Lib/lib-toolbox/Dialogs.py
@@ -1,4 +1,4 @@
-# Generated from 'flap:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Dialogs.h'
+# Generated from 'moes:Metrowerks:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Dialogs.h'
 
 kControlDialogItem = 4
 kButtonDialogItem = kControlDialogItem | 0
diff --git a/Mac/Modules/ae/AEmodule.c b/Mac/Modules/ae/AEmodule.c
index 3127430..241cb5d 100644
--- a/Mac/Modules/ae/AEmodule.c
+++ b/Mac/Modules/ae/AEmodule.c
@@ -75,7 +75,7 @@
 	if ( PyOS_InterruptOccurred() )
 		return 1;
 	if ( PyMac_HandleEvent(theEvent) < 0 ) {
-		fprintf(stderr, "Exception in user event handler during AE processing\n");
+		PySys_WriteStderr("Exception in user event handler during AE processing\n");
 		PyErr_Clear();
 	}
 	return 0;
diff --git a/Mac/Modules/ae/aesupport.py b/Mac/Modules/ae/aesupport.py
index 58af2df..d82496b 100644
--- a/Mac/Modules/ae/aesupport.py
+++ b/Mac/Modules/ae/aesupport.py
@@ -115,7 +115,7 @@
 	if ( PyOS_InterruptOccurred() )
 		return 1;
 	if ( PyMac_HandleEvent(theEvent) < 0 ) {
-		fprintf(stderr, "Exception in user event handler during AE processing\\n");
+		PySys_WriteStderr("Exception in user event handler during AE processing\\n");
 		PyErr_Clear();
 	}
 	return 0;
diff --git a/Mac/Modules/ctl/Ctlmodule.c b/Mac/Modules/ctl/Ctlmodule.c
index 6b43b68..6a74d23 100644
--- a/Mac/Modules/ctl/Ctlmodule.c
+++ b/Mac/Modules/ctl/Ctlmodule.c
@@ -1419,7 +1419,7 @@
 	if (rv)
 		Py_DECREF(rv);
 	else
-		fprintf(stderr, "TrackControl: exception in tracker function\n");
+		PySys_WriteStderr("TrackControl: exception in tracker function\n");
 }
 
 
diff --git a/Mac/Modules/ctl/ctlsupport.py b/Mac/Modules/ctl/ctlsupport.py
index e01e871..84dd6ce 100644
--- a/Mac/Modules/ctl/ctlsupport.py
+++ b/Mac/Modules/ctl/ctlsupport.py
@@ -137,7 +137,7 @@
 	if (rv)
 		Py_DECREF(rv);
 	else
-		fprintf(stderr, "TrackControl: exception in tracker function\\n");
+		PySys_WriteStderr("TrackControl: exception in tracker function\\n");
 }
 """
 
diff --git a/Mac/Modules/dlg/Dlgmodule.c b/Mac/Modules/dlg/Dlgmodule.c
index 9e59ecd..2abd785 100644
--- a/Mac/Modules/dlg/Dlgmodule.c
+++ b/Mac/Modules/dlg/Dlgmodule.c
@@ -73,7 +73,7 @@
 		Py_DECREF(args);
 	}
 	if (res == NULL) {
-		fprintf(stderr, "Exception in Dialog Filter\n");
+		PySys_WriteStderr("Exception in Dialog Filter\n");
 		PyErr_Print();
 		*itemHit = -1; /* Fake return item */
 		return 1; /* We handled it */
@@ -124,7 +124,7 @@
 		Py_DECREF(args);
 	}
 	if (res == NULL) {
-		fprintf(stderr, "Exception in Dialog UserItem proc\n");
+		PySys_WriteStderr("Exception in Dialog UserItem proc\n");
 		PyErr_Print();
 	}
 	Py_XDECREF(res);
diff --git a/Mac/Modules/dlg/dlgsupport.py b/Mac/Modules/dlg/dlgsupport.py
index 8af8fe7..526bfa4 100644
--- a/Mac/Modules/dlg/dlgsupport.py
+++ b/Mac/Modules/dlg/dlgsupport.py
@@ -59,7 +59,7 @@
 		Py_DECREF(args);
 	}
 	if (res == NULL) {
-		fprintf(stderr, "Exception in Dialog Filter\\n");
+		PySys_WriteStderr("Exception in Dialog Filter\\n");
 		PyErr_Print();
 		*itemHit = -1; /* Fake return item */
 		return 1; /* We handled it */
@@ -110,7 +110,7 @@
 		Py_DECREF(args);
 	}
 	if (res == NULL) {
-		fprintf(stderr, "Exception in Dialog UserItem proc\\n");
+		PySys_WriteStderr("Exception in Dialog UserItem proc\\n");
 		PyErr_Print();
 	}
 	Py_XDECREF(res);
diff --git a/Mac/Modules/macosmodule.c b/Mac/Modules/macosmodule.c
index 68f9b48..14f807c 100644
--- a/Mac/Modules/macosmodule.c
+++ b/Mac/Modules/macosmodule.c
@@ -377,7 +377,7 @@
 			Py_DECREF(args);
 		}
 		if (res == NULL) {
-			fprintf(stderr, "Exception in MacOS_HighLevelEventProc:\n");
+			PySys_WriteStderr("Exception in MacOS_HighLevelEventProc:\n");
 			PyErr_Print();
 		}
 		else
diff --git a/Mac/Modules/waste/wastemodule.c b/Mac/Modules/waste/wastemodule.c
index 660401f..ffb39c3 100644
--- a/Mac/Modules/waste/wastemodule.c
+++ b/Mac/Modules/waste/wastemodule.c
@@ -150,7 +150,7 @@
 	Py_DECREF(func);
 	Py_DECREF(key);
 	if ( *rv == NULL ) {
-		fprintf(stderr, "--Exception in callback: ");
+		PySys_WriteStderr("--Exception in callback: ");
 		PyErr_Print();
 		return errAEReplyNotArrived;
 	}
diff --git a/Mac/Modules/waste/wastesupport.py b/Mac/Modules/waste/wastesupport.py
index 76eb010..488e01a 100644
--- a/Mac/Modules/waste/wastesupport.py
+++ b/Mac/Modules/waste/wastesupport.py
@@ -164,7 +164,7 @@
 	Py_DECREF(func);
 	Py_DECREF(key);
 	if ( *rv == NULL ) {
-		fprintf(stderr, "--Exception in callback: ");
+		PySys_WriteStderr("--Exception in callback: ");
 		PyErr_Print();
 		return errAEReplyNotArrived;
 	}
diff --git a/Mac/Python/macimport.c b/Mac/Python/macimport.c
index 627f828..e079d2e 100644
--- a/Mac/Python/macimport.c
+++ b/Mac/Python/macimport.c
@@ -271,8 +271,7 @@
 	Py_XDECREF(s);
 #endif
 	if (Py_VerboseFlag)
-		fprintf(stderr,
-			"import %s # pyd fragment %#s loaded from %s\n",
+		PySys_WriteStderr("import %s # pyd fragment %#s loaded from %s\n",
 			name, fragmentname, pathname);
 	Py_INCREF(m);
 	return m;
@@ -389,7 +388,7 @@
 		m = NULL;
 	}
 	if (Py_VerboseFlag)
-		fprintf(stderr, "import %s # pyc resource from %s\n",
+		PySys_WriteStderr("import %s # pyc resource from %s\n",
 			module, filename);
 	return m;
 error:
@@ -459,7 +458,7 @@
 		strcpy((char *)fnbuf+1+modnamelen, fdp->suffix);
 		fnbuf[0] = strlen((char *)fnbuf+1);
 		if (Py_VerboseFlag > 1)
-			fprintf(stderr, "# trying %s%s\n", buf, fdp->suffix);
+			PySys_WriteStderr("# trying %s%s\n", buf, fdp->suffix);
 		if ( FSMakeFSSpec(refnum, dirid, fnbuf, &fss) == noErr ) {
 			/* Found it. */
 #if 0
