diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-16 22:26:46 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-16 22:26:46 (GMT) |
commit | 38411a62113308c5212d6c63aae61c77e281299f (patch) | |
tree | f4f4aec676e60ab4c2ff7d3487a9b17c92901e57 | |
parent | 761df1dd737fda3e0bda124509e81dd92ff72e84 (diff) | |
download | tcl-38411a62113308c5212d6c63aae61c77e281299f.zip tcl-38411a62113308c5212d6c63aae61c77e281299f.tar.gz tcl-38411a62113308c5212d6c63aae61c77e281299f.tar.bz2 |
* generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored
(DE)CACHE_STACK_INFO pair around the call - the user defined math
function could cause a recursive call to TEBC.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclExecute.c | 4 |
2 files changed, 9 insertions, 1 deletions
@@ -1,5 +1,11 @@ 2004-05-16 Miguel Sofer <msofer@users.sf.net> + * generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored + (DE)CACHE_STACK_INFO pair around the call - the user defined math + function could cause a recursive call to TEBC. + +2004-05-16 Miguel Sofer <msofer@users.sf.net> + * generic/tclBasic.c (Tcl_DeleteInterp): * generic/tclExecute.c (INST_START_CMD): interp deletion now modifies the compileEpoch, eliminating the need for the check for diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 41e155e..8f95c38 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.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: tclExecute.c,v 1.129 2004/05/16 20:23:01 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.130 2004/05/16 22:26:47 msofer Exp $ */ #include "tclInt.h" @@ -4092,7 +4092,9 @@ TclExecuteByteCode(interp, codePtr) * name is objv[0]. */ objv = (tosPtr - (objc-1)); /* "objv[0]" */ + DECACHE_STACK_INFO(); result = ExprCallMathFunc(interp, objc, objv); + CACHE_STACK_INFO(); if (result != TCL_OK) { goto checkForCatch; } |