summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--generic/tclCompile.c4
-rw-r--r--generic/tclExecute.c9
3 files changed, 11 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 3494d82..48fc551 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-09-10 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclCompile.c: fix tclInstructionTable entry for
+ dictUpdateEnd
+
+ * generic/tclExecute.c: remove unneeded setting of 'cleanup'
+ variable before jumping to checkForCatch.
+
2007-09-10 Don Porter <dgp@users.sourceforge.net>
* doc/package.n: Restored the document parallel syntax of the
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index 35b4a75..820642f 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompile.c,v 1.131 2007/09/09 17:02:33 dgp Exp $
+ * RCS: @(#) $Id: tclCompile.c,v 1.132 2007/09/10 21:47:20 msofer Exp $
*/
#include "tclInt.h"
@@ -358,7 +358,7 @@ InstructionDesc tclInstructionTable[] = {
* of keys (popped from the stack) must be the same length as the list
* of variables.
* Stack: ... keyList => ... */
- {"dictUpdateEnd", 9, -1, 1, {OPERAND_LVT4, OPERAND_AUX4}},
+ {"dictUpdateEnd", 9, -1, 2, {OPERAND_LVT4, OPERAND_AUX4}},
/* Reflect the state of local variables (described in the aux data
* referred to by the second immediate argument) back to the state of
* the dictionary in the variable referred to by the first immediate
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index c9eabbe..606d2d1 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.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: tclExecute.c,v 1.332 2007/09/09 19:28:30 dgp Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.333 2007/09/10 21:47:21 msofer Exp $
*/
#include "tclInt.h"
@@ -6276,7 +6276,6 @@ TclExecuteByteCode(
opnd, O2S(OBJ_AT_DEPTH(opnd))),
Tcl_GetObjResult(interp));
result = TCL_ERROR;
- cleanup = opnd + 1;
goto checkForCatch;
}
}
@@ -6296,7 +6295,6 @@ TclExecuteByteCode(
TRACE_WITH_OBJ(("%u => ERROR ", opnd), Tcl_GetObjResult(interp));
result = TCL_ERROR;
}
- cleanup = opnd + 1;
goto checkForCatch;
case INST_DICT_SET:
@@ -6412,7 +6410,6 @@ TclExecuteByteCode(
case INST_DICT_APPEND:
case INST_DICT_LAPPEND:
opnd = TclGetUInt4AtPtr(pc+1);
- cleanup = 2;
varPtr = &(compiledLocals[opnd]);
while (TclIsVarLink(varPtr)) {
@@ -6543,7 +6540,6 @@ TclExecuteByteCode(
&valuePtr, &done);
if (result != TCL_OK) {
ckfree((char *) searchPtr);
- cleanup = 0;
goto checkForCatch;
}
TclNewObj(statePtr);
@@ -6675,7 +6671,6 @@ TclExecuteByteCode(
duiPtr->varIndices[i]) == NULL) {
CACHE_STACK_INFO();
dictUpdateStartFailed:
- cleanup = 1;
result = TCL_ERROR;
goto checkForCatch;
}
@@ -6705,7 +6700,6 @@ TclExecuteByteCode(
if (Tcl_DictObjSize(interp, dictPtr, &length) != TCL_OK
|| Tcl_ListObjGetElements(interp, OBJ_AT_TOS, &length,
&keyPtrPtr) != TCL_OK) {
- cleanup = 1;
result = TCL_ERROR;
goto checkForCatch;
}
@@ -6751,7 +6745,6 @@ TclExecuteByteCode(
if (allocdict) {
Tcl_DecrRefCount(dictPtr);
}
- cleanup = 2;
result = TCL_ERROR;
goto checkForCatch;
}