summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2005-06-01 22:19:03 (GMT)
committerdgp <dgp@users.sourceforge.net>2005-06-01 22:19:03 (GMT)
commit739062154a9a146d256d6138ad44358b9d53d55d (patch)
treefe8837d9f415ad1656cf3105851dae5d9799421d
parentf9d8739931a289eb5807115e767a3e3a80a3205b (diff)
downloadtcl-739062154a9a146d256d6138ad44358b9d53d55d.zip
tcl-739062154a9a146d256d6138ad44358b9d53d55d.tar.gz
tcl-739062154a9a146d256d6138ad44358b9d53d55d.tar.bz2
* generic/tclProc.c: Revised fix for [Bug 1209759] is more complex,
* generic/tclResult.c: but should have less performance impact.
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclProc.c6
-rw-r--r--generic/tclResult.c4
3 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 28572fa..969e497 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2005-06-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclProc.c: Revised fix for [Bug 1209759] is more complex,
+ * generic/tclResult.c: but should have less performance impact.
+
* generic/tclBasic.c: For compatibility with earlier Tcl releases,
* generic/tclResult.c: when a command procedure simply does a
* generic/tclTest.c: "return TCL_RETURN;" we must interpret that
diff --git a/generic/tclProc.c b/generic/tclProc.c
index a87caa7..c1c12f9 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclProc.c,v 1.74 2005/05/10 18:34:47 kennykb Exp $
+ * RCS: @(#) $Id: tclProc.c,v 1.75 2005/06/01 22:19:16 dgp Exp $
*/
#include "tclInt.h"
@@ -1671,7 +1671,9 @@ TclUpdateReturnInfo(iPtr)
}
if (iPtr->returnLevel == 0) {
/* Now we've reached the level to return the requested -code */
- return iPtr->returnCode;
+ code = iPtr->returnCode;
+ iPtr->returnLevel = 1;
+ iPtr->returnCode = TCL_OK;
}
return code;
}
diff --git a/generic/tclResult.c b/generic/tclResult.c
index 1c4438d..611b85f 100644
--- a/generic/tclResult.c
+++ b/generic/tclResult.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclResult.c,v 1.26 2005/06/01 21:38:41 dgp Exp $
+ * RCS: @(#) $Id: tclResult.c,v 1.27 2005/06/01 22:19:16 dgp Exp $
*/
#include "tclInt.h"
@@ -927,8 +927,6 @@ Tcl_ResetResult(interp)
Tcl_DecrRefCount(iPtr->errorInfo);
iPtr->errorInfo = NULL;
}
- iPtr->returnLevel = 1;
- iPtr->returnCode = TCL_OK;
if (iPtr->returnOpts) {
Tcl_DecrRefCount(iPtr->returnOpts);
iPtr->returnOpts = NULL;