Index: generic/nsf.c =================================================================== diff -u -N -r53a9c013e5405281619839baee21d3d33b77d53e -r27e5aa8b2a27ce72f107fd71f3c1d9b139f6c02d --- generic/nsf.c (.../nsf.c) (revision 53a9c013e5405281619839baee21d3d33b77d53e) +++ generic/nsf.c (.../nsf.c) (revision 27e5aa8b2a27ce72f107fd71f3c1d9b139f6c02d) @@ -30082,15 +30082,21 @@ const char *procName = Tcl_GetCommandName(interp, cscPtr->cmdPtr); Tcl_SetObjResult(interp, Tcl_NewStringObj(procName, -1)); } else { - return NsfPrintError(interp, "can't find proc"); + /* TODO: Is this, practically, reachable? */ + return NsfPrintError(interp, "can't find method"); } break; case CurrentoptionMethodpathIdx: cscPtr = CallStackGetTopFrame0(interp); - Tcl_SetObjResult(interp, NsfMethodNamePath(interp, - CallStackGetTclFrame(interp, NULL, 1), - Tcl_GetCommandName(interp, cscPtr->cmdPtr))); + if (cscPtr != NULL) { + Tcl_SetObjResult(interp, NsfMethodNamePath(interp, + CallStackGetTclFrame(interp, NULL, 1), + Tcl_GetCommandName(interp, cscPtr->cmdPtr))); + } else { + /* TODO: Is this, practically, reachable? */ + return NsfPrintError(interp, "can't find method"); + } break; case CurrentoptionClassIdx: /* class subcommand */