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 an 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)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | SEE ALSO | KEYWORDS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_AppendExportList.tcl86&sektion=3&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help