diff --git a/Mac/Python/macgetcompiler.c b/Mac/Python/macgetcompiler.c
index be41226..347b8d2 100644
--- a/Mac/Python/macgetcompiler.c
+++ b/Mac/Python/macgetcompiler.c
@@ -43,13 +43,18 @@
 #else
 #define HASGUSI ""
 #endif
+#ifdef USE_MSL
+#define HASMSL " w/MSL"
+#else
+#define HASMSL ""
+#endif
 #ifdef __powerc
-#define COMPILER " [CW PPC" HASGUSI "]"
+#define COMPILER " [CW PPC" HASGUSI HASMSL "]"
 #else
 #ifdef __CFM68K__
-#define COMPILER " [CW CFM68K" HASGUSI "]"
+#define COMPILER " [CW CFM68K" HASGUSI HASMSL "]"
 #else
-#define COMPILER " [CW 68K" HASGUSI "]"
+#define COMPILER " [CW 68K" HASGUSI HASMSL "]"
 #endif
 #endif
 #endif
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index d05009e..cc55d08 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -173,7 +173,7 @@
 	pb.ioNamePtr= "\p";
 	pb.ioVRefNum= curdirfss.vRefNum;
 	pb.ioWDDirID= curdirfss.parID;
-	if (PBHSetVol(&pb, 0) != noErr)
+	if (PBHSetVolSync(&pb) != noErr)
 		return;
 }
 
@@ -540,7 +540,7 @@
 	MenuHandle applemenu;
 	
 	if ( (bar=GetMenuBar()) == NULL ) return;
-	if ( (applemenu=GetMHandle(SIOUX_APPLEID)) == NULL ) return;
+	if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
 	SetMenuItemText(applemenu, 1, "\pAbout Python...");
 }
 
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index 3197388..bc02171 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -127,7 +127,7 @@
 	/* Set default values */
 #define SET_OPT_ITEM(num, var) \
 		GetDialogItem(dialog, (num), &type, (Handle *)&handle, &rect); \
-		SetCtlValue(handle, (short)p->var);
+		SetControlValue(handle, (short)p->var);
 
 	SET_OPT_ITEM(OPT_INSPECT, inspect);
 	SET_OPT_ITEM(OPT_VERBOSE, verbose);
@@ -146,7 +146,7 @@
 		if ( item == OPT_OK )
 			break;
 		if ( item == OPT_CANCEL ) {
-			DisposDialog(dialog);
+			DisposeDialog(dialog);
 			exit(0);
 		}
 		if ( item == OPT_CMDLINE ) {
@@ -171,7 +171,7 @@
 		if ( item == (num) ) { \
 			p->var = !p->var; \
 			GetDialogItem(dialog, (num), &type, (Handle *)&handle, &rect); \
-			SetCtlValue(handle, (short)p->var); \
+			SetControlValue(handle, (short)p->var); \
 		}
 		
 		OPT_ITEM(OPT_INSPECT, inspect);
@@ -184,7 +184,7 @@
 		
 #undef OPT_ITEM
 	}
-	DisposDialog(dialog);
+	DisposeDialog(dialog);
 }
 
 /*
