summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2004-10-05 15:45:00 (GMT)
committerdgp <dgp@users.sourceforge.net>2004-10-05 15:45:00 (GMT)
commit0b585ef4a5d2e04d13e842a60643b6fd074572cd (patch)
tree19a81b5f3aa3e5b66cbbcbdced419f82a7f80cfa
parent54af15ebd7bbd1a3dcdac1fcd0103c74be2ff12f (diff)
downloadtcl-0b585ef4a5d2e04d13e842a60643b6fd074572cd.zip
tcl-0b585ef4a5d2e04d13e842a60643b6fd074572cd.tar.gz
tcl-0b585ef4a5d2e04d13e842a60643b6fd074572cd.tar.bz2
* generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
workaround. That bug is now fixed.
-rw-r--r--ChangeLog7
-rw-r--r--generic/tclNamesp.c19
2 files changed, 7 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index b2cafaf..cf28e30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-05 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
+ workaround. That bug is now fixed.
+
2004-10-04 Kevin B. Kenny <kennykb@acm.org>
* tests/clock.test (clock-34.*): Removed an antibug that forced
@@ -66,7 +71,7 @@
* generic/tclTrace.c (TclCallVarTraces): Save/restore the flag
* tests/var.test (var-16.1): values that define part of the
- interpreter state during variable traces. [Bug 10381021].
+ interpreter state during variable traces. [Bug 1038021].
2004-09-30 Miguel Sofer <msofer@users.sf.net>
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 9c7e7c2..f75e3ec 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -21,7 +21,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.57 2004/09/30 23:06:48 dgp Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.58 2004/10/05 15:45:02 dgp Exp $
*/
#include "tclInt.h"
@@ -490,21 +490,6 @@ Tcl_PopCallFrame(interp)
iPtr->framePtr = framePtr->callerPtr;
iPtr->varFramePtr = framePtr->callerVarPtr;
- /*
- * Delete the local variables. As a hack, we save then restore the
- * ERR_IN_PROGRESS flag in the interpreter. The problem is that there
- * could be unset traces on the variables, which cause scripts to be
- * evaluated. This will clear the ERR_IN_PROGRESS flag, losing stack
- * trace information if the procedure was exiting with an error. The
- * code below preserves the flag. Unfortunately, that isn't really
- * enough: we really should preserve the errorInfo variable too
- * (otherwise a nested error in the trace script will trash errorInfo).
- * What's really needed is a general-purpose mechanism for saving and
- * restoring interpreter state.
- */
-
- saveErrFlag = (iPtr->flags & ERR_IN_PROGRESS);
-
if (framePtr->varTablePtr != NULL) {
TclDeleteVars(iPtr, framePtr->varTablePtr);
ckfree((char *) framePtr->varTablePtr);
@@ -514,8 +499,6 @@ Tcl_PopCallFrame(interp)
TclDeleteCompiledLocalVars(iPtr, framePtr);
}
- iPtr->flags |= saveErrFlag;
-
/*
* Decrement the namespace's count of active call frames. If the
* namespace is "dying" and there are no more active call frames,