diff --git a/Mac/Modules/waste/wastemodule.c b/Mac/Modules/waste/wastemodule.c
index 2da77dd..660401f 100644
--- a/Mac/Modules/waste/wastemodule.c
+++ b/Mac/Modules/waste/wastemodule.c
@@ -1694,6 +1694,38 @@
 	return _res;
 }
 
+static PyObject *wasteObj_WEGetTabSize(_self, _args)
+	wasteObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	SInt16 _rv;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_rv = WEGetTabSize(_self->ob_itself);
+	_res = Py_BuildValue("h",
+	                     _rv);
+	return _res;
+}
+
+static PyObject *wasteObj_WESetTabSize(_self, _args)
+	wasteObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	SInt16 tabWidth;
+	if (!PyArg_ParseTuple(_args, "h",
+	                      &tabWidth))
+		return NULL;
+	_err = WESetTabSize(tabWidth,
+	                    _self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
 static PyMethodDef wasteObj_methods[] = {
 	{"WEGetText", (PyCFunction)wasteObj_WEGetText, 1,
 	 "() -> (Handle _rv)"},
@@ -1839,6 +1871,10 @@
 	 "() -> None"},
 	{"WEIsTabHooks", (PyCFunction)wasteObj_WEIsTabHooks, 1,
 	 "() -> (Boolean _rv)"},
+	{"WEGetTabSize", (PyCFunction)wasteObj_WEGetTabSize, 1,
+	 "() -> (SInt16 _rv)"},
+	{"WESetTabSize", (PyCFunction)wasteObj_WESetTabSize, 1,
+	 "(SInt16 tabWidth) -> None"},
 	{NULL, NULL, 0}
 };
 
diff --git a/Mac/Modules/waste/wastesupport.py b/Mac/Modules/waste/wastesupport.py
index ef73288..76eb010 100644
--- a/Mac/Modules/waste/wastesupport.py
+++ b/Mac/Modules/waste/wastesupport.py
@@ -400,12 +400,18 @@
 stdhand = ManualGenerator("STDObjectHandlers", stdhandlers_body)
 inshand = ManualGenerator("WEInstallObjectHandler", inshandler_body)
 
+
+# Tab hook handlers. Could be parsed from WETabs.h, but this is just as simple.
 f = Method(OSErr, 'WEInstallTabHooks', (WEReference, 'we', InMode))
 methods.append(f)
 f = Method(OSErr, 'WERemoveTabHooks', (WEReference, 'we', InMode))
 methods.append(f)
 f = Method(Boolean, 'WEIsTabHooks', (WEReference, 'we', InMode))
 methods.append(f)
+f = Method(SInt16, 'WEGetTabSize', (WEReference, 'we', InMode))
+methods.append(f)
+f = Method(OSErr, 'WESetTabSize', (SInt16, 'tabWidth', InMode), (WEReference, 'we', InMode))
+methods.append(f)
 
 # add the populated lists to the generator groups
 # (in a different wordl the scan program would generate this)
