Subject: Additiona patch/suggestion from Gustaf. This indeed fixes the crash in oo.test. Looks good to me, so only waiting for final feedback from Gustaf and eventually feedback from other people.

From: "jan.nijtmans" <[email-masked]>
Date: Tue, 6 Sep 2016 08:25:18 +0000

---
 generic/tclLiteral.c | 7 -------
 generic/tclObj.c     | 2 +-
 2 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c
index c329ed7..6b3560d 100644
--- a/generic/tclLiteral.c
+++ b/generic/tclLiteral.c
@@ -1163,13 +1163,6 @@ TclVerifyLocalLiteralTable(
 			"TclVerifyLocalLiteralTable",
 			(length>60? 60 : length), bytes, localPtr->refCount);
 	    }
-	    if (LookupLiteralEntry((Tcl_Interp *) envPtr->iPtr,
-		    localPtr->objPtr) == NULL) {
-		bytes = Tcl_GetStringFromObj(localPtr->objPtr, &length);
-		Tcl_Panic("%s: local literal \"%.*s\" is not global",
-			"TclVerifyLocalLiteralTable",
-			(length>60? 60 : length), bytes);
-	    }
 	    if (localPtr->objPtr->bytes == NULL) {
 		Tcl_Panic("%s: literal has NULL string rep",
 			"TclVerifyLocalLiteralTable");
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 283c8d2..29c8e23 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -4220,7 +4220,7 @@ TclSetCmdNameObj(
 
     if (objPtr->typePtr == &tclCmdNameType) {
 	resPtr = objPtr->internalRep.twoPtrValue.ptr1;
-	if (resPtr->cmdPtr == cmdPtr) {
+	if (resPtr != NULL && resPtr->cmdPtr == cmdPtr) {
 	    return;
 	}
     }
-- 
cgit v0.12