Index: generic/nsfStack.c =================================================================== diff -u -r0f5513cd0b35c79689a0d04b967ea340577889e8 -r4454585cc13933eceea7815732a3d889e47a0f97 --- generic/nsfStack.c (.../nsfStack.c) (revision 0f5513cd0b35c79689a0d04b967ea340577889e8) +++ generic/nsfStack.c (.../nsfStack.c) (revision 4454585cc13933eceea7815732a3d889e47a0f97) @@ -221,7 +221,8 @@ if (!(((NsfCallStackContent *)Tcl_CallFrame_clientData(framePtr))->frameType & NSF_CSC_TYPE_INACTIVE)) break; } else { - if (flag & (FRAME_IS_NSF_CMETHOD|FRAME_IS_NSF_OBJECT)) continue; + //if (flag & (FRAME_IS_NSF_CMETHOD|FRAME_IS_NSF_OBJECT)) continue; + if (flag & (FRAME_IS_NSF_OBJECT)) continue; if (flag == 0 || flag & FRAME_IS_PROC) break; } } @@ -344,7 +345,7 @@ /* *---------------------------------------------------------------------- - * NsfCallStackFindActiveFrame -- + * NsfCallStackFindLastInvocation -- * * Find last invocation of a (scripted or nonleaf) method with a * specified offset. @@ -423,7 +424,7 @@ /* *---------------------------------------------------------------------- - * CallStackUseActiveFrames -- + * CallStackUseActiveFrame -- * * Activate the varFrame of the first active non-object frame and * save the previously active frames in the call frame context. @@ -440,12 +441,10 @@ */ static void -CallStackUseActiveFrames(Tcl_Interp *interp, callFrameContext *ctx) { - Tcl_CallFrame - *inFramePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp), - *framePtr; +CallStackUseActiveFrame(Tcl_Interp *interp, callFrameContext *ctx) { + Tcl_CallFrame *framePtr, *inFramePtr; - /*NsfCallStackFindActiveFrame(interp, 0, &activeFramePtr);*/ + inFramePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp); /* Get the first active non object frame */ framePtr = CallStackGetActiveProcFrame(inFramePtr); @@ -454,12 +453,12 @@ if (inFramePtr == framePtr) { /* call frame pointers are fine */ - ctx->framesSaved = 0; + ctx->frameSaved = 0; } else { ctx->varFramePtr = inFramePtr; - /*fprintf(stderr, "CallStackUseActiveFrames stores %p\n",framePtr);*/ + /*fprintf(stderr, "CallStackUseActiveFrame stores %p\n",framePtr);*/ Tcl_Interp_varFramePtr(interp) = (CallFrame *)framePtr; - ctx->framesSaved = 1; + ctx->frameSaved = 1; } } @@ -469,7 +468,7 @@ * * Restore the previously saved frames from the speficied call * frame context. These frames are typically saved by - * CallStackUseActiveFrames(). + * CallStackUseActiveFrame(). * * Results: * None. @@ -482,7 +481,7 @@ static void CallStackRestoreSavedFrames(Tcl_Interp *interp, callFrameContext *ctx) { - if (ctx->framesSaved) { + if (ctx->frameSaved) { /*fprintf(stderr, "CallStackRestoreSavedFrames drops %p restores %p\n", Tcl_Interp_varFramePtr(interp), ctx->varFramePtr);*/ Tcl_Interp_varFramePtr(interp) = (CallFrame *)ctx->varFramePtr;