+

Plus patches

counter
references since December 16, 2000

Contents

  1. Files for Tcl/Tk 8.3.1
  2. Files for Tcl/Tk 8.2.3
  3. Files for Tcl/Tk 8.0.4
  4. Files available for earlier Tcl/Tk versions
  5. Stub table support
  6. About the plus-patches

Files for Tcl/Tk 8.3(.1)

tcl8.3.1plus.patch.gz (created: 2000-5-14) http new
A patch for Tcl8.3.1, which various enhancements and bug-fixes. See below.
tcl8.3.1plus.tar.gz (created: 2000-5-14) http new
Complete distribution of Tcl8.3.1+ (with plus-patch already applied)
tcl831plus.zip (created: 2000-5-14) http new
The same as tcl8.3.1plus.tar.gz, only in a different format.
tk8.3.1plus.tar.gz (created: 2000-5-14) http new
Complete distribution of Tk8.3.1+ (with plus-patch already applied)
tk831plus.zip (created: 2000-5-14) http new
The same as tk8.3.1plus.tar.gz, only in a different format.
tcl+-8.3.1-1.i386.rpm new (created: 2000-5-15 by Jean-Luc Fontaine)
Binary distribution of Tcl8.3.1+ (with plus-patch already applied) for Linux (Redhat 6.2 i386). Matching Tk version not available yet.
tcl8.3 8.3.0-1
Binary distribution of Tcl8.3.0+ (with plus-patch already applied) for Debian Linux, maintained by David Engel
tk8.3 8.3.0-1
Binary distribution of Tk8.3.0+ (with plus-patch already applied) for Debian Linux, maintained by David Engel

Files for Tcl/Tk 8.2.x

tcl823plus.exe (created: 2000-1-21, 8.3.1 version not yet available)
Binary distribution of Tcl/Tk8.2.3+ (with plus-patch, dash-patch, img-patch and elide.patch already applied) for Windows 95/98/NT/2000.
tclplug2.1b1-unoff.exe (created: 1999-10-8, 8.3.1 version not yet available)
Binary distribution of Tcl/Tk8.2.1+ (with plus-patch, dash-patch, img-patch and elide.patch already applied) for Windows 95/98/NT/2000, Netscape/Internet Explorer plugin versions.

Files for Tcl/Tk 8.0.4

tcl8.0.4plus.patch.gz (created: 1999-1-12, 252223 bytes)
A patch for Tcl8.0.4, which adds more support for shared libraries and standalone applications. See below.
tk8.0.4plus.patch.gz (created: 1999-1-12, 85215 bytes)
A patch for Tk8.0.4, which adds more support for shared libraries and standalone applications. See below.
tcl8.0.4plus.tar.gz (created: 1999-1-12, 1626962 bytes)
Complete distribution of Tcl8.0.4+ (with plus-patch already applied)
tk8.0.4plus.tar.gz (created: 1998-1-12, 2156754 bytes)
Complete distribution of Tk8.0.4+ (with plus-patch, dash-patch, img-patch and elide.patch already applied)
tcl804plus.exe (created: 1998-1-23, 2156754 bytes)
Binary distribution for Windows 95/98/NT.

Older files, no longer supported:

itcl2.2plus.patch.gz (updated: 1997-3-17)
A patch for Itcl2.2, which adds more support for Shared libraries and Standalone applications. See below.
tcl7.6p2plus.patch.gz (updated: 1997-4-29)
A patch for Tcl7.6p2, which adds more support for Shared libraries and Standalone applications. See below.
tcl7.6p2plus.tar.gz (updated: 1997-4-29)
Complete distribution of Tcl7.6p2+ (with above patch already applied)
tk4.2p2plus.patch.gz (updated: 1997-4-29)
A patch for Tk4.2p2, which adds more support for Shared libraries and Standalone applications. See below.
tk4.2p2plus.tar.gz (updated: 1997-4-29)
Complete distribution of Tk4.2p2+ (with above patch and dash-patch already applied)
tclX7.6.0plus.patch.gz (updated: 1997-3-18)
A patch for TclX7.6.0, which adds more support for Shared libraries and Standalone applications. See below. Requires either Itcl 2.2 or Tcl7.6(p2)/Tk4.2(p2) with the corresponding plus-patches.
tcl7.5p1plus.patch.gz
No longer supported.
tk4.1p1plus.patch.gz
No longer supported.

Stub table support

Tcl/Tk 8.0.6 and higher have an important new feature: Stub tables. This feature allows loadable extensions to link to Tcl, even on platforms with a weak shared library implementation (such as Windows). Extensions built this way can be loaded by standalone executables on all platforms. Stub tables have many more advantages, but here only is an outline how to use it in extensions.

Building extensions using the stub tables, goes as follows:

WARNING: Stub-enabled extensions need a stub-enabled version of Tcl in order to run. Tcl/Tk 8.0.6 and later provide that.

About the "Plus"-patches

These patches currently are supported only for Tcl8.3.1/Tk8.3.1. They contain serveral enhancements (which are summarized below) and many bug fixes. The most changes are in the configure script and the Makefile, but also some changes are made in the code. All changes are 100% upwards compatible with the corresponding offical Tcl/Tk releases.

Event Loop

Tclsh8.x is fully event-driven. That means that after the script is finished the application will start an event-loop which is compatible with the Tk event-loop. This means that loading Tk dynamically into tclsh (package require Tk) has exactly the same effect as running wish. On Windows the DOS command-line console is used in stead of the Tk console. But applications can also provide their own event-loop, if they wish.

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 loading is enabled, the executables tcltest and tktest are no longer created for testing purposes. In stead, loadable libraries Tcltest.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.


Valid XHTML 1.0!Valid CSS!

Written by: Updated: December 16, 2000
Jan Nijtmans
CMG (Computer Management Group) Arnhem B.V.
email: j.nijtmans@chello.nl (private)
jan.nijtmans@cmg.nl (work)
url: http://purl.oclc.org/net/nijtmans/