Index: generic/xotclStack.c =================================================================== diff -u -r721a118d34e93f4149da419436efa5b17bab9b35 -r4e4b28776b65781a8624006c026986add5080cb5 --- generic/xotclStack.c (.../xotclStack.c) (revision 721a118d34e93f4149da419436efa5b17bab9b35) +++ generic/xotclStack.c (.../xotclStack.c) (revision 4e4b28776b65781a8624006c026986add5080cb5) @@ -1,5 +1,10 @@ #if !defined(TCL85STACK) +XOTCLINLINE static XOTclObject* +GetSelfObj(Tcl_Interp *interp) { + return CallStackGetFrame(interp)->self; +} + static XOTclCallStackContent* CallStackGetFrame(Tcl_Interp *interp) { XOTclCallStack *cs = &RUNTIME_STATE(interp)->cs; @@ -23,11 +28,17 @@ return top; } -XOTCLINLINE static XOTclObject* -GetSelfObj(Tcl_Interp *interp) { - return CallStackGetFrame(interp)->self; -} +static void +CallStackClearCmdReferences(Tcl_Interp *interp, Tcl_Command cmd) { + XOTclCallStack *cs = &RUNTIME_STATE(interp)->cs; + XOTclCallStackContent *csc = cs->top; + for (; csc > cs->content; csc--) { + if (csc->cmdPtr == cmd) { + csc->cmdPtr = NULL; + } + } +} #endif /* TCL85STACK */