Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tcl_Namespace(3)	    Tcl	Library	Procedures	      Tcl_Namespace(3)

______________________________________________________________________________

NAME
       Tcl_AppendExportList, Tcl_CreateNamespace, Tcl_DeleteNamespace, Tcl_Ex-
       port, Tcl_FindCommand, Tcl_FindNamespace, Tcl_ForgetImport, Tcl_GetCur-
       rentNamespace,  Tcl_GetGlobalNamespace, Tcl_GetNamespaceUnknownHandler,
       Tcl_Import, Tcl_SetNamespaceUnknownHandler - manipulate namespaces

SYNOPSIS
       #include	<tcl.h>

       Tcl_Namespace *
       Tcl_CreateNamespace(interp, name, clientData, deleteProc)

       Tcl_DeleteNamespace(nsPtr)

       int
       Tcl_AppendExportList(interp, nsPtr, objPtr)

       int
       Tcl_Export(interp, nsPtr, pattern, resetListFirst)

       int
       Tcl_Import(interp, nsPtr, pattern, allowOverwrite)

       int
       Tcl_ForgetImport(interp,	nsPtr, pattern)

       Tcl_Namespace *
       Tcl_GetCurrentNamespace(interp)

       Tcl_Namespace *
       Tcl_GetGlobalNamespace(interp)

       Tcl_Namespace *
       Tcl_FindNamespace(interp, name, contextNsPtr, flags)

       Tcl_Command
       Tcl_FindCommand(interp, name, contextNsPtr, flags)

       Tcl_Obj *
       Tcl_GetNamespaceUnknownHandler(interp, nsPtr)

       int
       Tcl_SetNamespaceUnknownHandler(interp, nsPtr, handlerPtr)

ARGUMENTS
       Tcl_Interp *interp (in/out)			    The	interpreter in
							    which  the	 name-
							    space  exists  and
							    where name lookups
							    are	    performed.
							    Also  where	 error
							    result    messages
							    are	written.

       const char *name	(in)				    The	 name  of  the
							    namespace or  com-
							    mand to be created
							    or accessed.

       ClientData clientData (in)			    A  context pointer
							    by the creator  of
							    the	    namespace.
							    Not	interpreted by
							    Tcl	at all.

       Tcl_NamespaceDeleteProc *deleteProc (in)		    A pointer to func-
							    tion to call  when
							    the	 namespace  is
							    deleted,  or  NULL
							    if	no  such call-
							    back is to be per-
							    formed.

       Tcl_Namespace *nsPtr (in)			    The	 namespace  to
							    be manipulated, or
							    NULL   (for	 other
							    than   Tcl_Delete-
							    Namespace)	to ma-
							    nipulate the  cur-
							    rent namespace.

       Tcl_Obj *objPtr (out)				    A  reference to an
							    unshared value  to
							    which the function
							    output   will   be
							    written.

       const char *pattern (in)				    The	    glob-style
							    pattern	  (see
							    Tcl_StringMatch)
							    that describes the
							    commands to	be im-
							    ported   or	   ex-
							    ported.

       int resetListFirst (in)				    Whether  the  list
							    of export patterns
							    should  be	 reset
							    before  adding the
							    current pattern to
							    it.

       int allowOverwrite (in)				    Whether  new  com-
							    mands  created  by
							    this import	action
							    can	overwrite  ex-
							    isting commands.

       Tcl_Namespace *contextNsPtr (in)			    The	  location  in
							    the	namespace  hi-
							    erarchy  where the
							    search for a name-
							    space  or  command
							    should   be	  con-
							    ducted relative to
							    when  the	search
							    term is not	rooted
							    at	  the	global
							    namespace.	  NULL
							    indicates the cur-
							    rent namespace.

       int flags (in)					    OR-ed  combination
							    of	bits  control-
							    ling    how	   the
							    search  is	to  be
							    performed.	   The
							    following	 flags
							    are	    supported:
							    TCL_GLOBAL_ONLY
							    (indicates	  that
							    the	 search	is al-
							    ways  to  be  con-
							    ducted relative to
							    the	 global	 name-
							    space),  TCL_NAME-
							    SPACE_ONLY	 (just
							    for	  Tcl_FindCom-
							    mand;    indicates
							    that the search is
							    always to be  con-
							    ducted relative to
							    the	 context name-
							    space),	   and
							    TCL_LEAVE_ERR_MSG
							    (indicates that an
							    error      message
							    should be left  in
							    the	interpreter if
							    the	search fails.)

       Tcl_Obj *handlerPtr (in)				    A  script fragment
							    to be installed as
							    the	 unknown  com-
							    mand  handler  for
							    the	namespace,  or
							    NULL  to reset the
							    handler to its de-
							    fault.
______________________________________________________________________________

DESCRIPTION
       Namespaces are hierarchic naming	contexts that can contain commands and
       variables.  They	also maintain a	list of	patterns that  describes  what
       commands	 are exported, and can import commands that have been exported
       by other	namespaces.  Namespaces	can also be  manipulated  through  the
       Tcl command namespace.

       The Tcl_Namespace structure encapsulates	a namespace, and is guaranteed
       to  have	 the following fields in it: name (the local name of the name-
       space, with no namespace	separator characters in	it, with empty	denot-
       ing  the	 global	 namespace), fullName (the fully specified name	of the
       namespace), clientData, deleteProc (the values specified	in the call to
       Tcl_CreateNamespace), and parentPtr (a pointer to the containing	 name-
       space, or NULL for the global namespace.)

       Tcl_CreateNamespace  creates a new namespace.  The deleteProc will have
       the following type signature:

	      typedef void Tcl_NamespaceDeleteProc(
		      ClientData clientData);

       Tcl_DeleteNamespace deletes a namespace,	calling	the deleteProc defined
       for the namespace (if any).

       Tcl_AppendExportList retrieves the  export  patterns  for  a  namespace
       given namespace and appends them	(as list items)	to objPtr.

       Tcl_Export  sets	 and  appends  to the export patterns for a namespace.
       Patterns	are appended unless the	resetListFirst flag is true.

       Tcl_Import imports commands matching a pattern into a namespace.	  Note
       that the	pattern	must include the name of the namespace to import from.
       This  function returns TCL_ERROR	if an attempt to import	a command over
       an existing command is made, unless the allowOverwrite  flag  has  been
       set.

       Tcl_ForgetImport	removes	imports	matching a pattern.

       Tcl_GetCurrentNamespace	returns	 the  current  namespace for an	inter-
       preter.

       Tcl_GetGlobalNamespace returns the global namespace for an interpreter.

       Tcl_FindNamespace searches for a	namespace named	name within  the  con-
       text  of	the namespace contextNsPtr.  If	the namespace cannot be	found,
       NULL is returned.

       Tcl_FindCommand searches	for a command named name within	the context of
       the namespace contextNsPtr.  If the command cannot be  found,  NULL  is
       returned.

       Tcl_GetNamespaceUnknownHandler  returns the unknown command handler for
       the namespace, or NULL if none is set.

       Tcl_SetNamespaceUnknownHandler sets the unknown command handler for the
       namespace. If handlerPtr	is NULL, then the handler is reset to its  de-
       fault.

SEE ALSO
       Tcl_CreateCommand(3), Tcl_ListObjAppendList(3), Tcl_SetVar(3)

KEYWORDS
       namespace, command

Tcl				      8.5		      Tcl_Namespace(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_GetCurrentNamespace.tcl86&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help