MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Tcl Built-In Commands                                 library(1T)





NAME
     autoexecok,    autoimport,    autoload,     automkindex,
     automkindexold, autoqualify, autoreset, tclfindLibrary,
     parray,         tclendOfWord,          tclstartOfNextWord,
     tclstartOfPreviousWord,                 tclwordBreakAfter,
     tclwordBreakBefore - standard library of Tcl procedures

SYNOPSIS
     autoexecok cmd
     autoimport pattern
     autoload cmd
     automkindex dir pattern pattern ...
     automkindexold dir pattern pattern ...
     autoqualify command namespace
     autoreset
     tclfindLibrary basename version patch initScript enVarName varName
     parray arrayName
     tclendOfWord str start                                       
     tclstartOfNextWord str start                                 
     tclstartOfPreviousWord str start                             
     tclwordBreakAfter str start                                  
     tclwordBreakBefore str start                                 



INTRODUCTION
     Tcl includes a library of Tcl procedures for commonly-needed
     functions.   The  procedures  defined in the Tcl library are
     generic ones suitable for use  by  many  different  applica-
     tions.   The  location of the Tcl library is returned by the
     info library command.  In addition to the Tcl library,  each
     application  will  normally  have its own library of support
     procedures as well;  the location of this  library  is  nor-
     mally  given  by  the value of the $applibrary global vari-
     able, where app is the name of the application.   For  exam-
     ple,  the location of the Tk library is kept in the variable
     $tklibrary.

     To access the procedures in the Tcl library, an  application
     should  source the file init.tcl in the library, for example
     with the Tcl command
          source [file join [info library] init.tcl]
     If  the  library  procedure  TclInit  is  invoked  from  an
     application's  TclAppInit procedure, this happens automati-
     cally.  The code in init.tcl will define  the  unknown  pro-
     cedure  and  arrange  for  the other procedures to be loaded
     on-demand using the auto-load mechanism defined below.






Tcl                     Last change: 8.0                        1






Tcl Built-In Commands                                 library(1T)



COMAND PROCEDURES
     The following procedures are provided in the Tcl library:

     autoexecok cmd
          Determines whether there is an executable file or shell
          builtin  by  the name cmd.  If so, it returns a list of
          arguments to be passed to exec to execute  the  execut-
          able  file  or  shell builtin named by cmd.  If not, it
          returns an empty string.   This  command  examines  the
          directories  in  the  current search path (given by the
          PATH environment variable) in its search for an execut-
          able  file named cmd.  On Windows platforms, the search
          is expanded with the same directories and  file  exten-
          sions  as used by exec. Autoexec remembers information
          about previous searches in an array  named  autoexecs;
          this  avoids  the  path  search in future calls for the
          same cmd.  The command autoreset may be used to  force
          autoexecok to forget its cached information.

     autoimport pattern
          Autoimport is invoked during namespace import  to  see
          if the imported commands specified by pattern reside in
          an autoloaded library.  If so, the commands are  loaded
          so  that  they will be available to the interpreter for
          creating the import links.   If  the  commands  do  not
          reside in an autoloaded library, autoimport does noth-
          ing.  The pattern matching is  performed  according  to
          the matching rules of namespace import.

     autoload cmd
          This command attempts to load the definition for a  Tcl
          command  named  cmd.   To do this, it searches an auto-
          load path, which is a list of one or more  directories.
          The  auto-load  path  is  given  by the global variable
          $autopath if it exists.  If  there  is  no  $autopath
          variable,  then  the TCLIBPATH environment variable is
          used, if it exists.  Otherwise the auto-load path  con-
          sists  of  just the Tcl library directory.  Within each
          directory in the auto-load path there must  be  a  file
          tclIndex that describes one or more commands defined in
          that directory and a script to evaluate to load each of
          the  commands.   The  tclIndex file should be generated
          with the automkindex command.  If cmd is found  in  an
          index file, then the appropriate script is evaluated to
          create the command.  The autoload command returns 1 if
          cmd was successfully created.  The command returns 0 if
          there was no index entry  for  cmd  or  if  the  script
          didn't actually define cmd (e.g. because index informa-
          tion is out of date).  If an error  occurs  while  pro-
          cessing  the  script,  then  that  error  is  returned.
          Autoload only reads the  index  information  once  and
          saves  it  in  the  array  autoindex;  future calls to



Tcl                     Last change: 8.0                        2






