Index: generic/nsf.c =================================================================== diff -u -re979a7fbb725c874f4900258e7537aaf29c0fbae -r28fd214e129bc6c2384a2ef587a2be8b480c7248 --- generic/nsf.c (.../nsf.c) (revision e979a7fbb725c874f4900258e7537aaf29c0fbae) +++ generic/nsf.c (.../nsf.c) (revision 28fd214e129bc6c2384a2ef587a2be8b480c7248) @@ -2796,11 +2796,15 @@ Tcl_Obj *keyObj; Tcl_Var var; - if (!FOR_COLON_RESOLVER(varName) || (flags & (TCL_GLOBAL_ONLY|TCL_NAMESPACE_ONLY))) { + /* + * TCL_GLOBAL_ONLY is removed, since "vwait :varName" is called with + * with this flag. + */ + if (!FOR_COLON_RESOLVER(varName) || (flags & (/*TCL_GLOBAL_ONLY|*/TCL_NAMESPACE_ONLY))) { /* ordinary names and global lookups are not for us */ #if defined(VAR_RESOLVER_TRACE) - fprintf(stderr, "InterpColonVarResolver '%s' flags %.6x not for us nsPtr %p\n", - varName, flags, nsPtr); + fprintf(stderr, "InterpColonVarResolver '%s' flags %.6x not for us\n", + varName, flags); #endif return TCL_CONTINUE; } @@ -3308,22 +3312,6 @@ } } -/* - * ensure that a variable exists on object varTablePtr or nsPtr->varTablePtr, - * if necessary create it. Return Var* if successful, otherwise 0 - */ -static Var * -NSRequireVariableOnObj(Tcl_Interp *interp, NsfObject *object, CONST char *name, int flgs) { - CallFrame frame, *framePtr = &frame; - Var *varPtr, *arrayPtr; - - Nsf_PushFrameObj(interp, object, framePtr); - varPtr = TclLookupVar(interp, name, 0, flgs, "obj vwait", - /*createPart1*/ 1, /*createPart2*/ 0, &arrayPtr); - Nsf_PopFrameObj(interp, framePtr); - return varPtr; -} - static int Nsf_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command cmd) { CallStackClearCmdReferences(interp, cmd); @@ -12189,7 +12177,23 @@ return result; } +#if NSF_VWAIT /* + * ensure that a variable exists on object varTablePtr or nsPtr->varTablePtr, + * if necessary create it. Return Var* if successful, otherwise 0 + */ +static Var * +NSRequireVariableOnObj(Tcl_Interp *interp, NsfObject *object, CONST char *name, int flgs) { + CallFrame frame, *framePtr = &frame; + Var *varPtr, *arrayPtr; + + Nsf_PushFrameObj(interp, object, framePtr); + varPtr = TclLookupVar(interp, name, 0, flgs, "obj vwait", + /*createPart1*/ 1, /*createPart2*/ 0, &arrayPtr); + Nsf_PopFrameObj(interp, framePtr); + return varPtr; +} +/* * copied from Tcl, since not exported */ static char * @@ -12205,6 +12209,7 @@ *donePtr = 1; return (char *) NULL; } +#endif static int NsfProcAliasMethod(ClientData clientData, @@ -16983,6 +16988,7 @@ return result; } +#if NSF_VWAIT /* objectMethod vwait NsfOVwaitMethod { {-argName "varname" -required 1} @@ -17031,7 +17037,7 @@ } return TCL_OK; } - +#endif /*************************** * End Object Methods ***************************/