diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-12-15 20:44:17 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-12-15 20:44:17 (GMT) |
commit | 96a4475c4aa4e7f173d328e2a6f37770ae35f497 (patch) | |
tree | 03db1466c686ac3541167c4b12439b026a69750f /generic/tclBasic.c | |
parent | e3284f29c46d7eb7bdc8b89b1094f1024310bfc7 (diff) | |
download | tcl-96a4475c4aa4e7f173d328e2a6f37770ae35f497.zip tcl-96a4475c4aa4e7f173d328e2a6f37770ae35f497.tar.gz tcl-96a4475c4aa4e7f173d328e2a6f37770ae35f497.tar.bz2 |
* generic/tclTest.c: Added two new functions to allocate memory
from the execution stack (TclStackAlloc, TclStackFree). Added
functions TclPushStackFrame and TclPopStackFrame that do the work
of Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames
allocated in the execution stack - i.e., heap instead of
C-stack. The core uses these two new functions exclusively; the
old ones remain for backwards compat, as at least two popular
extensions (itcl, xotcl) are known to use them.
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index d4c9382..45a3c4b 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.136 2004/11/30 19:34:46 dgp Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.137 2004/12/15 20:44:34 msofer Exp $ */ #include "tclInt.h" @@ -4145,22 +4145,22 @@ TclObjInvokeNamespace(interp, objc, objv, nsPtr, flags) * TCL_INVOKE_NO_UNKNOWN, or * TCL_INVOKE_NO_TRACEBACK. */ { - Tcl_CallFrame frame; int result; + Tcl_CallFrame *framePtr; /* * Make the specified namespace the current namespace and invoke * the command. */ - result = Tcl_PushCallFrame(interp, &frame, nsPtr, /*isProcCallFrame*/ 0); + result = TclPushStackFrame(interp, &framePtr, nsPtr, /*isProcCallFrame*/ 0); if (result != TCL_OK) { return TCL_ERROR; } result = TclObjInvoke(interp, objc, objv, flags); - Tcl_PopCallFrame(interp); + TclPopStackFrame(interp); return result; } |