diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2006-10-23 22:49:24 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2006-10-23 22:49:24 (GMT) |
commit | 94919dd9c565db95ae21cf14b91f8cdeb2446b46 (patch) | |
tree | 5b48faeb4f251c92945b7f4621754d51b85e3817 /generic/tclBasic.c | |
parent | ff4058f01143ad058843bf7e6f0a0ff599a4ac50 (diff) | |
download | tcl-94919dd9c565db95ae21cf14b91f8cdeb2446b46.zip tcl-94919dd9c565db95ae21cf14b91f8cdeb2446b46.tar.gz tcl-94919dd9c565db95ae21cf14b91f8cdeb2446b46.tar.bz2 |
* library/clock.tcl (format, scan): corrected wrong # args
* tests/clock.test (3.1, 34.1): messages to make use of the
new rewrite capabilities of [info level]
* generic/tcl.h: Lets TEOV update the iPtr->objc/objv
* generic/tclBasic.c: fields, except when the (new) flag bit
* generic/tclInt.h: TCL_EVAL_NOREWRITE is present. This
* generic/tclNamesp.c: causes [info level] to know and use
* generic/tclProc.c: ensemble rewrites [Bug 1577492]
* tests/namespace.test:
***POTENTIAL INCOMPATIBILITY***
The return value from [info level 0] on interp alias calls is
changed: previously returned the target command (including curried
values), now returns the source - what was actually called.
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 5bccd2e..a633a85 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.201 2006/10/23 21:36:54 msofer Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.202 2006/10/23 22:49:24 msofer Exp $ */ #include "tclInt.h" @@ -362,6 +362,8 @@ Tcl_CreateInterp(void) if (iPtr->globalNsPtr == NULL) { Tcl_Panic("Tcl_CreateInterp: can't create global namespace"); } + iPtr->callObjc = 0; + iPtr->callObjv = NULL; /* * Initialise the rootCallframe. It cannot be allocated on the stack, as @@ -3301,6 +3303,16 @@ TclEvalObjvInternal( } } + + /* + * Record the calling objc/objv except if requested not to + */ + + if (!(flags & TCL_EVAL_NOREWRITE)) { + iPtr->callObjc = objc; + iPtr->callObjv = objv; + } + /* * Find the function to execute this command. If there isn't one, then see * if there is an unknown command handler registered for this namespace. |