Index: generic/nsf.c =================================================================== diff -u -r86caad4d5db5f26fcf0d5b2fe009eefef554282c -r4f234291ad9583aafb5a8c9476d4c3f56838fab3 --- generic/nsf.c (.../nsf.c) (revision 86caad4d5db5f26fcf0d5b2fe009eefef554282c) +++ generic/nsf.c (.../nsf.c) (revision 4f234291ad9583aafb5a8c9476d4c3f56838fab3) @@ -20693,15 +20693,9 @@ nonnull_assert(interp != NULL); switch (level) { - case CALLING_LEVEL: { - Tcl_CallFrame *callingFramePtr = NULL; - NsfCallStackFindCallingContext(interp, 1, &framePtr, &callingFramePtr); - if (framePtr == NULL) { - framePtr = callingFramePtr; - } - // NsfCallStackFindLastInvocation(interp, 1, &framePtr); + case CALLING_LEVEL: + NsfCallStackFindLastInvocation(interp, 1, &framePtr); break; - } case ACTIVE_LEVEL: NsfCallStackFindActiveFrame(interp, 1, &framePtr); break; @@ -32365,17 +32359,11 @@ objv += i; if (framePtr == NULL) { - Tcl_CallFrame *callingFramePtr = NULL; - NsfCallStackFindCallingContext(interp, 1, &framePtr, &callingFramePtr); - // fprintf(stderr, "UPLEVEL framePtr %p\n", framePtr); - // NsfCallStackFindLastInvocation(interp, 1, &framePtr); + NsfCallStackFindLastInvocation(interp, 1, &framePtr); if (framePtr == NULL) { - framePtr = callingFramePtr; + framePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp)->callerVarPtr; if (framePtr == NULL) { - framePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp)->callerVarPtr; - if (framePtr == NULL) { - framePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp); - } + framePtr = (Tcl_CallFrame *)Tcl_Interp_varFramePtr(interp); } } }