Made style and soup handles optional
diff --git a/Mac/Modules/waste/wastemodule.c b/Mac/Modules/waste/wastemodule.c
index 6ffdf44..fb8f620 100644
--- a/Mac/Modules/waste/wastemodule.c
+++ b/Mac/Modules/waste/wastemodule.c
@@ -40,9 +40,6 @@
 extern PyObject *BMObj_New(BitMapPtr);
 extern int BMObj_Convert(PyObject *, BitMapPtr *);
 
-extern PyObject *PMObj_New(PixMapHandle);
-extern int PMObj_Convert(PyObject *, PixMapHandle *);
-
 extern PyObject *WinObj_WhichWindow(WindowPtr);
 
 #include <WASTE.h>
@@ -559,7 +556,8 @@
 	Boolean _rv;
 	WEStyleMode mode;
 	TextStyle ts;
-	if (!PyArg_ParseTuple(_args, ""))
+	if (!PyArg_ParseTuple(_args, "h",
+	                      &mode))
 		return NULL;
 	_rv = WEContinuousStyle(&mode,
 	                        &ts,
@@ -692,9 +690,9 @@
 	if (!PyArg_ParseTuple(_args, "llO&O&O&",
 	                      &rangeStart,
 	                      &rangeEnd,
-	                      ResObj_Convert, &hText,
-	                      ResObj_Convert, &hStyles,
-	                      ResObj_Convert, &hSoup))
+	                      OptResObj_Convert, &hText,
+	                      OptResObj_Convert, &hStyles,
+	                      OptResObj_Convert, &hSoup))
 		return NULL;
 	_err = WECopyRange(rangeStart,
 	                   rangeEnd,
@@ -916,8 +914,8 @@
 	WESoupHandle hSoup;
 	if (!PyArg_ParseTuple(_args, "s#O&O&",
 	                      &pText__in__, &pText__in_len__,
-	                      ResObj_Convert, &hStyles,
-	                      ResObj_Convert, &hSoup))
+	                      OptResObj_Convert, &hStyles,
+	                      OptResObj_Convert, &hSoup))
 		return NULL;
 	pText__len__ = pText__in_len__;
 	_err = WEInsert(pText__in__, pText__len__,
@@ -1344,7 +1342,7 @@
 	{"WESetViewRect", (PyCFunction)wasteObj_WESetViewRect, 1,
 	 "(LongRect viewRect) -> None"},
 	{"WEContinuousStyle", (PyCFunction)wasteObj_WEContinuousStyle, 1,
-	 "() -> (Boolean _rv, WEStyleMode mode, TextStyle ts)"},
+	 "(WEStyleMode mode) -> (Boolean _rv, WEStyleMode mode, TextStyle ts)"},
 	{"WEGetRunInfo", (PyCFunction)wasteObj_WEGetRunInfo, 1,
 	 "(long offset) -> (WERunInfo runInfo)"},
 	{"WEGetOffset", (PyCFunction)wasteObj_WEGetOffset, 1,
diff --git a/Mac/Modules/waste/wastescan.py b/Mac/Modules/waste/wastescan.py
index ddb2de9..b501344 100644
--- a/Mac/Modules/waste/wastescan.py
+++ b/Mac/Modules/waste/wastescan.py
@@ -18,7 +18,7 @@
 	defsoutput = TOOLBOXDIR + "WASTEconst.py"
 	scanner = MyScanner(input, output, defsoutput)
 	scanner.scan()
-	scanner.gentypetest(SHORT+"typetest.py")
+##	scanner.gentypetest(SHORT+"typetest.py")
 	scanner.close()
 	print "=== Done scanning and generating, now importing the generated code... ==="
 	exec "import " + SHORT + "support"
@@ -67,8 +67,19 @@
 			 [("InBuffer", "*", "*")]),
 
 			# WEContinuousStyle
-			([("WEStyleMode", "mode", "OutMode"), ("TextStyle", "aStyle", "OutMode")],
-			 [("WEStyleMode", "mode", "InOutMode"), ("TextStyle", "aStyle", "InOutMode")])
+			([("WEStyleMode", "mode", "OutMode"), ("TextStyle", "ts", "OutMode")],
+			 [("WEStyleMode", "mode", "InOutMode"), ("TextStyle", "ts", "OutMode")]),
+			 
+			# WECopyRange
+			([('Handle', 'hText', 'InMode'), ('StScrpHandle', 'hStyles', 'InMode'),
+    			('WESoupHandle', 'hSoup', 'InMode')],
+    		 [('OptHandle', 'hText', 'InMode'), ('OptStScrpHandle', 'hStyles', 'InMode'),
+    			('OptSoupHandle', 'hSoup', 'InMode')]),
+			 
+			# WEInsert
+			([('StScrpHandle', 'hStyles', 'InMode'), ('WESoupHandle', 'hSoup', 'InMode')],
+    		 [('OptStScrpHandle', 'hStyles', 'InMode'), ('OptSoupHandle', 'hSoup', 'InMode')])
+
 			]
 			
 if __name__ == "__main__":
diff --git a/Mac/Modules/waste/wastesupport.py b/Mac/Modules/waste/wastesupport.py
index 0f081a6..605f083 100644
--- a/Mac/Modules/waste/wastesupport.py
+++ b/Mac/Modules/waste/wastesupport.py
@@ -24,15 +24,16 @@
 # Create the type objects
 WEReference = OpaqueByValueType("WEReference", "wasteObj")
 WEObjectReference = OpaqueByValueType("WEObjectReference", "WEOObj")
-##CharsHandle = OpaqueByValueType("CharsHandle", "ResObj")
-##Handle = OpaqueByValueType("Handle", "ResObj")
 StScrpHandle = OpaqueByValueType("StScrpHandle", "ResObj")
-##TEStyleHandle = OpaqueByValueType("TEStyleHandle", "ResObj")
 RgnHandle = OpaqueByValueType("RgnHandle", "ResObj")
 EventModifiers = Type("EventModifiers", "h")
 FlavorType = OSTypeType("FlavorType")
 WESelector = OSTypeType("WESelector")
 
+OptHandle = OpaqueByValueType("Handle", "OptResObj")
+OptSoupHandle = OpaqueByValueType("WESoupHandle", "OptResObj")
+OptStScrpHandle = OpaqueByValueType("StScrpHandle", "OptResObj")
+
 WEStyleMode = Type("WEStyleMode", "h")
 WEActionKind = Type("WEActionKind", "h")
 WEAlignment = Type("WEAlignment", "b")
@@ -154,7 +155,7 @@
 # From here on it's basically all boiler plate...
 
 # Test types used for existence
-execfile(TYPETESTFILE)
+## execfile(TYPETESTFILE)
 
 # Create the generator groups and link them
 module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff)