About the "plus"-patch for Tcl8.1

This patch contains the following enhancements:

Shared library support

If the option "--enable-shared" is given to the configure script both the
static and shared libraries are created. Also in all directories where
shared libraries are a pkgIndex.tcl file is created which contains
references to all functions in these shared libraries.

Because of the existance of pkgIndex.tcl files, the "package require"
command is enough to load the shared libraries into tclsh. For example:

	>tclsh8.1
	%package require Tk

This single command is enough to load libtk8.1.so  dynamically. The main
window "." will appear and all tk commands are available. For some systems
(e.g. SunOS4) this will not yet work in all situations, but usually the
cause of such a failure is because of your system doesn't have a shared
X11 library. Because the event loop enhancements (see below) are not yet
functional in this patch, you have to provide your own event loop in
your script.

Standalone Applications

In addition to Tcl_Init() and Tk_Init (or Xxx_Init in general) there are now
additional functions Tcl_InitStandAlone() and Tk_InitStandAlone() (or
Xxx_InitStandAlone in general). These perform the same function, only the
Tcl and Tk libraries are compiled into the executable. This makes the
executable larger, of course, but they will run on any system no matter if
Tcl/Tk (or blt or Tix) is installed or not. Included is a program tcl2c,
which translates tcl scripts into C source code. Compiling this code and
linking with the necessary static libraries results in a standalone
executable.

It is possible to link your executable with shared libraries if you
use the flag "-DSHARED" with your C-compiler. This will result in
a much smaller executable, but it doesn't work standalone: it only
works if Tcl/Tk/TclX, whichever libraries you link in, are installed
on the system. The installed libraries don't need to be the plus-
patched versions: the original ones are O.K. as well.

Event Loop

Because of the total rewrite of the event loop in Tcl 8.x, the
event related enhancement that were in the Tcl 7.6 pluspatch
are no longer functional in this version. And I don't see a
quick way of getting it to work. Pity. Maybe in the future,
but it will more likely be months than weeks. Tk can still
be dynamically loaded as described earlier. TkCon works as
well (because I added an event loop in tclMain.c). The
workaround of supplying your own event loop is simple enough,
which gives this feature no high priority on my ToDo list.
Sorry.....

C++-support

The following files are changed such that they now can be compiled by
any C or C++ compiler (both K&R and ANSI).

Tcl
     tclAppInit.c
     tclTest.c
     tclUnixTest.c
     pkga.c
     pkgb.c
     pkgc.c
     pkgd.c
     pkge.c
     pkgf.c

Tk
     tkAppInit.c
     tkTest.c
     tkSquare.c

Loadable extensions

If shared libraries are enabled, the executables tcltest and tktest are no
longer created for testing purposes. In stead, loadable libraries Tcltest.so,
Tclunixtest.so, Tktest.so and Tksquare.so are created which only contain the
additional test functions. These loadable libraries will be used to test
tclsh and wish.

----------------------------------------------------------------------------
 The "plus"-patch is implemented by:

     Jan Nijtmans
     CMG (Computer Management Group) Arnhem B.V.
     email: Jan.Nijtmans@wxs.nl (private)
            Jan.Nijtmans@cmg.nl (work)
     url:   http://home.wxs.nl/~nijtmans/
