summaryrefslogtreecommitdiffstats
path: root/generic
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 /generic
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.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclNamesp.c19
1 files changed, 1 insertions, 18 deletions
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,