Index: tclOO.c
===================================================================
RCS file: /cvsroot/tcl/oocore/generic/tclOO.c,v
retrieving revision 1.26
diff -d -u -r1.26 tclOO.c
--- tclOO.c	12 Oct 2007 15:21:09 -0000	1.26
+++ tclOO.c	2 Dec 2007 09:49:25 -0000
@@ -1766,7 +1766,7 @@
     methodNamePtr = objv[1];
     if (oPtr->mapMethodNameProc != NULL) {
 	methodNamePtr = Tcl_DuplicateObj(methodNamePtr);
-	result = oPtr->mapMethodNameProc(interp, oPtr, startCls,
+	result = oPtr->mapMethodNameProc(interp, oPtr, &startCls,
 		methodNamePtr);
 	if (result != TCL_OK) {
 	    Tcl_DecrRefCount(methodNamePtr);
@@ -3011,6 +3011,14 @@
 {
     return (Tcl_Object) ((Class *)clazz)->thisPtr;
 }
+void
+Tcl_ObjectSetMapMethodNameProc(
+    Tcl_Object oPtr,
+    TclOO_MapMethodNameProc mapMethodNameProc)
+{
+    ((Object *)oPtr)->mapMethodNameProc = mapMethodNameProc;
+}
+
 
 /*
  * Local Variables:
Index: tclOOInt.h
===================================================================
RCS file: /cvsroot/tcl/oocore/generic/tclOOInt.h,v
retrieving revision 1.13
diff -d -u -r1.13 tclOOInt.h
--- tclOOInt.h	12 Oct 2007 15:21:09 -0000	1.13
+++ tclOOInt.h	2 Dec 2007 09:49:30 -0000
@@ -58,7 +58,7 @@
 typedef void (*TclOO_PmCDDeleteProc)(ClientData clientData);
 typedef ClientData (*TclOO_PmCDCloneProc)(ClientData clientData);
 typedef int (*TclOO_MapMethodNameProc)(Tcl_Interp *interp, struct Object *oPtr,
-	struct Class *startClsPtr, Tcl_Obj *methodObj);
+	struct Class **startClsPtrPtr, Tcl_Obj *methodObj);
 
 /*
  * Procedure-like methods have the following extra information. It is a