Tcl Built-In Commands                                 library(1T)



          autoload check for cmd in the array  rather  than  re-
          reading  the index files.  The cached index information
          may be deleted with the command autoreset.  This  will
          force  the  next  autoload command to reload the index
          database from disk.

     automkindex dir pattern pattern ...
          Generates an index suitable for use by autoload.   The
          command  searches  dir  for all files whose names match
          any of the pattern arguments (matching is done with the
          glob  command),  generates an index of all the Tcl com-
          mand procedures defined in all the matching files,  and
          stores  the  index information in a file named tclIndex
          in dir. If no pattern is given a pattern of *.tcl  will
          be assumed.  For example, the command
               automkindex foo *.tcl

          will read all the .tcl files in  subdirectory  foo  and
          generate a new index file foo/tclIndex.

          Automkindex parses the Tcl scripts  by  sourcing  them
          into  a  slave  interpreter and monitoring the proc and
          namespace commands that are executed.   Extensions  can
          use  the  (undocumented) automkindexparser package to
          register other commands  that  can  contribute  to  the
          autoload index. You will have to read through auto.tcl
          to see how this works.

          Automkindexold parses the Tcl scripts in a relatively
          unsophisticated  way:   if  any  line contains the word
          proc as its first characters then it is assumed to be a
          procedure  definition  and the next word of the line is
          taken as the procedure's name.   Procedure  definitions
          that  don't  appear  in this way (e.g. they have spaces
          before the proc) will not be indexed.  If  your  script
          contains  "dangerous"  code, such as global initializa-
          tion code or procedure names  with  special  characters
          like   $,   *,   [   or   ],   you   are   safer  using
          automkindexold.

     autoreset
          Destroys all the information cached by autoexecok  and
          autoload.   This information will be re-read from disk
          the next time it is needed.   Autoreset  also  deletes
          any  procedures  listed in the auto-load index, so that
          fresh copies of them will be loaded the next time  that
          they're used.

     autoqualify command namespace
          Computes a list of fully qualified names  for  command.
          This  list  mirrors the path a standard Tcl interpreter
          follows for command lookups:  first it  looks  for  the



Tcl                     Last change: 8.0                        3






Tcl Built-In Commands                                 library(1T)



          command  in the current namespace, and then in the glo-
          bal namespace.  Accordingly, if command is relative and
          namespace  is  not  ::,  the list returned has two ele-
          ments:  command scoped by namespace, as if  it  were  a
          command  in  the namespace namespace; and command as if
          it were a command in the global namespace.   Otherwise,
          if  either  command is absolute (it begins with ::), or
          namespace is ::, the list contains only command  as  if
          it were a command in the global namespace.

          Autoqualify is used by the auto-loading facilities  in
          Tcl,  both  for  producing auto-loading indexes such as
          pkgIndex.tcl,  and  for  performing  the  actual  auto-
          loading of functions at runtime.

Name
     tclfindLibrary basename version patch initScript enVarName  var-
          This  is  a standard search procedure for use by exten-
          sions during their initialization.  They call this pro-
          cedure  to  look  for  their  script library in several
          standard directories.  The last component of  the  name
          of  the  library  directory is normally basenameversion
          (e.g., tk8.0), but it might be "library"  when  in  the
          build hierarchies.  The initScript file will be sourced
          into the interpreter once it is found.   The  directory
          in  which  this file is found is stored into the global
          variable varName.  If this variable is already  defined
          (e.g.,  by  C  code  during application initialization)
          then no searching is done.  Otherwise the search  looks
          in  these  directories:   the  directory  named  by the
          environment variable enVarName;  relative  to  the  Tcl
          library  directory;  relative to the executable file in
          the standard installation bin  or  bin/arch  directory;
          relative  to  the  executable file in the current build
          tree; relative to the executable  file  in  a  parallel
          build tree.

     parray arrayName
          Prints on standard output the names and values  of  all
          the elements in the array arrayName.  ArrayName must be
          an array accessible to the caller of parray.  It may be
          either local or global.

     tclendOfWord str start
          Returns the index of  the  first  end-of-word  location  
          that  occurs after a starting index start in the string  
          str.  An end-of-word location  is  defined  to  be  the  
          first non-word character following the first word char-  
          acter after the starting point.  Returns  -1  if  there  
          are  no  more  end-of-word locations after the starting  
          point.   See  the  description  of  tclwordchars   and  
          tclnonwordchars  below  for  more  details  on how Tcl  



