1 Extended Tcl (TclX) 8.4.0 2 ========================= 3 4INTRODUCTION 5============ 6 7Extended Tcl (TclX), is an extension to Tcl, the Tool Command Language 8invented by Dr. John Ousterhout. Tcl is a powerful, yet simple embeddable 9programming language. Extended Tcl is oriented towards system programming 10tasks and large application development. TclX provides additional 11interfaces to the operating system, and adds many new programming 12constructs, text manipulation tools, and debugging tools. 13 14TclX is upwardly compatible with Tcl. You take the Extended Tcl package, 15add it to Tcl, and from that you get Extended Tcl. Tcl can be obtained at 16 17 http://www.tcl.tk/ or http://tcl.sourceforge.net/ 18 19Extended Tcl runs on most Unix-like systems and Windows. 20 21While this TclX distribution is tested with Tcl 8.4 and Tk 8.4, it should 22with Tcl 8.3+. Please check the Extended Tcl homepage at 23 24 http://tclx.sourceforge.net/ 25 26for the latest release and information. 27 28Extended Tcl was designed and implemented by Karl Lehenbauer 29(karl@procplace.com) and Mark Diekhans (markd@Kermodei.com), with help in 30the earliest stages from Peter da Silva (peter@NeoSoft.com). TclX 8.4 31work was done by Jeff Hobbs at ActiveState. 32 33TclX 8.4 differs from its predecessors in that it is based more on the 34idea of TclX as an extension to Tcl, and not an alternate environment. 35There is no TkX and no stand-alone shells are built. 36 37As with Tcl, all of Extended Tcl is freely redistributable, including for 38commercial use and resale (BSD-style license). 39 40BUILDING AND INSTALLING TCLX 41============================ 42 431. Uncompress and unpack the distribution 44 45 ON UNIX/MAC: 46 gzip -cd tclx<version>.tar.gz | tar xf - 47 48 ON WINDOWS: 49 use something like WinZip to unpack the archive. 50 51 This will create a subdirectory tclx<version> with all the files in it. 52 532. Configure 54 55 ON UNIX/MAC: 56 cd tclx<version> 57 ./configure 58 59 TclX is TEA-based and uses information left in tclConfig.sh when you 60 built tcl. This file will be found in $exec_prefix/lib/. You might set 61 the --prefix and --exec-prefix options of configure if you don't want 62 the default (/usr/local). If building on multiple unix platforms, the 63 following is recommended to isolate build conflicts: 64 65 mkdir <builddir>/<platform> 66 cd !$ 67 /path/to/tclx<version>/configure 68 69 ON WINDOWS: 70 71 TclX supports building in the cygwin/msys environment on Windows based 72 on TEA (http://www.tcl.tk/doc/tea/). Inside this environment, you build 73 the same as on Unix. 74 75 Otherwise, hack makefile.vc until it works and compile. It was not 76 updated for TclX 8.4. It has problems executing wish from a path with a 77 space in it, but the DLL builds just fine. 78 793. Make and Install 80 81 ON UNIX/MAC or WINDOWS with cygwin/msys: 82 make 83 make test (OPTIONAL) 84 make install 85 86 ON WINDOWS (makefile.vc): 87 nmake -f makefile.vc 88 nmake -f makefile.vc test (OPTIONAL) 89 nmake -f makefile.vc install 90 91 TclX is built to comply to the latest tcl package conventions. 92 93CHANGES IN TCLX 8.4 94=================== 95 96 o Restructure of the sources and build system 97 98 o Removal of TkX extension 99 100FEATURES ADDED BY EXTENDED TCL 101============================== 102 103Here is a summary of the features added by Extended Tcl. For more details 104on the commands and functionality provided by Extended Tcl, see the manual 105page man/TclX.man. 106 107 o Keyed lists, a type of list that provides functionality 108 similar to C structures. 109 110 o A command tracing facility for debugging and a performance profiler. 111 112 o Unix access commands provide access to many Unix system calls, 113 including process management. 114 115 o File control and status commands provide added facilities for 116 accessing and manipulating open files. 117 118 o File scanning facility that provides awk-like functionality. 119 120 o Extended list manipulation commands. 121 122 o Extended string and character manipulation commands. 123 124 o X/PG based internationalization commands. 125 126 o Advanced Tcl code library facility that is oriented towards building 127 large applications. It is compatible with standard Tcl auto-loading. 128 129 o Additional general programming commands. 130 131 o Restricted use in a safe interpreter. 132 133 o Support for binary data in most commands. 134 135MANUAL PAGES 136============ 137 138Man pages in nroff/troff format are provided for all of Tcl and the 139extensions in the doc directory. Start with the TclX.n manual. 140 141EXTENDED TCL VERSION NAMING 142=========================== 143 144Extended Tcl version numbering has been changed to track the Tcl/Tk version 145numbering roughly. 146 147LINKING APPLICATIONS AND EXTENSION WITH TCLX 148============================================ 149 150There are three basic approaches to linking TclX into applications or with 151other extensions: 152 153 o Dynamically load the C code using either 'package require' or 154 the 'load' command. 155 156 o Linking TclX into an application based on the standard Tcl or Tk 157 shells (tclsh or wish) or based on your own startup. 158 159See the TclX_Init.3 manual page for more details. The pkg_mkIndex does not 160generate a pkgIndex.tcl file that works with TclX. See TclX_Init.3 for 161instructions on how to setup a pkgIndex.tcl file for use with the package 162require command. There is no need to dynamically load libtkx, its only 163there to support wishx and applications that want wishx's signal handling. 164 165TclX will build and install a pkgIndex.tcl that will be automatically found 166by Tcl if TclX is installed in the same location. 167 168SUPPORT FOR EXTENDED TCL 169======================== 170 171We are committed to providing continuing support for Extended Tcl. 172Please send questions, bug reports, and bug fixes to: 173 174 http://tclx.sourceforge.net/ 175 176Use news:comp.lang.tcl for discussion about TclX development. 177 178WHERE TO GET IT 179=============== 180 181Extended Tcl can be downloaded from the SF TclX release files area: 182 183 http://tclx.sourceforge.net/ 184 185Refer to the above site for bug database and other support forums. 186 187THANKS 188====== 189 190A big thanks to all of the Extended Tcl users from all over the world who 191have helped us debug problems and given us valuable suggestions. A special 192thanks to John Ousterhout, his students at Berkeley, and (more recently) 193his teams at Sun Microsystems and Scriptics, for Tcl, Tk and all the 194support they have given us. 195 196Thanks to Michael E. Shorter <mike@globalware.com>, Christopher M. Sedore 197<cmsedore@zombie.maxwell.syr.edu>, Philip Chow <pchow@isgtec.com>, and 198Kirk Benson <benson@healthcare.com> for their initial work on porting TclX 199to MS Windows. 200 201Thanks to Jan Nijtmans <nijtmans@wxs.nl> of Plus Patch fame for helping 202to get shared library support working for several system. 203