diff --git a/Mac/Modules/evt/Evtmodule.c b/Mac/Modules/evt/Evtmodule.c
index 139e5d8..59858fa 100644
--- a/Mac/Modules/evt/Evtmodule.c
+++ b/Mac/Modules/evt/Evtmodule.c
@@ -59,7 +59,7 @@
 	PyObject *_args;
 {
 	PyObject *_res = NULL;
-	MacOSEventMask value;
+	EventMask value;
 	if (!PyArg_ParseTuple(_args, "h",
 	                      &value))
 		return NULL;
@@ -89,7 +89,7 @@
 {
 	PyObject *_res = NULL;
 	Boolean _rv;
-	MacOSEventMask eventMask;
+	EventMask eventMask;
 	EventRecord theEvent;
 	if (!PyArg_ParseTuple(_args, "h",
 	                      &eventMask))
@@ -108,7 +108,7 @@
 {
 	PyObject *_res = NULL;
 	Boolean _rv;
-	MacOSEventMask eventMask;
+	EventMask eventMask;
 	EventRecord theEvent;
 	UInt32 sleep;
 	if (!PyArg_ParseTuple(_args, "hl",
@@ -131,7 +131,7 @@
 {
 	PyObject *_res = NULL;
 	Boolean _rv;
-	MacOSEventMask eventMask;
+	EventMask eventMask;
 	EventRecord theEvent;
 	if (!PyArg_ParseTuple(_args, "h",
 	                      &eventMask))
@@ -235,7 +235,7 @@
 {
 	PyObject *_res = NULL;
 	OSErr _err;
-	MacOSEventKind eventNum;
+	EventKind eventNum;
 	UInt32 eventMsg;
 	if (!PyArg_ParseTuple(_args, "hl",
 	                      &eventNum,
@@ -255,7 +255,7 @@
 {
 	PyObject *_res = NULL;
 	Boolean _rv;
-	MacOSEventMask mask;
+	EventMask mask;
 	EventRecord theEvent;
 	if (!PyArg_ParseTuple(_args, "h",
 	                      &mask))
@@ -274,7 +274,7 @@
 {
 	PyObject *_res = NULL;
 	Boolean _rv;
-	MacOSEventMask mask;
+	EventMask mask;
 	EventRecord theEvent;
 	if (!PyArg_ParseTuple(_args, "h",
 	                      &mask))
@@ -292,8 +292,8 @@
 	PyObject *_args;
 {
 	PyObject *_res = NULL;
-	MacOSEventMask whichMask;
-	MacOSEventMask stopMask;
+	EventMask whichMask;
+	EventMask stopMask;
 	if (!PyArg_ParseTuple(_args, "hh",
 	                      &whichMask,
 	                      &stopMask))
@@ -356,15 +356,15 @@
 	{"GetCaretTime", (PyCFunction)Evt_GetCaretTime, 1,
 	 "() -> (UInt32 _rv)"},
 	{"SetEventMask", (PyCFunction)Evt_SetEventMask, 1,
-	 "(MacOSEventMask value) -> None"},
+	 "(EventMask value) -> None"},
 	{"GetDblTime", (PyCFunction)Evt_GetDblTime, 1,
 	 "() -> (UInt32 _rv)"},
 	{"GetNextEvent", (PyCFunction)Evt_GetNextEvent, 1,
-	 "(MacOSEventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"},
+	 "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"},
 	{"WaitNextEvent", (PyCFunction)Evt_WaitNextEvent, 1,
-	 "(MacOSEventMask eventMask, UInt32 sleep) -> (Boolean _rv, EventRecord theEvent)"},
+	 "(EventMask eventMask, UInt32 sleep) -> (Boolean _rv, EventRecord theEvent)"},
 	{"EventAvail", (PyCFunction)Evt_EventAvail, 1,
-	 "(MacOSEventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"},
+	 "(EventMask eventMask) -> (Boolean _rv, EventRecord theEvent)"},
 	{"GetMouse", (PyCFunction)Evt_GetMouse, 1,
 	 "() -> (Point mouseLoc)"},
 	{"Button", (PyCFunction)Evt_Button, 1,
@@ -378,13 +378,13 @@
 	{"TickCount", (PyCFunction)Evt_TickCount, 1,
 	 "() -> (UInt32 _rv)"},
 	{"PostEvent", (PyCFunction)Evt_PostEvent, 1,
-	 "(MacOSEventKind eventNum, UInt32 eventMsg) -> None"},
+	 "(EventKind eventNum, UInt32 eventMsg) -> None"},
 	{"OSEventAvail", (PyCFunction)Evt_OSEventAvail, 1,
-	 "(MacOSEventMask mask) -> (Boolean _rv, EventRecord theEvent)"},
+	 "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"},
 	{"GetOSEvent", (PyCFunction)Evt_GetOSEvent, 1,
-	 "(MacOSEventMask mask) -> (Boolean _rv, EventRecord theEvent)"},
+	 "(EventMask mask) -> (Boolean _rv, EventRecord theEvent)"},
 	{"FlushEvents", (PyCFunction)Evt_FlushEvents, 1,
-	 "(MacOSEventMask whichMask, MacOSEventMask stopMask) -> None"},
+	 "(EventMask whichMask, EventMask stopMask) -> None"},
 	{"SystemClick", (PyCFunction)Evt_SystemClick, 1,
 	 "(EventRecord theEvent, WindowPtr theWindow) -> None"},
 	{"SystemTask", (PyCFunction)Evt_SystemTask, 1,
diff --git a/Mac/Modules/evt/evtgen.py b/Mac/Modules/evt/evtgen.py
index 47ac307..2eda8ed 100644
--- a/Mac/Modules/evt/evtgen.py
+++ b/Mac/Modules/evt/evtgen.py
@@ -1,11 +1,11 @@
-# Generated from 'Sap:CodeWarrior6:Metrowerks C/C++:Headers:Universal Headers 2.0.1f:Events.h'
+# Generated from 'Sap:CodeWarrior7:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Events.h'
 
 f = Function(UInt32, 'GetCaretTime',
 )
 functions.append(f)
 
 f = Function(void, 'SetEventMask',
-    (MacOSEventMask, 'value', InMode),
+    (EventMask, 'value', InMode),
 )
 functions.append(f)
 
@@ -14,13 +14,13 @@
 functions.append(f)
 
 f = Function(Boolean, 'GetNextEvent',
-    (MacOSEventMask, 'eventMask', InMode),
+    (EventMask, 'eventMask', InMode),
     (EventRecord, 'theEvent', OutMode),
 )
 functions.append(f)
 
 f = Function(Boolean, 'WaitNextEvent',
-    (MacOSEventMask, 'eventMask', InMode),
+    (EventMask, 'eventMask', InMode),
     (EventRecord, 'theEvent', OutMode),
     (UInt32, 'sleep', InMode),
     (RgnHandle, 'mouseRgn', InMode),
@@ -28,7 +28,7 @@
 functions.append(f)
 
 f = Function(Boolean, 'EventAvail',
-    (MacOSEventMask, 'eventMask', InMode),
+    (EventMask, 'eventMask', InMode),
     (EventRecord, 'theEvent', OutMode),
 )
 functions.append(f)
@@ -60,26 +60,26 @@
 functions.append(f)
 
 f = Function(OSErr, 'PostEvent',
-    (MacOSEventKind, 'eventNum', InMode),
+    (EventKind, 'eventNum', InMode),
     (UInt32, 'eventMsg', InMode),
 )
 functions.append(f)
 
 f = Function(Boolean, 'OSEventAvail',
-    (MacOSEventMask, 'mask', InMode),
+    (EventMask, 'mask', InMode),
     (EventRecord, 'theEvent', OutMode),
 )
 functions.append(f)
 
 f = Function(Boolean, 'GetOSEvent',
-    (MacOSEventMask, 'mask', InMode),
+    (EventMask, 'mask', InMode),
     (EventRecord, 'theEvent', OutMode),
 )
 functions.append(f)
 
 f = Function(void, 'FlushEvents',
-    (MacOSEventMask, 'whichMask', InMode),
-    (MacOSEventMask, 'stopMask', InMode),
+    (EventMask, 'whichMask', InMode),
+    (EventMask, 'stopMask', InMode),
 )
 functions.append(f)
 
diff --git a/Mac/Modules/evt/evtsupport.py b/Mac/Modules/evt/evtsupport.py
index 39ddaa9..617eee4 100644
--- a/Mac/Modules/evt/evtsupport.py
+++ b/Mac/Modules/evt/evtsupport.py
@@ -27,8 +27,10 @@
 RgnHandle = FakeType("(RgnHandle)0") # XXX
 
 KeyMap = ArrayOutputBufferType("KeyMap")
-MacOSEventKind = Type("MacOSEventKind", "h")
-MacOSEventMask = Type("MacOSEventMask", "h")
+MacOSEventKind = Type("MacOSEventKind", "h") # Old-style
+MacOSEventMask = Type("MacOSEventMask", "h") # Old-style
+EventMask = Type("EventMask", "h")
+EventKind = Type("EventKind", "h")
 
 includestuff = includestuff + """
 #include <%s>""" % MACHEADERFILE + """
diff --git a/Mac/Modules/res/Resmodule.c b/Mac/Modules/res/Resmodule.c
index 4e8ed8f..cadb5db 100644
--- a/Mac/Modules/res/Resmodule.c
+++ b/Mac/Modules/res/Resmodule.c
@@ -1336,7 +1336,6 @@
 PyObject *ResObj_OptNew(itself)
 	Handle itself;
 {
-	ResourceObject *it;
 	if (itself == NULL) {
 		Py_INCREF(Py_None);
 		return Py_None;
diff --git a/Mac/Modules/snd/Sndmodule.c b/Mac/Modules/snd/Sndmodule.c
index 447f75d..1d91ec9 100644
--- a/Mac/Modules/snd/Sndmodule.c
+++ b/Mac/Modules/snd/Sndmodule.c
@@ -414,12 +414,12 @@
 	PyObject *_args;
 {
 	PyObject *_res = NULL;
-	NumVersion _rv;
+	long _rv;
 	if (!PyArg_ParseTuple(_args, ""))
 		return NULL;
 	_rv = SndSoundManagerVersion();
-	_res = Py_BuildValue("O&",
-	                     NumVer_New, _rv);
+	_res = Py_BuildValue("l",
+	                     _rv);
 	return _res;
 }
 
@@ -479,12 +479,12 @@
 	PyObject *_args;
 {
 	PyObject *_res = NULL;
-	NumVersion _rv;
+	long _rv;
 	if (!PyArg_ParseTuple(_args, ""))
 		return NULL;
 	_rv = MACEVersion();
-	_res = Py_BuildValue("O&",
-	                     NumVer_New, _rv);
+	_res = Py_BuildValue("l",
+	                     _rv);
 	return _res;
 }
 
@@ -759,7 +759,7 @@
 	{"SndControl", (PyCFunction)Snd_SndControl, 1,
 	 "(short id) -> (SndCommand cmd)"},
 	{"SndSoundManagerVersion", (PyCFunction)Snd_SndSoundManagerVersion, 1,
-	 "() -> (NumVersion _rv)"},
+	 "() -> (long _rv)"},
 	{"SndManagerStatus", (PyCFunction)Snd_SndManagerStatus, 1,
 	 "(short theLength) -> (SMStatus theStatus)"},
 	{"SndGetSysBeepState", (PyCFunction)Snd_SndGetSysBeepState, 1,
@@ -767,7 +767,7 @@
 	{"SndSetSysBeepState", (PyCFunction)Snd_SndSetSysBeepState, 1,
 	 "(short sysBeepState) -> None"},
 	{"MACEVersion", (PyCFunction)Snd_MACEVersion, 1,
-	 "() -> (NumVersion _rv)"},
+	 "() -> (long _rv)"},
 	{"Comp3to1", (PyCFunction)Snd_Comp3to1, 1,
 	 "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"},
 	{"Exp1to3", (PyCFunction)Snd_Exp1to3, 1,
diff --git a/Mac/Modules/snd/sndgen.py b/Mac/Modules/snd/sndgen.py
index c3a71c1..323f637 100644
--- a/Mac/Modules/snd/sndgen.py
+++ b/Mac/Modules/snd/sndgen.py
@@ -1,4 +1,4 @@
-# Generated from 'Sap:CodeWarrior6:Metrowerks C/C++:Headers:Universal Headers 2.0.1f:Sound.h'
+# Generated from 'Sap:CodeWarrior7:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Sound.h'
 
 f = SndFunction(void, 'SetSoundVol',
     (short, 'level', InMode),
@@ -44,7 +44,7 @@
 )
 functions.append(f)
 
-f = SndFunction(NumVersion, 'SndSoundManagerVersion',
+f = SndFunction(long, 'SndSoundManagerVersion',
 )
 functions.append(f)
 
@@ -94,7 +94,7 @@
 )
 functions.append(f)
 
-f = SndFunction(NumVersion, 'MACEVersion',
+f = SndFunction(long, 'MACEVersion',
 )
 functions.append(f)
 
diff --git a/Mac/Modules/snd/sndscan.py b/Mac/Modules/snd/sndscan.py
index ae52593..f28c48e 100644
--- a/Mac/Modules/snd/sndscan.py
+++ b/Mac/Modules/snd/sndscan.py
@@ -54,6 +54,8 @@
 			"GetSoundVol",
 			"SetSoundVol",
 			"UnsignedFixed",
+			# Don't have the time to dig into this...
+			"Component",
 			]
 
 	def makerepairinstructions(self):
