Index: generic/nsf.c =================================================================== diff -u -refe655eee129abd5c704299a029e0e39d80d2218 -ra9c0e0c41307c95dc1b4f420e4ebcce3d4963646 --- generic/nsf.c (.../nsf.c) (revision efe655eee129abd5c704299a029e0e39d80d2218) +++ generic/nsf.c (.../nsf.c) (revision a9c0e0c41307c95dc1b4f420e4ebcce3d4963646) @@ -5955,6 +5955,8 @@ #endif } +static NsfObject *NSNamespaceClientDataObject(ClientData clientData) nonnull(1) pure; + static NsfObject * NSNamespaceClientDataObject(ClientData clientData) { #ifdef NSF_MEM_COUNT @@ -11986,9 +11988,17 @@ *flagsPtr |= NSF_CSC_CALL_IS_COMPILE; /*fprintf(stderr, "compiling '%s' with ns %s\n", procName, nsPtr->name);*/ - result = TclProcCompileProc(interp, procPtr, bodyObj, - (Namespace *) nsPtr, "body of proc", - procName); + { +#if defined(PRE86) + Namespace *oldNsPtr = procPtr->cmdPtr->nsPtr; +#endif + result = TclProcCompileProc(interp, procPtr, bodyObj, + (Namespace *) nsPtr, "body of proc", + procName); +#if defined(PRE86) + procPtr->cmdPtr->nsPtr = oldNsPtr; +#endif + } /*fprintf(stderr, "compiling '%s' with ns %s DONE\n", procName, nsPtr->name);*/ *flagsPtr &= ~NSF_CSC_CALL_IS_COMPILE; @@ -25473,7 +25483,7 @@ * *---------------------------------------------------------------------- */ -static bool MethodSourceMatches(DefinitionsourceIdx_t withSource, NsfClass *class, NsfObject *object); +static bool MethodSourceMatches(DefinitionsourceIdx_t withSource, NsfClass *class, NsfObject *object) pure; static bool MethodSourceMatches(DefinitionsourceIdx_t withSource, NsfClass *class, NsfObject *object) { bool result;