summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-06-23 13:18:33 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-06-23 13:18:33 (GMT)
commit8bb026fed0f950dab2d7ce6600e7bde98edba550 (patch)
tree00bd5b372166a30ca67aedf245c7d49f31ea3eb7 /generic
parent9782b57e718a22de621fb4b222b4509922e77a08 (diff)
parent6a513d71d369eed56569ff3bf3e05c4f80c2ccae (diff)
downloadtcl-8bb026fed0f950dab2d7ce6600e7bde98edba550.zip
tcl-8bb026fed0f950dab2d7ce6600e7bde98edba550.tar.gz
tcl-8bb026fed0f950dab2d7ce6600e7bde98edba550.tar.bz2
merge 8.6
Diffstat (limited to 'generic')
-rw-r--r--generic/tclCmdIL.c4
-rw-r--r--generic/tclExecute.c4
-rw-r--r--generic/tclProc.c2
-rw-r--r--generic/tclVar.c3
4 files changed, 9 insertions, 4 deletions
diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c
index 0d35397..c93e593 100644
--- a/generic/tclCmdIL.c
+++ b/generic/tclCmdIL.c
@@ -1203,7 +1203,7 @@ InfoFrameCmd(
levelError:
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad level \"%s\"", TclGetString(objv[1])));
- Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "STACK_FRAME",
+ Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "LEVEL",
TclGetString(objv[1]), NULL);
code = TCL_ERROR;
goto done;
@@ -1638,7 +1638,7 @@ InfoLevelCmd(
levelError:
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad level \"%s\"", TclGetString(objv[1])));
- Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "STACK_LEVEL",
+ Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "LEVEL",
TclGetString(objv[1]), NULL);
return TCL_ERROR;
}
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index aed6a48..355b667 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -7707,6 +7707,7 @@ TEBCresume(
goto gotError;
}
}
+ Tcl_IncrRefCount(dictPtr);
if (TclListObjGetElements(interp, OBJ_AT_TOS, &length,
&keyPtrPtr) != TCL_OK) {
TRACE_ERROR(interp);
@@ -7719,6 +7720,7 @@ TEBCresume(
if (Tcl_DictObjGet(interp, dictPtr, keyPtrPtr[i],
&valuePtr) != TCL_OK) {
TRACE_ERROR(interp);
+ Tcl_DecrRefCount(dictPtr);
goto gotError;
}
varPtr = LOCAL(duiPtr->varIndices[i]);
@@ -7735,10 +7737,12 @@ TEBCresume(
duiPtr->varIndices[i]) == NULL) {
CACHE_STACK_INFO();
TRACE_ERROR(interp);
+ Tcl_DecrRefCount(dictPtr);
goto gotError;
}
CACHE_STACK_INFO();
}
+ TclDecrRefCount(dictPtr);
TRACE_APPEND(("OK\n"));
NEXT_INST_F(9, 0, 0);
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 70178f4..b663caf 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -869,7 +869,7 @@ TclObjGetFrame(
}
Tcl_SetObjResult(interp, Tcl_ObjPrintf("bad level \"%s\"", name));
- Tcl_SetErrorCode(interp, "TCL", "VALUE", "STACKLEVEL", NULL);
+ Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "LEVEL", name, NULL);
return -1;
}
diff --git a/generic/tclVar.c b/generic/tclVar.c
index 5574f30..51e2482 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -4938,7 +4938,8 @@ Tcl_UpvarObjCmd(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad level \"%s\"", TclGetString(levelObj)));
- Tcl_SetErrorCode(interp, "TCL", "VALUE", "LEVEL", NULL);
+ Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "LEVEL",
+ TclGetString(levelObj), NULL);
return TCL_ERROR;
}