summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclNamesp.c3
-rw-r--r--generic/tclObj.c3
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index dc28278..d3c4684 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-04 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being
+ * generic/tclObj.c: cached in a different interp, tkcon
+ [Bug 1747512]
+
2007-07-03 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Revised #define values so that there
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 098b8ba..8e25637 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -22,7 +22,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNamesp.c,v 1.143 2007/06/22 20:42:24 dgp Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.144 2007/07/04 23:56:58 msofer Exp $
*/
#include "tclInt.h"
@@ -2802,6 +2802,7 @@ TclGetNamespaceFromObj(
|| (resPtr->refNsPtr &&
(resPtr->refNsPtr != (Namespace *) TclGetCurrentNamespace(interp)))
|| (nsPtr = resPtr->nsPtr, nsPtr->flags & NS_DEAD)
+ || (interp != nsPtr->interp)
|| (resPtr->nsId != nsPtr->nsId)) {
result = tclNsNameType.setFromAnyProc(interp, objPtr);
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 8a43b38..58f1c97 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclObj.c,v 1.127 2007/06/11 23:00:44 msofer Exp $
+ * RCS: @(#) $Id: tclObj.c,v 1.128 2007/07/04 23:56:58 msofer Exp $
*/
#include "tclInt.h"
@@ -3489,6 +3489,7 @@ Tcl_GetCommandFromObj(
if ((objPtr->typePtr != &tclCmdNameType)
|| (resPtr == NULL)
|| (cmdPtr = resPtr->cmdPtr, cmdPtr->cmdEpoch != resPtr->cmdEpoch)
+ || (interp != cmdPtr->nsPtr->interp)
|| (cmdPtr->flags & CMD_IS_DELETED)
|| ((resPtr->refNsPtr != NULL) &&
(((refNsPtr = (Namespace *) TclGetCurrentNamespace(interp))