summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2006-10-23 22:49:24 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2006-10-23 22:49:24 (GMT)
commit94919dd9c565db95ae21cf14b91f8cdeb2446b46 (patch)
tree5b48faeb4f251c92945b7f4621754d51b85e3817 /generic/tclBasic.c
parentff4058f01143ad058843bf7e6f0a0ff599a4ac50 (diff)
downloadtcl-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.c14
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.