Also recognize DragRef as a method-argument.
diff --git a/Mac/Modules/drag/Dragmodule.c b/Mac/Modules/drag/Dragmodule.c
index e3801b6..fa6c2d9 100644
--- a/Mac/Modules/drag/Dragmodule.c
+++ b/Mac/Modules/drag/Dragmodule.c
@@ -67,7 +67,631 @@
 	PyMem_DEL(self);
 }
 
+static PyObject *DragObj_DisposeDrag(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = DisposeDrag(_self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_AddDragItemFlavor(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	FlavorType theType;
+	char *dataPtr__in__;
+	long dataPtr__len__;
+	int dataPtr__in_len__;
+	FlavorFlags theFlags;
+	if (!PyArg_ParseTuple(_args, "lO&z#l",
+	                      &theItemRef,
+	                      PyMac_GetOSType, &theType,
+	                      &dataPtr__in__, &dataPtr__in_len__,
+	                      &theFlags))
+		return NULL;
+	dataPtr__len__ = dataPtr__in_len__;
+	_err = AddDragItemFlavor(_self->ob_itself,
+	                         theItemRef,
+	                         theType,
+	                         dataPtr__in__, dataPtr__len__,
+	                         theFlags);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+ dataPtr__error__: ;
+	return _res;
+}
+
+static PyObject *DragObj_SetDragItemFlavorData(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	FlavorType theType;
+	char *dataPtr__in__;
+	long dataPtr__len__;
+	int dataPtr__in_len__;
+	UInt32 dataOffset;
+	if (!PyArg_ParseTuple(_args, "lO&z#l",
+	                      &theItemRef,
+	                      PyMac_GetOSType, &theType,
+	                      &dataPtr__in__, &dataPtr__in_len__,
+	                      &dataOffset))
+		return NULL;
+	dataPtr__len__ = dataPtr__in_len__;
+	_err = SetDragItemFlavorData(_self->ob_itself,
+	                             theItemRef,
+	                             theType,
+	                             dataPtr__in__, dataPtr__len__,
+	                             dataOffset);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+ dataPtr__error__: ;
+	return _res;
+}
+
+static PyObject *DragObj_SetDragImage(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	PixMapHandle imagePixMap;
+	RgnHandle imageRgn;
+	Point imageOffsetPt;
+	DragImageFlags theImageFlags;
+	if (!PyArg_ParseTuple(_args, "O&O&O&l",
+	                      ResObj_Convert, &imagePixMap,
+	                      ResObj_Convert, &imageRgn,
+	                      PyMac_GetPoint, &imageOffsetPt,
+	                      &theImageFlags))
+		return NULL;
+	_err = SetDragImage(_self->ob_itself,
+	                    imagePixMap,
+	                    imageRgn,
+	                    imageOffsetPt,
+	                    theImageFlags);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_ChangeDragBehaviors(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	DragBehaviors inBehaviorsToSet;
+	DragBehaviors inBehaviorsToClear;
+	if (!PyArg_ParseTuple(_args, "ll",
+	                      &inBehaviorsToSet,
+	                      &inBehaviorsToClear))
+		return NULL;
+	_err = ChangeDragBehaviors(_self->ob_itself,
+	                           inBehaviorsToSet,
+	                           inBehaviorsToClear);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_TrackDrag(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	EventRecord theEvent;
+	RgnHandle theRegion;
+	if (!PyArg_ParseTuple(_args, "O&O&",
+	                      PyMac_GetEventRecord, &theEvent,
+	                      ResObj_Convert, &theRegion))
+		return NULL;
+	_err = TrackDrag(_self->ob_itself,
+	                 &theEvent,
+	                 theRegion);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_CountDragItems(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	UInt16 numItems;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = CountDragItems(_self->ob_itself,
+	                      &numItems);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("H",
+	                     numItems);
+	return _res;
+}
+
+static PyObject *DragObj_GetDragItemReferenceNumber(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	UInt16 index;
+	ItemReference theItemRef;
+	if (!PyArg_ParseTuple(_args, "H",
+	                      &index))
+		return NULL;
+	_err = GetDragItemReferenceNumber(_self->ob_itself,
+	                                  index,
+	                                  &theItemRef);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("l",
+	                     theItemRef);
+	return _res;
+}
+
+static PyObject *DragObj_CountDragItemFlavors(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	UInt16 numFlavors;
+	if (!PyArg_ParseTuple(_args, "l",
+	                      &theItemRef))
+		return NULL;
+	_err = CountDragItemFlavors(_self->ob_itself,
+	                            theItemRef,
+	                            &numFlavors);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("H",
+	                     numFlavors);
+	return _res;
+}
+
+static PyObject *DragObj_GetFlavorType(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	UInt16 index;
+	FlavorType theType;
+	if (!PyArg_ParseTuple(_args, "lH",
+	                      &theItemRef,
+	                      &index))
+		return NULL;
+	_err = GetFlavorType(_self->ob_itself,
+	                     theItemRef,
+	                     index,
+	                     &theType);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("O&",
+	                     PyMac_BuildOSType, theType);
+	return _res;
+}
+
+static PyObject *DragObj_GetFlavorFlags(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	FlavorType theType;
+	FlavorFlags theFlags;
+	if (!PyArg_ParseTuple(_args, "lO&",
+	                      &theItemRef,
+	                      PyMac_GetOSType, &theType))
+		return NULL;
+	_err = GetFlavorFlags(_self->ob_itself,
+	                      theItemRef,
+	                      theType,
+	                      &theFlags);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("l",
+	                     theFlags);
+	return _res;
+}
+
+static PyObject *DragObj_GetFlavorDataSize(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	FlavorType theType;
+	Size dataSize;
+	if (!PyArg_ParseTuple(_args, "lO&",
+	                      &theItemRef,
+	                      PyMac_GetOSType, &theType))
+		return NULL;
+	_err = GetFlavorDataSize(_self->ob_itself,
+	                         theItemRef,
+	                         theType,
+	                         &dataSize);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("l",
+	                     dataSize);
+	return _res;
+}
+
+static PyObject *DragObj_GetFlavorData(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	FlavorType theType;
+	char *dataPtr__out__;
+	long dataPtr__len__;
+	int dataPtr__in_len__;
+	UInt32 dataOffset;
+	if (!PyArg_ParseTuple(_args, "lO&il",
+	                      &theItemRef,
+	                      PyMac_GetOSType, &theType,
+	                      &dataPtr__in_len__,
+	                      &dataOffset))
+		return NULL;
+	if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
+	{
+		PyErr_NoMemory();
+		goto dataPtr__error__;
+	}
+	dataPtr__len__ = dataPtr__in_len__;
+	_err = GetFlavorData(_self->ob_itself,
+	                     theItemRef,
+	                     theType,
+	                     dataPtr__out__, &dataPtr__len__,
+	                     dataOffset);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("s#",
+	                     dataPtr__out__, (int)dataPtr__len__);
+	free(dataPtr__out__);
+ dataPtr__error__: ;
+	return _res;
+}
+
+static PyObject *DragObj_GetDragItemBounds(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	Rect itemBounds;
+	if (!PyArg_ParseTuple(_args, "l",
+	                      &theItemRef))
+		return NULL;
+	_err = GetDragItemBounds(_self->ob_itself,
+	                         theItemRef,
+	                         &itemBounds);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("O&",
+	                     PyMac_BuildRect, &itemBounds);
+	return _res;
+}
+
+static PyObject *DragObj_SetDragItemBounds(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	ItemReference theItemRef;
+	Rect itemBounds;
+	if (!PyArg_ParseTuple(_args, "lO&",
+	                      &theItemRef,
+	                      PyMac_GetRect, &itemBounds))
+		return NULL;
+	_err = SetDragItemBounds(_self->ob_itself,
+	                         theItemRef,
+	                         &itemBounds);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_GetDropLocation(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	AEDesc dropLocation;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = GetDropLocation(_self->ob_itself,
+	                       &dropLocation);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("O&",
+	                     AEDesc_New, &dropLocation);
+	return _res;
+}
+
+static PyObject *DragObj_SetDropLocation(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	AEDesc dropLocation;
+	if (!PyArg_ParseTuple(_args, "O&",
+	                      AEDesc_Convert, &dropLocation))
+		return NULL;
+	_err = SetDropLocation(_self->ob_itself,
+	                       &dropLocation);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_GetDragAttributes(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	DragAttributes flags;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = GetDragAttributes(_self->ob_itself,
+	                         &flags);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("l",
+	                     flags);
+	return _res;
+}
+
+static PyObject *DragObj_GetDragMouse(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	Point mouse;
+	Point globalPinnedMouse;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = GetDragMouse(_self->ob_itself,
+	                    &mouse,
+	                    &globalPinnedMouse);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("O&O&",
+	                     PyMac_BuildPoint, mouse,
+	                     PyMac_BuildPoint, globalPinnedMouse);
+	return _res;
+}
+
+static PyObject *DragObj_SetDragMouse(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	Point globalPinnedMouse;
+	if (!PyArg_ParseTuple(_args, "O&",
+	                      PyMac_GetPoint, &globalPinnedMouse))
+		return NULL;
+	_err = SetDragMouse(_self->ob_itself,
+	                    globalPinnedMouse);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_GetDragOrigin(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	Point globalInitialMouse;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = GetDragOrigin(_self->ob_itself,
+	                     &globalInitialMouse);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("O&",
+	                     PyMac_BuildPoint, globalInitialMouse);
+	return _res;
+}
+
+static PyObject *DragObj_GetDragModifiers(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	SInt16 modifiers;
+	SInt16 mouseDownModifiers;
+	SInt16 mouseUpModifiers;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = GetDragModifiers(_self->ob_itself,
+	                        &modifiers,
+	                        &mouseDownModifiers,
+	                        &mouseUpModifiers);
+	if (_err != noErr) return PyMac_Error(_err);
+	_res = Py_BuildValue("hhh",
+	                     modifiers,
+	                     mouseDownModifiers,
+	                     mouseUpModifiers);
+	return _res;
+}
+
+static PyObject *DragObj_ShowDragHilite(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	RgnHandle hiliteFrame;
+	Boolean inside;
+	if (!PyArg_ParseTuple(_args, "O&b",
+	                      ResObj_Convert, &hiliteFrame,
+	                      &inside))
+		return NULL;
+	_err = ShowDragHilite(_self->ob_itself,
+	                      hiliteFrame,
+	                      inside);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_HideDragHilite(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = HideDragHilite(_self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_DragPreScroll(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	SInt16 dH;
+	SInt16 dV;
+	if (!PyArg_ParseTuple(_args, "hh",
+	                      &dH,
+	                      &dV))
+		return NULL;
+	_err = DragPreScroll(_self->ob_itself,
+	                     dH,
+	                     dV);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_DragPostScroll(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = DragPostScroll(_self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *DragObj_UpdateDragHilite(_self, _args)
+	DragObjObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	RgnHandle updateRgn;
+	if (!PyArg_ParseTuple(_args, "O&",
+	                      ResObj_Convert, &updateRgn))
+		return NULL;
+	_err = UpdateDragHilite(_self->ob_itself,
+	                        updateRgn);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
 static PyMethodDef DragObj_methods[] = {
+	{"DisposeDrag", (PyCFunction)DragObj_DisposeDrag, 1,
+	 "() -> None"},
+	{"AddDragItemFlavor", (PyCFunction)DragObj_AddDragItemFlavor, 1,
+	 "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, FlavorFlags theFlags) -> None"},
+	{"SetDragItemFlavorData", (PyCFunction)DragObj_SetDragItemFlavorData, 1,
+	 "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> None"},
+	{"SetDragImage", (PyCFunction)DragObj_SetDragImage, 1,
+	 "(PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags) -> None"},
+	{"ChangeDragBehaviors", (PyCFunction)DragObj_ChangeDragBehaviors, 1,
+	 "(DragBehaviors inBehaviorsToSet, DragBehaviors inBehaviorsToClear) -> None"},
+	{"TrackDrag", (PyCFunction)DragObj_TrackDrag, 1,
+	 "(EventRecord theEvent, RgnHandle theRegion) -> None"},
+	{"CountDragItems", (PyCFunction)DragObj_CountDragItems, 1,
+	 "() -> (UInt16 numItems)"},
+	{"GetDragItemReferenceNumber", (PyCFunction)DragObj_GetDragItemReferenceNumber, 1,
+	 "(UInt16 index) -> (ItemReference theItemRef)"},
+	{"CountDragItemFlavors", (PyCFunction)DragObj_CountDragItemFlavors, 1,
+	 "(ItemReference theItemRef) -> (UInt16 numFlavors)"},
+	{"GetFlavorType", (PyCFunction)DragObj_GetFlavorType, 1,
+	 "(ItemReference theItemRef, UInt16 index) -> (FlavorType theType)"},
+	{"GetFlavorFlags", (PyCFunction)DragObj_GetFlavorFlags, 1,
+	 "(ItemReference theItemRef, FlavorType theType) -> (FlavorFlags theFlags)"},
+	{"GetFlavorDataSize", (PyCFunction)DragObj_GetFlavorDataSize, 1,
+	 "(ItemReference theItemRef, FlavorType theType) -> (Size dataSize)"},
+	{"GetFlavorData", (PyCFunction)DragObj_GetFlavorData, 1,
+	 "(ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> (Buffer dataPtr)"},
+	{"GetDragItemBounds", (PyCFunction)DragObj_GetDragItemBounds, 1,
+	 "(ItemReference theItemRef) -> (Rect itemBounds)"},
+	{"SetDragItemBounds", (PyCFunction)DragObj_SetDragItemBounds, 1,
+	 "(ItemReference theItemRef, Rect itemBounds) -> None"},
+	{"GetDropLocation", (PyCFunction)DragObj_GetDropLocation, 1,
+	 "() -> (AEDesc dropLocation)"},
+	{"SetDropLocation", (PyCFunction)DragObj_SetDropLocation, 1,
+	 "(AEDesc dropLocation) -> None"},
+	{"GetDragAttributes", (PyCFunction)DragObj_GetDragAttributes, 1,
+	 "() -> (DragAttributes flags)"},
+	{"GetDragMouse", (PyCFunction)DragObj_GetDragMouse, 1,
+	 "() -> (Point mouse, Point globalPinnedMouse)"},
+	{"SetDragMouse", (PyCFunction)DragObj_SetDragMouse, 1,
+	 "(Point globalPinnedMouse) -> None"},
+	{"GetDragOrigin", (PyCFunction)DragObj_GetDragOrigin, 1,
+	 "() -> (Point globalInitialMouse)"},
+	{"GetDragModifiers", (PyCFunction)DragObj_GetDragModifiers, 1,
+	 "() -> (SInt16 modifiers, SInt16 mouseDownModifiers, SInt16 mouseUpModifiers)"},
+	{"ShowDragHilite", (PyCFunction)DragObj_ShowDragHilite, 1,
+	 "(RgnHandle hiliteFrame, Boolean inside) -> None"},
+	{"HideDragHilite", (PyCFunction)DragObj_HideDragHilite, 1,
+	 "() -> None"},
+	{"DragPreScroll", (PyCFunction)DragObj_DragPreScroll, 1,
+	 "(SInt16 dH, SInt16 dV) -> None"},
+	{"DragPostScroll", (PyCFunction)DragObj_DragPostScroll, 1,
+	 "() -> None"},
+	{"UpdateDragHilite", (PyCFunction)DragObj_UpdateDragHilite, 1,
+	 "(RgnHandle updateRgn) -> None"},
 	{NULL, NULL, 0}
 };
 
@@ -126,630 +750,6 @@
 	return _res;
 }
 
-static PyObject *Drag_DisposeDrag(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = DisposeDrag(theDrag);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_AddDragItemFlavor(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	FlavorType theType;
-	char *dataPtr__in__;
-	long dataPtr__len__;
-	int dataPtr__in_len__;
-	FlavorFlags theFlags;
-	if (!PyArg_ParseTuple(_args, "O&lO&z#l",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetOSType, &theType,
-	                      &dataPtr__in__, &dataPtr__in_len__,
-	                      &theFlags))
-		return NULL;
-	dataPtr__len__ = dataPtr__in_len__;
-	_err = AddDragItemFlavor(theDrag,
-	                         theItemRef,
-	                         theType,
-	                         dataPtr__in__, dataPtr__len__,
-	                         theFlags);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
- dataPtr__error__: ;
-	return _res;
-}
-
-static PyObject *Drag_SetDragItemFlavorData(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	FlavorType theType;
-	char *dataPtr__in__;
-	long dataPtr__len__;
-	int dataPtr__in_len__;
-	UInt32 dataOffset;
-	if (!PyArg_ParseTuple(_args, "O&lO&z#l",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetOSType, &theType,
-	                      &dataPtr__in__, &dataPtr__in_len__,
-	                      &dataOffset))
-		return NULL;
-	dataPtr__len__ = dataPtr__in_len__;
-	_err = SetDragItemFlavorData(theDrag,
-	                             theItemRef,
-	                             theType,
-	                             dataPtr__in__, dataPtr__len__,
-	                             dataOffset);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
- dataPtr__error__: ;
-	return _res;
-}
-
-static PyObject *Drag_SetDragImage(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	PixMapHandle imagePixMap;
-	RgnHandle imageRgn;
-	Point imageOffsetPt;
-	DragImageFlags theImageFlags;
-	if (!PyArg_ParseTuple(_args, "O&O&O&O&l",
-	                      DragObj_Convert, &theDrag,
-	                      ResObj_Convert, &imagePixMap,
-	                      ResObj_Convert, &imageRgn,
-	                      PyMac_GetPoint, &imageOffsetPt,
-	                      &theImageFlags))
-		return NULL;
-	_err = SetDragImage(theDrag,
-	                    imagePixMap,
-	                    imageRgn,
-	                    imageOffsetPt,
-	                    theImageFlags);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_ChangeDragBehaviors(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	DragBehaviors inBehaviorsToSet;
-	DragBehaviors inBehaviorsToClear;
-	if (!PyArg_ParseTuple(_args, "O&ll",
-	                      DragObj_Convert, &theDrag,
-	                      &inBehaviorsToSet,
-	                      &inBehaviorsToClear))
-		return NULL;
-	_err = ChangeDragBehaviors(theDrag,
-	                           inBehaviorsToSet,
-	                           inBehaviorsToClear);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_TrackDrag(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	EventRecord theEvent;
-	RgnHandle theRegion;
-	if (!PyArg_ParseTuple(_args, "O&O&O&",
-	                      DragObj_Convert, &theDrag,
-	                      PyMac_GetEventRecord, &theEvent,
-	                      ResObj_Convert, &theRegion))
-		return NULL;
-	_err = TrackDrag(theDrag,
-	                 &theEvent,
-	                 theRegion);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_CountDragItems(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	UInt16 numItems;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = CountDragItems(theDrag,
-	                      &numItems);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("H",
-	                     numItems);
-	return _res;
-}
-
-static PyObject *Drag_GetDragItemReferenceNumber(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	UInt16 index;
-	ItemReference theItemRef;
-	if (!PyArg_ParseTuple(_args, "O&H",
-	                      DragObj_Convert, &theDrag,
-	                      &index))
-		return NULL;
-	_err = GetDragItemReferenceNumber(theDrag,
-	                                  index,
-	                                  &theItemRef);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("l",
-	                     theItemRef);
-	return _res;
-}
-
-static PyObject *Drag_CountDragItemFlavors(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	UInt16 numFlavors;
-	if (!PyArg_ParseTuple(_args, "O&l",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef))
-		return NULL;
-	_err = CountDragItemFlavors(theDrag,
-	                            theItemRef,
-	                            &numFlavors);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("H",
-	                     numFlavors);
-	return _res;
-}
-
-static PyObject *Drag_GetFlavorType(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	UInt16 index;
-	FlavorType theType;
-	if (!PyArg_ParseTuple(_args, "O&lH",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      &index))
-		return NULL;
-	_err = GetFlavorType(theDrag,
-	                     theItemRef,
-	                     index,
-	                     &theType);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("O&",
-	                     PyMac_BuildOSType, theType);
-	return _res;
-}
-
-static PyObject *Drag_GetFlavorFlags(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	FlavorType theType;
-	FlavorFlags theFlags;
-	if (!PyArg_ParseTuple(_args, "O&lO&",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetOSType, &theType))
-		return NULL;
-	_err = GetFlavorFlags(theDrag,
-	                      theItemRef,
-	                      theType,
-	                      &theFlags);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("l",
-	                     theFlags);
-	return _res;
-}
-
-static PyObject *Drag_GetFlavorDataSize(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	FlavorType theType;
-	Size dataSize;
-	if (!PyArg_ParseTuple(_args, "O&lO&",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetOSType, &theType))
-		return NULL;
-	_err = GetFlavorDataSize(theDrag,
-	                         theItemRef,
-	                         theType,
-	                         &dataSize);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("l",
-	                     dataSize);
-	return _res;
-}
-
-static PyObject *Drag_GetFlavorData(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	FlavorType theType;
-	char *dataPtr__out__;
-	long dataPtr__len__;
-	int dataPtr__in_len__;
-	UInt32 dataOffset;
-	if (!PyArg_ParseTuple(_args, "O&lO&il",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetOSType, &theType,
-	                      &dataPtr__in_len__,
-	                      &dataOffset))
-		return NULL;
-	if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
-	{
-		PyErr_NoMemory();
-		goto dataPtr__error__;
-	}
-	dataPtr__len__ = dataPtr__in_len__;
-	_err = GetFlavorData(theDrag,
-	                     theItemRef,
-	                     theType,
-	                     dataPtr__out__, &dataPtr__len__,
-	                     dataOffset);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("s#",
-	                     dataPtr__out__, (int)dataPtr__len__);
-	free(dataPtr__out__);
- dataPtr__error__: ;
-	return _res;
-}
-
-static PyObject *Drag_GetDragItemBounds(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	Rect itemBounds;
-	if (!PyArg_ParseTuple(_args, "O&l",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef))
-		return NULL;
-	_err = GetDragItemBounds(theDrag,
-	                         theItemRef,
-	                         &itemBounds);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("O&",
-	                     PyMac_BuildRect, &itemBounds);
-	return _res;
-}
-
-static PyObject *Drag_SetDragItemBounds(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	ItemReference theItemRef;
-	Rect itemBounds;
-	if (!PyArg_ParseTuple(_args, "O&lO&",
-	                      DragObj_Convert, &theDrag,
-	                      &theItemRef,
-	                      PyMac_GetRect, &itemBounds))
-		return NULL;
-	_err = SetDragItemBounds(theDrag,
-	                         theItemRef,
-	                         &itemBounds);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_GetDropLocation(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	AEDesc dropLocation;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = GetDropLocation(theDrag,
-	                       &dropLocation);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("O&",
-	                     AEDesc_New, &dropLocation);
-	return _res;
-}
-
-static PyObject *Drag_SetDropLocation(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	AEDesc dropLocation;
-	if (!PyArg_ParseTuple(_args, "O&O&",
-	                      DragObj_Convert, &theDrag,
-	                      AEDesc_Convert, &dropLocation))
-		return NULL;
-	_err = SetDropLocation(theDrag,
-	                       &dropLocation);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_GetDragAttributes(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	DragAttributes flags;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = GetDragAttributes(theDrag,
-	                         &flags);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("l",
-	                     flags);
-	return _res;
-}
-
-static PyObject *Drag_GetDragMouse(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	Point mouse;
-	Point globalPinnedMouse;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = GetDragMouse(theDrag,
-	                    &mouse,
-	                    &globalPinnedMouse);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("O&O&",
-	                     PyMac_BuildPoint, mouse,
-	                     PyMac_BuildPoint, globalPinnedMouse);
-	return _res;
-}
-
-static PyObject *Drag_SetDragMouse(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	Point globalPinnedMouse;
-	if (!PyArg_ParseTuple(_args, "O&O&",
-	                      DragObj_Convert, &theDrag,
-	                      PyMac_GetPoint, &globalPinnedMouse))
-		return NULL;
-	_err = SetDragMouse(theDrag,
-	                    globalPinnedMouse);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_GetDragOrigin(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	Point globalInitialMouse;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = GetDragOrigin(theDrag,
-	                     &globalInitialMouse);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("O&",
-	                     PyMac_BuildPoint, globalInitialMouse);
-	return _res;
-}
-
-static PyObject *Drag_GetDragModifiers(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	SInt16 modifiers;
-	SInt16 mouseDownModifiers;
-	SInt16 mouseUpModifiers;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = GetDragModifiers(theDrag,
-	                        &modifiers,
-	                        &mouseDownModifiers,
-	                        &mouseUpModifiers);
-	if (_err != noErr) return PyMac_Error(_err);
-	_res = Py_BuildValue("hhh",
-	                     modifiers,
-	                     mouseDownModifiers,
-	                     mouseUpModifiers);
-	return _res;
-}
-
-static PyObject *Drag_ShowDragHilite(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	RgnHandle hiliteFrame;
-	Boolean inside;
-	if (!PyArg_ParseTuple(_args, "O&O&b",
-	                      DragObj_Convert, &theDrag,
-	                      ResObj_Convert, &hiliteFrame,
-	                      &inside))
-		return NULL;
-	_err = ShowDragHilite(theDrag,
-	                      hiliteFrame,
-	                      inside);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_HideDragHilite(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = HideDragHilite(theDrag);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_DragPreScroll(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	SInt16 dH;
-	SInt16 dV;
-	if (!PyArg_ParseTuple(_args, "O&hh",
-	                      DragObj_Convert, &theDrag,
-	                      &dH,
-	                      &dV))
-		return NULL;
-	_err = DragPreScroll(theDrag,
-	                     dH,
-	                     dV);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_DragPostScroll(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	if (!PyArg_ParseTuple(_args, "O&",
-	                      DragObj_Convert, &theDrag))
-		return NULL;
-	_err = DragPostScroll(theDrag);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Drag_UpdateDragHilite(_self, _args)
-	PyObject *_self;
-	PyObject *_args;
-{
-	PyObject *_res = NULL;
-	OSErr _err;
-	DragRef theDrag;
-	RgnHandle updateRgn;
-	if (!PyArg_ParseTuple(_args, "O&O&",
-	                      DragObj_Convert, &theDrag,
-	                      ResObj_Convert, &updateRgn))
-		return NULL;
-	_err = UpdateDragHilite(theDrag,
-	                        updateRgn);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
 static PyObject *Drag_GetDragHiliteColor(_self, _args)
 	PyObject *_self;
 	PyObject *_args;
@@ -916,60 +916,6 @@
 static PyMethodDef Drag_methods[] = {
 	{"NewDrag", (PyCFunction)Drag_NewDrag, 1,
 	 "() -> (DragRef theDrag)"},
-	{"DisposeDrag", (PyCFunction)Drag_DisposeDrag, 1,
-	 "(DragRef theDrag) -> None"},
-	{"AddDragItemFlavor", (PyCFunction)Drag_AddDragItemFlavor, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, FlavorType theType, Buffer dataPtr, FlavorFlags theFlags) -> None"},
-	{"SetDragItemFlavorData", (PyCFunction)Drag_SetDragItemFlavorData, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> None"},
-	{"SetDragImage", (PyCFunction)Drag_SetDragImage, 1,
-	 "(DragRef theDrag, PixMapHandle imagePixMap, RgnHandle imageRgn, Point imageOffsetPt, DragImageFlags theImageFlags) -> None"},
-	{"ChangeDragBehaviors", (PyCFunction)Drag_ChangeDragBehaviors, 1,
-	 "(DragRef theDrag, DragBehaviors inBehaviorsToSet, DragBehaviors inBehaviorsToClear) -> None"},
-	{"TrackDrag", (PyCFunction)Drag_TrackDrag, 1,
-	 "(DragRef theDrag, EventRecord theEvent, RgnHandle theRegion) -> None"},
-	{"CountDragItems", (PyCFunction)Drag_CountDragItems, 1,
-	 "(DragRef theDrag) -> (UInt16 numItems)"},
-	{"GetDragItemReferenceNumber", (PyCFunction)Drag_GetDragItemReferenceNumber, 1,
-	 "(DragRef theDrag, UInt16 index) -> (ItemReference theItemRef)"},
-	{"CountDragItemFlavors", (PyCFunction)Drag_CountDragItemFlavors, 1,
-	 "(DragRef theDrag, ItemReference theItemRef) -> (UInt16 numFlavors)"},
-	{"GetFlavorType", (PyCFunction)Drag_GetFlavorType, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, UInt16 index) -> (FlavorType theType)"},
-	{"GetFlavorFlags", (PyCFunction)Drag_GetFlavorFlags, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, FlavorType theType) -> (FlavorFlags theFlags)"},
-	{"GetFlavorDataSize", (PyCFunction)Drag_GetFlavorDataSize, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, FlavorType theType) -> (Size dataSize)"},
-	{"GetFlavorData", (PyCFunction)Drag_GetFlavorData, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, FlavorType theType, Buffer dataPtr, UInt32 dataOffset) -> (Buffer dataPtr)"},
-	{"GetDragItemBounds", (PyCFunction)Drag_GetDragItemBounds, 1,
-	 "(DragRef theDrag, ItemReference theItemRef) -> (Rect itemBounds)"},
-	{"SetDragItemBounds", (PyCFunction)Drag_SetDragItemBounds, 1,
-	 "(DragRef theDrag, ItemReference theItemRef, Rect itemBounds) -> None"},
-	{"GetDropLocation", (PyCFunction)Drag_GetDropLocation, 1,
-	 "(DragRef theDrag) -> (AEDesc dropLocation)"},
-	{"SetDropLocation", (PyCFunction)Drag_SetDropLocation, 1,
-	 "(DragRef theDrag, AEDesc dropLocation) -> None"},
-	{"GetDragAttributes", (PyCFunction)Drag_GetDragAttributes, 1,
-	 "(DragRef theDrag) -> (DragAttributes flags)"},
-	{"GetDragMouse", (PyCFunction)Drag_GetDragMouse, 1,
-	 "(DragRef theDrag) -> (Point mouse, Point globalPinnedMouse)"},
-	{"SetDragMouse", (PyCFunction)Drag_SetDragMouse, 1,
-	 "(DragRef theDrag, Point globalPinnedMouse) -> None"},
-	{"GetDragOrigin", (PyCFunction)Drag_GetDragOrigin, 1,
-	 "(DragRef theDrag) -> (Point globalInitialMouse)"},
-	{"GetDragModifiers", (PyCFunction)Drag_GetDragModifiers, 1,
-	 "(DragRef theDrag) -> (SInt16 modifiers, SInt16 mouseDownModifiers, SInt16 mouseUpModifiers)"},
-	{"ShowDragHilite", (PyCFunction)Drag_ShowDragHilite, 1,
-	 "(DragRef theDrag, RgnHandle hiliteFrame, Boolean inside) -> None"},
-	{"HideDragHilite", (PyCFunction)Drag_HideDragHilite, 1,
-	 "(DragRef theDrag) -> None"},
-	{"DragPreScroll", (PyCFunction)Drag_DragPreScroll, 1,
-	 "(DragRef theDrag, SInt16 dH, SInt16 dV) -> None"},
-	{"DragPostScroll", (PyCFunction)Drag_DragPostScroll, 1,
-	 "(DragRef theDrag) -> None"},
-	{"UpdateDragHilite", (PyCFunction)Drag_UpdateDragHilite, 1,
-	 "(DragRef theDrag, RgnHandle updateRgn) -> None"},
 	{"GetDragHiliteColor", (PyCFunction)Drag_GetDragHiliteColor, 1,
 	 "(WindowPtr window) -> (RGBColor color)"},
 	{"WaitMouseMoved", (PyCFunction)Drag_WaitMouseMoved, 1,
diff --git a/Mac/Modules/drag/dragscan.py b/Mac/Modules/drag/dragscan.py
index 5827ff0..1a8d269 100644
--- a/Mac/Modules/drag/dragscan.py
+++ b/Mac/Modules/drag/dragscan.py
@@ -37,7 +37,7 @@
 		listname = "functions"
 		if arglist:
 			t, n, m = arglist[0]
-			if t == 'DragReference' and m == "InMode":
+			if t in ('DragReference', 'DragRef') and m == "InMode":
 				classname = "Method"
 				listname = "methods"
 		return classname, listname