Donal K. Fellows
-
2006-12-08
- milestone: --> obsolete: 8.5a6
- status: open --> closed-fixed
(from code inspection, without claiming to have really
understood everything)
I think that TclTeardownNamespace fails to update the
epoch in namespaces that have the dying ns in their
path. This could be achieved by a call to
TclInvalidateNsPath, or directly by adding at line 1112
if (nsPtr->commandPathSourceList != NULL) {
NamespacePathEntry *nsPathPtr =
nsPtr->commandPathSourceList;
do {
+ if (nsPathPtr->nsPtr != NULL) {
+ nsPathPtr->creatorNsPtr->cmdRefEpoch++;
+ }
nsPathPtr->nsPtr = NULL;
nsPathPtr = nsPathPtr->nextPtr;
} while (nsPathPtr != NULL);
}