From 739062154a9a146d256d6138ad44358b9d53d55d Mon Sep 17 00:00:00 2001 From: dgp Date: Wed, 1 Jun 2005 22:19:03 +0000 Subject: * generic/tclProc.c: Revised fix for [Bug 1209759] is more complex, * generic/tclResult.c: but should have less performance impact. --- ChangeLog | 3 +++ generic/tclProc.c | 6 ++++-- generic/tclResult.c | 4 +--- 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 + * 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; -- cgit v0.12