Index: generic/nsf.c =================================================================== diff -u -rac7af6dddd0ab0b13bfd0d1f4b1a829326f045a3 -r79c263a13be8850014d056153956f5a83dfbb639 --- generic/nsf.c (.../nsf.c) (revision ac7af6dddd0ab0b13bfd0d1f4b1a829326f045a3) +++ generic/nsf.c (.../nsf.c) (revision 79c263a13be8850014d056153956f5a83dfbb639) @@ -396,8 +396,23 @@ {int i; fprintf(stderr, "\t CALL: %s ", ObjStr(methodObj));for(i=0; iself || cscPtr->frameType != NSF_CSC_TYPE_ACTIVE_FILTER)) { @@ -6659,7 +6676,7 @@ unknown = 1; fprintf(stderr, "+++ %s is protected, therefore maybe unknown %p %s lastself=%p o=%p cd %p flags = %.6x\n", methodName, cmdObj, ObjStr(cmdObj), lastSelf, o, clientData, flags); - /*Tcl85showStack(interp);*/ + /*TclShowStack(interp);*/ } } @@ -10239,7 +10256,7 @@ Tcl_CallFrame *framePtr; Tcl_Namespace *nsPtr; - /*Tcl85showStack(interp);*/ + /*TclShowStack(interp);*/ /* * Find last incovation outside the Next Scripting system namespaces. For @@ -11485,6 +11502,22 @@ * Begin generated Next Scripting commands *******************************************/ /* +nsfCmd yieldcheck NsfYiedCheckCmd { +} +*/ +static int +NsfYiedCheckCmd(Tcl_Interp *interp) { +#if defined(NRE) + Interp *iPtr = (Interp *)interp; + CoroutineData *corPtr = iPtr->execEnvPtr->corPtr; + + TclShowStack(interp); + fprintf(stderr, "stackLevel: %p %d\n", corPtr->stackLevel, *corPtr->stackLevel); +#endif + return TCL_OK; +} + +/* nsfCmd alias NsfAliasCmd { {-argName "object" -type object} {-argName "-per-object"} @@ -12990,7 +13023,7 @@ NsfCallStackContent *cscPtr; int result = TCL_OK; - /*fprintf(stderr, "getSelfObj returns %p\n", object); Tcl85showStack(interp);*/ + /*fprintf(stderr, "getSelfObj returns %p\n", object); TclShowStack(interp);*/ if (selfoption == 0 || selfoption == CurrentoptionObjectIdx) { if (object) { @@ -13439,20 +13472,22 @@ * There is no parameter definition available, get a new one in * the the string representation. */ - /*fprintf(stderr, "calling %s objectparameter\n", objectName(object));*/ Tcl_Obj *methodObj = NsfMethodObj(interp, object, NSF_o_objectparameter_idx); if (methodObj) { + /* fprintf(stderr, "=== calling %s objectparameter\n", objectName(object));*/ result = CallMethod((ClientData) object, interp, methodObj, 2, 0, NSF_CM_NO_PROTECT); if (result == TCL_OK) { rawConfArgs = Tcl_GetObjResult(interp); - /*fprintf(stderr, ".... rawConfArgs for %s => %s\n", objectName(object), ObjStr(rawConfArgs));*/ + /*fprintf(stderr, ".... rawConfArgs for %s => '%s'\n", + objectName(object), ObjStr(rawConfArgs));*/ INCR_REF_COUNT(rawConfArgs); /* Parse the string representation to obtain the internal representation */ - result = ParamDefsParse(interp, methodName, rawConfArgs, NSF_DISALLOWED_ARG_OBJECT_PARAMETER, parsedParamPtr); + result = ParamDefsParse(interp, methodName, rawConfArgs, + NSF_DISALLOWED_ARG_OBJECT_PARAMETER, parsedParamPtr); if (result == TCL_OK) { NsfParsedParam *ppDefPtr = NEW(NsfParsedParam); ppDefPtr->paramDefs = parsedParamPtr->paramDefs; @@ -13467,6 +13502,7 @@ result = TCL_OK; } } + return result; } @@ -13976,7 +14012,7 @@ /*fprintf(stderr, "### setting trace for %s on frame %p\n", fullName, Tcl_Interp_varFramePtr(interp)); - Tcl85showStack(interp);*/ + TclShowStack(interp);*/ result = Tcl_TraceVar(interp, vn, TCL_TRACE_UNSETS, (Tcl_VarTraceProc*)NsfUnsetTrace, (ClientData)objPtr);