diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2002-04-18 18:05:55 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2002-04-18 18:05:55 (GMT) |
commit | 21901763f1b2265d4cd44100b084ab75ccf8d342 (patch) | |
tree | 222b1707324d61bf720ccf270f662e884b530012 | |
parent | 10b86ab7e14292e258f72765e28b0d9a3d55f00c (diff) | |
download | tcl-21901763f1b2265d4cd44100b084ab75ccf8d342.zip tcl-21901763f1b2265d4cd44100b084ab75ccf8d342.tar.gz tcl-21901763f1b2265d4cd44100b084ab75ccf8d342.tar.bz2 |
[Bug 545325 ] info level didn't report namespace eval.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclNamesp.c | 10 | ||||
-rw-r--r-- | tests/info.test | 7 |
3 files changed, 18 insertions, 5 deletions
@@ -1,3 +1,9 @@ +2002-04-18 Miguel Sofer <msofer@users.sourceforge.net> + + * generic/tclNamesp.c: + * tests/info.test: [Bug 545325 ] info level didn't report + namespace eval, bug report by Richard Suchenwirth. + 2002-04-18 Don Porter <dgp@users.sourceforge.net> * doc/subst.n: Clarified documentation on handling unusual return diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index da0df83..eaad5df 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -19,7 +19,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclNamesp.c,v 1.29 2002/02/28 20:11:09 msofer Exp $ + * RCS: @(#) $Id: tclNamesp.c,v 1.30 2002/04/18 18:05:57 msofer Exp $ */ #include "tclInt.h" @@ -2928,7 +2928,7 @@ NamespaceEvalCmd(dummy, interp, objc, objv) Tcl_Obj *CONST objv[]; /* Argument objects. */ { Tcl_Namespace *namespacePtr; - Tcl_CallFrame frame; + CallFrame frame; Tcl_Obj *objPtr; char *name; int length, result; @@ -2966,11 +2966,13 @@ NamespaceEvalCmd(dummy, interp, objc, objv) * the command(s). */ - result = Tcl_PushCallFrame(interp, &frame, namespacePtr, - /*isProcCallFrame*/ 0); + result = Tcl_PushCallFrame(interp, (Tcl_CallFrame *) &frame, + namespacePtr, /*isProcCallFrame*/ 0); if (result != TCL_OK) { return TCL_ERROR; } + frame.objc = objc; + frame.objv = objv; /* ref counts do not need to be incremented here */ if (objc == 4) { result = Tcl_EvalObjEx(interp, objv[3], 0); diff --git a/tests/info.test b/tests/info.test index 0e209fc..801df6f 100644 --- a/tests/info.test +++ b/tests/info.test @@ -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: info.test,v 1.19 2002/04/18 14:12:07 dkf Exp $ +# RCS: @(#) $Id: info.test,v 1.20 2002/04/18 18:05:59 msofer Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest @@ -338,6 +338,11 @@ test info-9.9 {info level option} { proc t1 {x} {info level $x} list [catch {t1 -3} msg] $msg } {1 {bad level "-3"}} +test info-9.10 {info level option, namespaces} { + set msg [namespace eval t {info level 0}] + namespace delete t + set msg +} {namespace eval t {info level 0}} set savedLibrary $tcl_library test info-10.1 {info library option} { |