Tcl                     Last change: 8.0                        4






Tcl Built-In Commands                                 library(1T)



          determines which characters are word characters.         

     tclstartOfNextWord str start                                      
          Returns  the  index of the first start-of-word location  
          that occurs after a starting index start in the  string  
          str.   A  start-of-word  location  is defined to be the  
          first word character following  a  non-word  character.  
          Returns -1 if there are no more start-of-word locations  
          after the starting point.                                

     tclstartOfPreviousWord str start                                  
          Returns  the  index of the first start-of-word location  
          that occurs before a starting index start in the string  
          str.   Returns  -1  if  there are no more start-of-word  
          locations before the starting point.                     

     tclwordBreakAfter str start                                       
          Returns  the index of the first word boundary after the  
          starting index start in the string str.  Returns -1  if  
          there  are  no more boundaries after the starting point  
          in the given string.  The index returned refers to  the  
          second character of the pair that comprises a boundary.  

     tclwordBreakBefore str start                                      
          Returns the index of the first word boundary before the  
          starting index start in the string str.  Returns -1  if  
          there  are no more boundaries before the starting point  
          in the given string.  The index returned refers to  the  
          second character of the pair that comprises a boundary.


VARIABLES
     The following global variables are defined or  used  by  the
     procedures in the Tcl library:

     autoexecs
          Used by autoexecok to record information about whether
          particular commands exist as executable files.

     autoindex
          Used by autoload to save the  index  information  read
          from disk.

     autonoexec
          If set to any value, then unknown will not  attempt  to
          auto-exec any commands.

     autonoload
          If set to any value, then unknown will not  attempt  to
          auto-load any commands.

     autopath



Tcl                     Last change: 8.0                        5






Tcl Built-In Commands                                 library(1T)



          If set, then it must contain a valid  Tcl  list  giving
          directories  to  search  during  auto-load  operations.
          This variable is initialized during startup to contain,
          in  order:   the  directories  listed in the TCLIBPATH
          environment  variable,  the  directory  named  by   the
          $tcllibrary   variable,   the   parent   directory  of
          $tcllibrary,   the   directories   listed    in    the
          $tclpkgPath variable.

     env(TCLIBRARY)
          If set, then it specifies the location of the directory
          containing  library scripts (the value of this variable
          will be assigned to the tcllibrary variable and there-
          fore  returned  by  the command info library).  If this
          variable isn't set then a default value is used.

     env(TCLIBPATH)
          If set, then it must contain a valid  Tcl  list  giving
          directories  to  search  during  auto-load  operations.
          Directories must be specified in Tcl format, using  "/"
          as  the  path  separator, regardless of platform.  This
          variable is only used when initializing  the  autopath
          variable.

     tclnonwordchars
          This variable contains a  regular  expression  that  is  
          used by routines like tclendOfWord to identify whether  
          a character is part of a word or not.  If  the  pattern  
          matches  a character, the character is considered to be  
          a non-word character.  On  Windows  platforms,  spaces,  
          tabs,  and newlines are considered non-word characters.  
          Under Unix, everything but numbers, letters and  under-  
          scores are considered non-word characters.               

     tclwordchars                                                      
          This  variable  contains  a  regular expression that is  
          used by routines like tclendOfWord to identify whether  
          a  character  is part of a word or not.  If the pattern  
          matches a character, the character is considered to  be  
          a  word  character.   On  Windows  platforms, words are  
          comprised of any character that is not a space, tab, or  
          newline.   Under  Unix, words are comprised of numbers,  
          letters or underscores.

     unknownpending
          Used by unknown to record the command(s) for  which  it
          is  searching.   It  is  used  to  detect  errors where
          unknown recurses on itself infinitely.  The variable is
          unset before unknown returns.






Tcl                     Last change: 8.0                        6






Tcl Built-In Commands                                 library(1T)



SEE ALSO
     info(1T), resyntax(1T)


KEYWORDS
     auto-exec, auto-load, library, unknown, word, whitespace

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     
       ATRIBUTE TYPE     ATRIBUTE VALUE
    
     Availability         SUNWTcl        
    
     Interface Stability  Uncommitted    
    

NOTES
     Source for Tcl is available on http:/opensolaris.org.


































Tcl                     Last change: 8.0                        7



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™