home *** CD-ROM | disk | FTP | other *** search
-
- *** README.EXTD - README file for Extended Tcl ***
-
-
- EXTENDED TCL
- ============
-
- Extended Tcl (TclX), defines a set of extensions to Tcl 6.5, the Tool
- Command Language invented by Dr. John Ousterhout of the University of
- California at Berkeley. Tcl is a powerful, yet simple embeddable programming
- language. Extended Tcl is oriented towards system programming tasks, with
- many additional interfaces to the Unix operating system, It is upwardly
- compatible with Tcl 6.5. You take the Extended Tcl package, add it to Tcl
- 6.5, and from that you get Extended Tcl. (Berkeley Tcl is not included in
- this distribution, obtain it from sprite.berkeley.edu).
-
- Support is also included for building a Tk 3.0 wish shell (wishx) with the
- Extended Tcl command set.
-
- Extended Tcl was designed and implemented by Karl Lehenbauer
- (karl@NeoSoft.com) and Mark Diekhans (markd@Grizzly.com), with help in the
- early stages from Peter da Silva (peter@NeoSoft.com).
-
- As with Berkeley Tcl, all of Extended Tcl is freely redistributable,
- including for commercial use and resale.
-
-
- FEATURES ADDED BY EXTENDED TCL
- ==============================
-
- Here is a summary of the features added by Extended Tcl. For more details
- on the commands and functionality provided by Extended Tcl, see the manual
- page man/TclX.man.
-
- o A shell, which provides an environment for developing and executing
- Tcl programs.
-
- o Advanced Tcl code library facility.
-
- o General purpose commands which define new programming constructs,
- debugging and profiling facilities.
-
- o Unix access commands provide access to many Unix system calls, including
- process management.
-
- o File I/O commands provided added facilities for accessing and
- manipulating open files.
-
- o File scanning facility that provides awk-like functionality.
-
- o Math commands (random, sin, cos, etc).
-
- o Extended list manipulation commands
-
- o Keyed lists, a type of list that provided functionality similar to C
- structures.
-
- o Extended string and character manipulation commands.
-
- o Time and date manipulation and conversion commands.
-
- ON-LINE HELP
- ============
-
- There is a help system included with Extended Tcl. It contains some
- documentation on every command in Berkeley Tcl, and Extended Tcl. You can
- invoke it interactively from within Extended Tcl by typing "help".
-
- Once you bring Tcl up and have gotten it to pass all the tests, try typing
- "help help" to learn how to use help.
-
- MANUAL PAGES
- ============
-
- Man pages in nroff/troff format are provided for all of Tcl and the
- extensions in the directory tclX6.5c/man. Start with the TclX.man manual.
-
- EXTENDED TCL VERSION NAMING
- ===========================
-
- Extended Tcl takes its version number from the corresponding version of
- Berkeley (Ousterhout) Tcl upon which it is based, with the addition of a
- trailing letter in case there are multiple releases of Extended Tcl within a
- single release of Berkeley Tcl. This release is TclX 6.5c.
-
- INTERFACING TCL AND C++
- =======================
-
- C++ programmers can include the file "tcl++.h" to define C++ classes
- that can be used to access a Tcl interpreter. This is based on Tcl
- C++ classes originally developed by Parag Patel.
-
- TCL DIRECTORY HIERARCHY
- =======================
-
- Here is an overview of the directory hierarchy:
-
- top_level_directory
-
- tcl6.5 tclX6.5c tk3.0
-
- The tcl6.5 directory contains Berkeley Tcl, unmodified and tk3.0 contains
- unmodified tk3.0, if you plan to use Tk These locations are only suggested,
- they maybe changed by editing tclX6.5c/Config.mk.
-
- The following directories are included under the tclX6.5c directory:
-
- o config - Configuration files for various Unix versions.
-
- o man - Unformated manual pages for TclX.
-
- o src - The main source for TclX.
-
- o osSupport - Library routines required by TclX that may not be available
- on all Unix versions.
-
- o ucbsrc - A makefile and sed scripts used to modify source files that
- are supplied with UCB Tcl. The files are modified with sed so you don't
- have to have patch to build Tcl, however context diffs are provided if
- problems occur porting to a new version of Tcl.
-
- o tclsrc - Tcl source that is built into the Tcl package library.
-
- o tcllib - Tcl source and runtime environment that is required to run TclX.
-
- o tcllib/help - Help files for Tcl and TclX.
-
- o tests - Tests for TclX.
-
- o tkucbsrc - A makefile and sed scripts used to modify source files that
- are supplied with Tk to add in TclX functionality. Context diffs are
- also provided.
-
- o tksrc - A makefile that builds a version of the Tk wish shell containing
- Extended Tcl.
-
- o experimental - An directory of expermintal and contributed Tcl source.
- The code is not normally built as part of TclX.
-
- HOW TO BUILD IT
- ===============
-
- Please read TclX.man in the tclX6.5c/man directory before starting the
- engine or working under the hood.
-
- Configure and build Berkeley Tcl as described in that distribution. Don't
- forget to do a "csh config" before running make for the first time.
-
- Cd to the "tclX6.5c" directory, which contains this distribution. Edit the
- file "Config.mk" to configure Extended Tcl for your Unix version and your
- preferences. The first part of this file contains user preference options,
- including the location of the Berkeley Tcl source and, optionally, the Tk 3.0
- source. A macro TCL_CONFIG_FILE is also defined that points to a Unix system
- configuration file in the "config" directory. There should be one there for
- your system. If not, you will have to develop one based on the documentation
- in "Config.mk". If you develop or fix problems in a configuration file,
- please send it to us at the address below.
-
- Now do a "make". If all goes well, this will augment the tcl.a library
- will all of the functions defined by both Berkeley and Extended Tcl, and
- create an executable version of tcl in the "tclX6.5c" directory called, simply
- enough, "tcl". A "wishx" executable will be also built if it was requested.
-
- Until the Extended Tcl runtime files are installed, "tcl" and "wishx" can't
- be run directly. To run them before installation, use "runtcl" or "runwishx".
-
- Next enter the command "runtcl" and, if everything worked, you should be
- greeted by a tcl prompt:
-
- tcl>
-
-
- RUN TESTS TO INSURE THAT TCL IS WORKING PROPERLY
- ================================================
-
- Tcl and TclX come with over 1400 tests that you can run to insure that it
- is working properly. These tests have greatly helped us while working on Tcl
- by detecting bugs that get introduced accidentally as side-effects of changes.
- Consequently, we have found Tcl to be very reliable, and have had very few
- cases where a new release has regressed by introducing new bugs in old
- functions, or reintroducing old bugs in old functions.
-
- There are two sets of tests: the tests from Berkeley Tcl, and tests for
- Extended Tcl, which test both the new commands added by Extended Tcl and the
- procedures defined in the Tcl procedure library.
-
- Run both the Berkeley and TclX tests by typing "make test" in the Extended
- directory.
-
- If a test fails, please dig into the test and the C source for the function
- being tested, fix the bug and mail us the change. If you're not inclined to
- do this, please report the problem, including the output of the test, to
- tcl-project@neosoft.com. Sometimes tests fail due to problems in the system
- environment or bugs in that test rather than problems with TclX. Even if a few
- of the tests fail, you probably still have a working TclX.
-
- If you're having trouble with the Berkeley tests, and you suspect that the
- extensions might be involved, you can build a special minimal version of
- Berkeley Tcl by cd'ing to the tcl6.5 directory and doing a "make tclTest".
- You can then invoke "tclTest", where you should be greeted by a "%" prompt.
- Next, cd to the tests directory and do a "source all".
-
- Note that the Berkeley tests turn off tcl's ability to autoload procedures
- from the Tcl source library, so after running the tests, you should usually
- exit Tcl and restart it.
-
- You will not be able to run the Tk demos with wishx until after Extended
- Tcl has been installed. At that time, you can run the demos with a procedure
- "tkdemo". This is handy for showing Tk off to you friends.
-
- INSTALLING EXTENDED TCL
- =======================
-
- To install Extended Tcl, edit the tclX6.5c/Config.mk installation
- configuration section to match your preferences. Read the information in the
- Makefile carefully before configuring it. Cd to the tclX6.5c directory and do
- a "make install" (normally as root). This will install include files and
- manual pages for Berkeley Tcl and TclX, as well as the TclX binary and
- library.
-
- The Tcl default file may be used to install more than one version of
- TclX on a system.
-
- MAKING EXECUTABLE TCL SCRIPTS
- =============================
-
- It is common to want to write Tcl scripts, put them in a directory along
- your search path, and execute them just like you do with shell scripts.
-
- On systems that support the "#!" convention, you can put a
-
- #!/usr/local/bin/tcl
-
- as the first line of your script, and executing the script will
- automatically invoke tcl to process it. Of course if you install
- Tcl somewhere else, you'll use a different path.
-
- For systems that don't support this convention (most System V
- systems, for example), it is probably best to create a shell
- script that does something like:
-
- exec tcl commandfile.tcl
-
-
- PACKAGE LIBRARIES
- =================
-
- Package Libraries are a Tcl source code management tool included in
- this release. Package libraries allow you to group Tcl procedures into
- logical bundles and create single files, libraries, that contain multiple
- packages. The package code provides a low-overhead means of automatically
- demand-loading a package on the first attempt to execute one of the procedures
- defined within it. As such, package libraries provide a mechanism to
- accommodate the creation of Tcl applications and libraries of a substantial
- size.
-
- SUPPORT FOR EXTENDED TCL
- ========================
-
- We are committed to providing continuing support for Extended Tcl. Please
- send questions, bug reports, and bug fixes to:
-
- tcl-project@NeoSoft.com (uupsi!sugar!tcl-project)
-
- Or leave a note on our BBS at (713) 684-5900
-
- SEND US YOUR LIBRARY ROUTINES
- =============================
-
- If you write a useful Tcl procedure and would like to share it with
- everyone, send us a copy and we'll consider it for the Tcl library!
-
- COMPATIBILITY WITH TclX 6.4c
- ============================
-
- We have attempted to main backwards-compatibility with older versions
- of TclX. A few changes were made to enhance usability or fix problems that
- have introduced a few incompatibilities, these are listed below. Remember
- that multiple versions of Tcl may be installed on a system using the Tcl
- default file, so you don't have to convert everything at once.
-
- o Only set SIGINT to cause an error if the Tcl shell or wish is reading
- commands from stdin.
-
- o Renamed the Extended Tcl wish shell to "wishx", so both extended and
- standard versions can be installed on the system.
-
- CAVEATS
- =======
-
- Although Extended Tcl compiles and executes the tests properly on SCO Unix
- System V/3.2.4, Xenix System V/386, and SunOS, it has not had much use under
- Xenix System V/386.
-
- Previous versions of Extended Tcl have also run under Berkeley BSD, HP-UX
- and Xenix/286. This release, however, has not been tested on these machines,
- although there is configuration information in the makefile for BSD and HP-UX,
- and Extended Tcl should come up fairly easily on these machines.
-
- Do not create any set-user-id versions of Tcl yet. There are holes in
- the startup sequence involving shell variables and default files that need
- to be plugged first.
-
- TCL USENET NEWSGROUP
- ====================
-
- A Usenet newsgroup, comp.lang.tcl, is dedicated to discussing Tcl, Tk and
- the applications that embed it.
-
- WHERE TO GET IT
- ===============
-
- Tcl 6.5 is available via anonymous ftp from:
-
- sprite.berkeley.edu:tcl/tcl6.5.tar.Z
- or
- ftp.uu.net:languages/tcl/tcl6.5.tar.Z
-
- Extended Tcl 6.5c can be downloaded by anonymous FTP from:
-
- sprite.berkeley.edu:tcl/tclX6.5c.tar.Z
- or
- barkley.berkeley.edu:tcl/extensions/tclX6.5c.tar.Z
- or
- ftp.uu.net:languages/tcl/tclX6.5c.tar.Z
-
- A contributed sources archive resides on barkley.berkeley.edu.
-
- Remember to mail Extended Tcl problems and questions to tcl-project@NeoSoft.com
- not John Ousterhout.
-