itcl User Commands - info






NAME

     info - Return information about the state of the Tcl  inter-
     preter


SYNOPSIS

     info option ?arg arg ...?





DESCRIPTION

     This command provides information about various internals of
     the  Tcl  interpreter.   The  legal  option's  (which may be
     abbreviated) are:

     info args procname
          Returns a list containing the names of the arguments to
          procedure  procname,  in  order.   Procname must be the
          name of a Tcl command procedure.

     info body procname
          Returns the body of procedure procname.  Procname  must
          be the name of a Tcl command procedure.

     info classes ?pattern?
          Returns a list of  classes  available  in  the  current
          namespace  context.   If a class belongs to the current  |
          namespace context, its simple name is reported;  other-  |
          wise,  if  a  class is imported from another namespace,  |
          its fully-qualified name is reported.

          If the optional pattern is specified, then the reported
          names  are  compared  using  the  rules  of the "string
          match" command, and only matching names are reported.

     info cmdcount
          Returns a count of the total number  of  commands  that
          have been invoked in this interpreter.

     info commands ?pattern?
          If pattern isn't specified, returns a list of names  of
          all  the Tcl commands in the current namespace context,  |
          including both the built-in commands written in  C  and
          the  command procedures defined using the proc command.
          If pattern is specified, only those names matching pat-
          tern  are  returned.   Matching is determined using the
          same rules as for string match.

     info complete command
          Returns 1 if command is a complete Tcl command  in  the
          sense of having no unclosed quotes, braces, brackets or
          array element names, If the command doesn't  appear  to
          be  complete then 0 is returned.  This command is typi-
          cally used in line-oriented input environments to allow
          users to type in commands that span multiple lines;  if
          the  command  isn't  complete,  the  script  can  delay
          evaluating it until additional lines have been typed to
          complete the command.

     info context
          Returns  the  fully-qualified  name  for  the   current  |
          namespace  context.   The  global  namespace  ("::") is  |
          represented as a null string, making it easy  to  build  |
          namespace names like "[info context]::foo".

     info default procname arg varname
          Procname must be the name of a  Tcl  command  procedure
          and  arg  must  be the name of an argument to that pro-
          cedure.  If arg doesn't have a default value  then  the
          command  returns  0.  Otherwise it returns 1 and places
          the default value of arg into variable varname.

     info exists varName
          Returns 1 if the variable named varName exists  in  the
          current context (either as a global or local variable),
          returns 0 otherwise.

     info globals ?pattern?
          If pattern isn't specified, returns a list of  all  the
          names  of  currently-defined  global  variables  in the  |
          current namespace context.  If  pattern  is  specified,
          only those names matching pattern are returned.  Match-
          ing is determined using the same rules  as  for  string
          match.

     info level ?number?
          If number is not  specified,  this  command  returns  a
          number  giving  the  stack  level  of the invoking pro-
          cedure, or 0 if the command is  invoked  at  top-level.
          If  number is specified, then the result is a list con-
          sisting of the name and  arguments  for  the  procedure
          call  at level number on the stack.  If number is posi-
          tive then it selects a particular stack level (1 refers
          to the top-most active procedure, 2 to the procedure it
          called, and so on); otherwise it gives a level relative
          to  the  current  level  (0  refers to the current pro-
          cedure, -1 to its caller, and so on).  See the  uplevel
          command for more information on what stack levels mean.

     info library
          Returns the name of  the  library  directory  in  which
          standard  Tcl scripts are stored.  This is actually the  |
          value of the tcl_library variable and may be changed by  |
          setting  tcl_library.  See the tclvars manual entry for  |
          more information.

     info locals ?pattern?
          If pattern isn't specified, returns a list of  all  the
          names  of  currently-defined local variables, including
          arguments to the current procedure, if any.   Variables
          defined  with the global and upvar commands will not be
          returned.  If pattern is specified,  only  those  names
          matching  pattern are returned.  Matching is determined
          using the same rules as for string match.

     info namespace option ?arg arg ...?
          A collection  of  queries  regarding  namespaces.   The  |
          option argument should be one of the following:

          info namespace all ?pattern?
               Returns a list of  all  child  namespaces  in  the  |
               current  namespace  context.   This  includes  the  |
               direct children of the current namespace and other  |
               children  that  are  visible  because their parent  |
               namespace was imported.  The direct children  have  |
               simple  names  and  appear  first on the list; the  |
               imported children have fully-qualified  names  and  |
               appear at the end of the list.

          info namespace children ?name?
               Returns a list of  all  child  namespaces  in  the  |
               namespace  name.   If  name is not specified, then  |
               children are reported  in  the  current  namespace  |
               context.  Unlike the "info namespace all" command,  |
               this command reports only  the  children  directly  |
               contained  within  the  namespace,  and it reports  |
               them with fully-qualified names.

          info namespace parent ?name?
               Returns the fully-qualified name of the parent for  |
               namespace  name.   If  name is not specified, then  |
               the parent of the  current  namespace  context  is  |
               reported.

          info namespace qualifiers string
               Returns the leading namespace qualifiers  for  the  |
               specified  string.  Qualifiers are namespace names  |
               separated by the  "::"  string.   For  the  string  |
               "::foo::bar::x",   this   command   would   return  |
               "::foo::bar".

          info namespace tail string
               Returns the simple name at the  end  of  qualified  |
               string.   Qualifiers are namespace names separated  |
               by   the   "::"   string.     For    the    string  |
               "::foo::bar::x", this command would return "x".

     info objects ?pattern? ?-class className? ?-isa className?
          Returns a list of  objects  available  in  the  current
          namespace context.  If an object belongs to the current  |
          namespace context, its simple name is reported;  other-  |
          wise,  if an object is imported from another namespace,  |
          its fully-qualified access command is reported.

          If the optional pattern is specified, then the reported
          names  are  compared  using  the  rules  of the "string
          match" command, and only matching names  are  reported.
          If  the  optional "-class" parameter is specified, this
          list is restricted to objects whose most-specific class
          is  className.   If  the  optional  "-isa" parameter is
          specified, this list is further restricted  to  objects
          having the given className anywhere in their heritage.

     info patchlevel
          Returns   the   value   of    the    global    variable  |
          tcl_patchLevel;  see  the tclvars manual entry for more  |
          information.

     info procs ?pattern?
          If pattern isn't specified, returns a list of  all  the
          names   of   Tcl  command  procedures  in  the  current  |
          namespace context.  If pattern is specified, only those
          names  matching  pattern  are  returned.   Matching  is
          determined using the same rules as for string match.

     info protection ?-command? ?-variable? name
          Returns the current protection level (public, protected  |
          or  private)  for  the  specified name.  The protection  |
          level is set using the public,  protected  and  private  |
          commands  when  a  command or variable is created.  The  |
          protection level indicates whether or not a command  or  |
          variable can be accessed from other namespace contexts.  |
          See  the  documentation  on  namespace  for  the  rules  |
          regarding  command/variable access.  If no flags speci-  |
          fied, or if the -command  flag  is  included,  name  is  |
          treated  as  a  command name.  If the -variable flag is  |
          included, name is treated as a variable name.

     info script
          If a Tcl script file is currently being evaluated (i.e.
          there  is  a call to Tcl_EvalFile active or there is an
          active invocation of the  source  command),  then  this
          command  returns  the  name of the innermost file being
          processed.  Otherwise  the  command  returns  an  empty
          string.

     info tclversion
          Returns the value of the global  variable  tcl_version;  |
          see the tclvars manual entry for more information.

     info vars ?pattern?
          If pattern isn't specified, returns a list of  all  the
          names  of  currently-visible  variables, including both
          locals and currently-visible globals.   If  pattern  is
          specified,   only  those  names  matching  pattern  are
          returned.  Matching is determined using the same  rules
          as for string match.

     info which ?-command? ?-variable? ?-namespace? name
          Resolves the specified name in  the  current  namespace  |
          context   and  returns  a  fully-qualified  name  which  |
          uniquely  identifies  it.   See  the  documentation  on  |
          namespace  for the rules regarding name resolution.  If  |
          no  flags  specified,  or  if  the  -command  flag   is  |
          included,  name  is  treated as a command name.  If the  |
          -variable flag is included, name is treated as a  vari-  |
          able name.  If the -namespace flag is included, name is  |
          treated as a namespace name.



KEYWORDS

     command, information, interpreter, level,  procedure,  vari-
     able