Tcl HomeTcl Home hosted by

Google SiteSearch

This page contains information about Tcl 7.6 and Tk4.2, which are the most stable releases of the Tcl scripting language and the Tk toolkit. The original versions of these releases were made on October 16, 1996, and the most recent set of patches (patch level 2) was released on January 31, 1997.

Table of Contents

Download Binary Releases for Windows and Macintosh
Download Source Releases for UNIX, Windows and Macintosh
What's New in Tcl 7.6 and Tk 4.2
Known Bugs
License Terms

Downloading Binary Releases for Windows and Macintosh

Pre-compiled releases are available for the following Windows and Macintosh platforms. When you download Tcl and Tk you get two programs, wish and tclsh, supporting script libraries, and on-line reference documentation. These programs are general purpose platforms for scripting applications with Tcl. Wish includes the graphical user interface toolkit Tk. These packages are ready to use after installation.

Downloading Source Releases for UNIX, Windows and Macintosh

If you're running on a platform other than the ones listed above, or if you want to make modifications to Tcl and Tk, you'll need to retrieve the source releases, which are available separately for Tcl and Tk in several different forms:

Windows Source Releases:

This are identical to the tar files listed under the UNIX sources. They are just in ZIP format instead of Tar.

Macintosh Source Releases:

UNIX Source Releases:

Compressed Tar Filies

Gzip'd Tar Files

When you retrieve one of these files, you'll get a compressed tar file with a name like tcl7.6p2.tar.gz or tcl7.6p2.tar.Z. The files are identical except for the technique used to compress them (.gz files are generally smaller than .Z files). To unpack the distribution, invoke shell commands like the following, depending on which version of the release you retrieved:
gunzip -c tcl7.6p2.tar.gz | tar xf -
zcat tcl7.6p2.tar.Z | tar xf -

Each of these commands will create a directory named tcl7.6, which includes the sources for all platforms, documentation, and the script library for Tcl 7.6. To compile and install the distribution, follow the instructions in the README file in the distribution directory. Be sure to compile Tcl before Tk, since Tk depends on information in Tcl.

Tcl and Tk should compile with little or no effort on any platform that runs a UNIX-like operating system and the X Window System. This includes workstations from Sun, HP, IBM, SGI, and DEC, PCs running a number of Unix operating systems such as Solaris, Linux, SCO UNIX, and FreeBSD, plus many other platforms such as Cray and NEC supercomputers. These releases should also compile with little or no effort on Windows and Macintosh platforms.

What's New in Tcl version 7.6 and Tk 4.2

The most important changes in the releases are summarized below. See the README and changes files in the distributions for more complete information on what has changed, including both feature changes and bug fixes.

  • The Tk grid geometry manager has been reimplemented.
  • New cross-platform file system operations have been added to rename and delete files and directories.
  • Virtual events for operations like <<Cut>> <<Copy>> and <<Paste>> allow for cross-platform bindings.
  • Cross-platform standard dialogs to open files, choose colors, and display messages.
  • Minor bugs in the event driven I/O and network socket interfaces have been eliminated.


Patches are available to correct several problems discovered in the original releases of Tcl 7.6 and Tk 4.2. As additional bugs are found, more patches will be released. At present, the following patches are available for Tcl 7.6 and Tk4.2:

  • There are no "p1" patches for these releases. The "p1" patch level was used to fix a few problems with the Macintosh port and was only released in the Macintosh version of the release.
  • Tcl7.6p2 , released on January 31, 1997. Click here for a description of the bugs fixed by this patch .
  • Tk 4.2p2 , released on January 31, 1997. Click here for a description of the bugs fixed by this patch .

If you are downloading a release for the first time, be sure to get the highest patch level that is available. If you already have an older patch level of Tcl 7.6 and Tk 4.2 installed, there are two ways you can upgrade to a higher patch level. The easiest way is simply to fetch the full source release for the latest patch level and use it to replace your older source release.

If you wish to conserve network bandwidth, you can fetch "patch" files that only contain differences from one patch level to another, then use the patch program to apply the patches to your existing source base. To apply a patch file, do the following:

  • Fetch the patch file.
  • If the release has already been built and/or installed, type make distclean in the unix subdirectory of the distribution you plan to patch.
  • Change to the top-level source directory for the appropriate release.
  • Apply the patch. If the patch file is named tk4.2p2.patch.gz, type the following command to your shell:
    gunzip -c tk4.2p2.patch.gz | patch -p
    If you don't have the patch or gunzip programs installed on your machine, you can fetch free versions from any of a number of public FTP sites around the Internet, such as .
  • Follow the instructions in the README file to rebuild the distribution.

Patches must be applied in order for a given release. For example, you must apply Tk 4.2p2 and Tk 4.2p3 before applying Tk 4.2p4 (but note that there are no "p1" patches for Tcl 7.6 or Tk 4.2). In addition, patches should be applied in clean distribution directories: if you have modified some of the files locally then the patches may not apply correctly. The patch program will generate error messages and leave .rej files around if there are problems applying a patch.

Known Bugs

None at this time.


These releases have only a few incompatibilities with the previous releases. Virtually all existing Tcl scripts for Tcl 7.5 and Tk 4.1 should run under the new releases without changes. Here is a list of the incompatibilities:

  • The command grid forget no longer works as in Tk 4.1 (use grid remove instead).
  • The gridder no longer accepts floating-point values for row or column weights: use integers instead.
  • The C interfaces to channel drivers have been revised to eliminate the use of Tcl_File handles in the interfaces. Instead, there are new interface procedures channelReadyProc, watchChannelProc, and getFileProc. This change does not affect Tcl scripts; it will only affect you if you have written a custom channel driver.
  • Under Windows, tclsh now looks for the start-up file tclshrc.tcl instead of tclsh.rc. This is more consistent with wish and uses the right extension.