1mTCL LOADABLE LIBRARIES AND PACKAGES0m
       Extended  Tcl  supports  standard  Tcl  1mtclIndex  22mlibraries and package
       libraries. A package library file can contain multiple independent  Tcl
       packages.   A  package  is a named collection of related Tcl procedures
       and initialization code.

       The package library file is just a regular  Unix  text  file,  editable
       with your favorite text editor, containing packages of Tcl source code.
       The package library file name must have the  suffix  1m.tlib22m.   An  index
       file  with  the  same prefix name and the suffix 1m.tndx 22mresides the same
       directory as the 1m.tlib 22mfile.  The 1m.tndx 22mwill be  automatically  created
       whenever  it  is out of date or missing (provided there is write access
       to the directory).

       The variable 1mauto_path 22mcontains a list of directories that are searched
       for  libraries.   The  first  time an unknown command trap is take, the
       indexes for the libraries are loaded  into  memory.  If  the  1mauto_path0m
       variable  is  changed  during  execution  of  a program, it will be re-
       searched. Only the first package of a given name found during the  exe-
       cution  of  a  program  is loaded.  This can be overridden with 1mloadli-0m
       1mbindex 22mcommand.

       The start of a package is delimited by:

              1m#@package22m: 4mpackage_name24m 4mproc124m ?4m..procN24m?

       These lines must start in column one.  Everything between  the  1m#@pack-0m
       1mage: 22mkeyword and the next 1m#@package: 22mkeyword or a 1m#@packend 22mkeyword, or
       the end of the file, becomes part of the named package.  The  specified
       procedures,  4mproc1..procN24m, are the entry points of the package.  When a
       command named in a package specification is executed and detected as an
       unknown  command,  all  code  in the specified package will be sourced.
       This package should define all of the procedures named on  the  package
       line,  define any support procedures required by the package and do any
       package-specific initialization.  Packages declarations maybe continued
       on  subsequent  lines  using standard Tcl backslash line continuations.
       The 1m#@packend 22mkeyword is useful to make sure only the minimum  required
       section  of code is sourced.  Thus for example a large comment block at
       the beginning of the next file won't be loaded.

       Care should be taken in defining 4mpackage_name24m,  as  the  first  package
       found  in  the path by with a given name is loaded.  This can be useful
       in developing new version of packages installed on the system.

       For example, in a package source file, the presence  of  the  following
       line:

              1m#@package: directory_stack pushd popd dirs0m

       says  that the text lines following that line in the package file up to
       the next 4mpackage24m line or the end of the file is a package named  1mdirec-0m
       1mtory_stack  22mand  that  an attempt to execute either 4mpushd24m, 4mpopd24m or 4mdirs0m
       when the routine is not already defined will cause the  1mdirectory_stack0m
       portion of the package file to be loaded.
