diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2006-10-27 12:53:43 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2006-10-27 12:53:43 (GMT) |
commit | fbdb724057c9545201d0a4cc2d8eb2edc4743392 (patch) | |
tree | 50136581fc2b5ee9f2975158db7cad06268d8473 | |
parent | 73b2f1e5b9472dc390528dbc1ca45a09fc11c297 (diff) | |
download | tcl-fbdb724057c9545201d0a4cc2d8eb2edc4743392.zip tcl-fbdb724057c9545201d0a4cc2d8eb2edc4743392.tar.gz tcl-fbdb724057c9545201d0a4cc2d8eb2edc4743392.tar.bz2 |
Allow extensions that use the internal stubs to set a namespace path.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | generic/tclInt.decls | 6 | ||||
-rw-r--r-- | generic/tclNamesp.c | 13 |
3 files changed, 13 insertions, 9 deletions
@@ -1,5 +1,8 @@ 2006-10-27 Donal K. Fellows <dkf@users.sf.net> + * generic/tclNamesp.c (TclSetNsPath): Expose SetNsPath through + internal stubs table with semi-external name. + * generic/tclInt.h (CallFrame): Add a field for handling context data for extensions (like object systems) that should be tied to a call frame (and not a command or interpreter). diff --git a/generic/tclInt.decls b/generic/tclInt.decls index 121402a..d2fbb20 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tclInt.decls,v 1.101 2006/10/27 12:33:18 dkf Exp $ +# RCS: @(#) $Id: tclInt.decls,v 1.102 2006/10/27 12:53:43 dkf Exp $ library tcl @@ -894,6 +894,10 @@ declare 225 generic { declare 226 generic { int TclObjBeingDeleted(Tcl_Obj *objPtr) } +declare 227 generic { + void TclSetNsPath(Namespace *nsPtr, int pathLength, + Tcl_Namespace *pathAry[]) +} ############################################################################## diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index f0c5ff8..6e239db 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -22,7 +22,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.106 2006/10/26 17:22:17 msofer Exp $ + * RCS: @(#) $Id: tclNamesp.c,v 1.107 2006/10/27 12:53:44 dkf Exp $ */ #include "tclInt.h" @@ -251,8 +251,6 @@ static void FreeEnsembleCmdRep(Tcl_Obj *objPtr); static void DupEnsembleCmdRep(Tcl_Obj *objPtr, Tcl_Obj *copyPtr); static void StringOfEnsembleCmdRep(Tcl_Obj *objPtr); static void UnlinkNsPath(Namespace *nsPtr); -static void SetNsPath(Namespace *nsPtr, int pathLength, - Tcl_Namespace *pathAry[]); /* * This structure defines a Tcl object type that contains a namespace @@ -4102,7 +4100,7 @@ NamespacePathCmd( * Now we have the list of valid namespaces, install it as the path. */ - SetNsPath(nsPtr, nsObjc, namespaceList); + TclSetNsPath(nsPtr, nsObjc, namespaceList); result = TCL_OK; badNamespace: @@ -4115,7 +4113,7 @@ NamespacePathCmd( /* *---------------------------------------------------------------------- * - * SetNsPath -- + * TclSetNsPath -- * * Sets the namespace command name resolution path to the given list of * namespaces. If the list is empty (of zero length) the path is set to @@ -4132,9 +4130,8 @@ NamespacePathCmd( *---------------------------------------------------------------------- */ -/* EXPOSE ME? */ -static void -SetNsPath( +void +TclSetNsPath( Namespace *nsPtr, /* Namespace whose path is to be set. */ int pathLength, /* Length of pathAry */ Tcl_Namespace *pathAry[]) /* Array of namespaces that are the path. */ |