Tcl/Tk and TclX

Tcl 7.6 and Tk 4.2 has been installed on exp tree for all platforms (Digital UNIX, IRIX, AIX, ULTRIX, SunOS, Solaris and HP-UX)
The new binaries are:
/exp/rcf/share/bin/tclsh7.6
/exp/rcf/share/bin/tk4.2
/exp/rcf/share/lib/libtcl7.6.a
/exp/rcf/share/lib/libtk4.2.a

The new include files are:
/exp/rcf/share/include/tcl7.6.h
/exp/rcf/share/include/tk4.2.h

The new script libraries are under:
/exp/rcf/common/lib/tcl7.6
/exp/rcf/common/lib/tk4.2
(also symbolic links under /exp/rcf/share/lib to the above directories)
This will not affact any user with the current usage and compatibility with the existing script. If you want to use the new version, you need to change the header of the script from "wish" or "wish4.0" to "wish4.2".

NOTES: Please be aware of the compatibility issues between versions. Refer to man page and/or web page (http://www.smli.com/research/tcl) for more information.

Here are the most significant changes in Tcl 7.6. In addition to these changes, there are numerous small bug fixes. See the file "changes" for a complete list of all changes.

Tcl 7.6 contains two incompatible changes: Here are the new features in Tk 4.2. The release also includes several bug fixes. See the "changes" file for a complete list of all changes.
    1. The grid geometry manager has been completely rewritten:
        - The layout algorithm produces much better layouts than before,
          particularly where rows or columns were stretchable.
        - There is a new -pad option for rows and columns.
        - The command "grid forget" has been renamed "grid remove",
          and "grid forget" now has semantics like "pack forget".
        - The "grid" command no longer accepts floating-point values
          for row or column weights: integers must be used.

    2. There are new commands for creating common dialog boxes:
    tk_chooseColor, tk_getOpenFile, tk_getSaveFile and tk_messageBox.
    These use native dialog boxes if they are available.  Examples of
    the dialogs are available in the widget demo.

    3. There is a new virtual event mechanism for handling events in a
    more portable way.  See the new command "event".  It also allows
    events (both physical and virtual) to be generated dynamically.
    The Macintosh now generates << Cut >>, << Copy >>, 
    << Paste >>, and << Clear >> events from the edit menu.
The only incompatible changes in this release are the last two for the gridder ("grid forget" and integer row/column weights). Most scripts that ran under Tk 4.1 should also work under Tk 4.2 with no changes.

tcl-7.3/tk 3.6

1. /exp/rcf/share/include:
        tcl-7.3.h renamed as tcl7.3.h
        tk-3.6.h  renames as tk3.6.h

2. /exp/rcf/share/lib:
        libtcl.a  renamed as libtcl7.3.a
        libtk.a   renamed as libtk3.6.a
        symbolic link libtcl.a -> libtcl7.4.a
        symbolic link libtk.a -> libtk4.0.a
These changes WILL NOT affact any tcl/tk scripts. However, if you are using embeded tcl/tk routines, you might want to check the name of the include files in your codes or the Makefiles.

These changes do not intefere with the new installation of tcl7.4 and tk4.0. Just make the new version as the default to be included (tcl.h and tk.h) and linked (libtcl.a and libtk.a). If you need to link with the old libraries, you have to specify the version number suffix in your include files (tcl7.3.h and tk3.6.h) and link libraries (-ltcl7.3 and -ltk3.6). The executealbe and the libraries in future release (including tcl7.4/tk4.0) will have version number as suffix by default, but the include file will still be tcl.h and tk.h. We are making these changes to ensure the consistant version between tcl.h, tk.h and libtcl.a, libtk.a.

tcl-7.4/tk 4.0

We are going to upgrade the Tcl/Tk to 7.4p3/4.0p3 on the exp tree for all platforms (AIX 3.2.5, Digital Unix 3.0, HP-UX 10.01, IRIX 5.2, Solaris 2.3, Sun 4.1.3, and Ultrix 4.2A)

NOTE: The current tcl7.4/tk4.0 installation will be replaced. The binaries for tcl7.3/tk3.6 will not be affacted (tclsh, wish, libtcl.a libtk.a). However, the include files for tcl7.3/tk3.6 will be changed to tcl-7.3.h/tk-3.6.h. tcl.h and tk.h will be correspond to tcl7.4 and tk4.0.

The installation replaces the following files/directories:

/exp/rcf/share/bin/tclsh7.4
/exp/rcf/share/bin/wish4.0
/exp/rcf/share/lib/tcl7.4.a
/exp/rcf/share/lib/tk4.0.a
/exp/rcf/share/include/tcl.h
/exp/rcf/share/include/tk.h
/exp/rcf/share/lib/tcl7.4 (directory)
/exp/rcf/share/lib/tk4.0 (directory)

We are going to install tclX7.4a-p1 on the exp tree for all platforms (AIX 3.2.5, Digital Unix 3.0, HP-UX 10.01, IRIX 5.2, Solaris 2.3, Sun 4.1.3, and Ultrix 4.2A) tomorrow (Tue, March 5).

The installation will the following files/directories:

/exp/rcf/share/bin/tcl
/exp/rcf/share/bin/wishx
/exp/rcf/share/lib/libtclx.a
/exp/rcf/share/lib/tclxlibs.mk
/exp/rcf/share/lib/libtkx.a
/exp/rcf/share/lib/tkxlibs.mk
/exp/rcf/share/include/tclExtend.h
/exp/rcf/share/include/tcl++.h
/exp/rcf/share/tclX/7.4a-p1 (directory)
/exp/rcf/share/tkX/4.0a-p1 (directory)
and man pages.
If there is a current installation of tclX, the file will be attatched a 7.3 or 3.6 suffix.

tcl -> tcl-7.3
wishx -> wishx-3.6
libtclx.a -> libtclx-7.3.a
libtkx.a -> libtkx-3.6.a
tclExtend.h -> tclExtend-7.3.h
tcl++.h -> tcl++-7.3.h

What is tclX
Extended Tcl (TclX), is a set of extensions to Tcl 7.4, the Tool Command Language. Extended Tcl is oriented towards Unix system programming tasks and large application development. Many additional interfaces to the Unix operating system are provided. Support is also included for building a Tk 4.0 wish shell (wishx) with the Extended Tcl command set.

The latest version of Tcl (7.4p1) and Tk (4.0p1) have been installed on exp tree for Ultrix 4.2, OSF 3.0, SunOS 4.1.3, Irix 5.2, and Solaris 2.3. The new version is installed with version suffix (see below), the files of the current version are unchanged.

Tcl 7.4 is a minor release. There are many bug fixes (most of them minor), but only a few new features and just one potential incompatibility. (The one incompatible change is that Tcl no longer provides a "main" procedure by default. What used to be "main" is now called "Tcl_Main", and each application needs to provide a "main" that calls "Tcl_Main". Typically this is done in the tclAppInit.c file; see /exp/rcf/common/lib/tcl7.4/tclAppInit.c for an example.)

Tk 4.0 is a major new release that contains many new features and several incompatible changes. You will probably need to modify existing scripts and C code in order for them to work with Tk 4.0.

There is also a porting document available in the Postscript file "/exp/rcf/common/lib/tk4.0/doc/tk4.0.ps" . It describes the changes and incompatibilities in Tk 4.0 and gives advice on how to modify Tk 3.6 scripts to run under Tk 4.0. The porting document will be updated as new information becomes available; the latest version will be available via the Tcl/Tk Web pages at Sun ( http://www.sunlabs.com/research/tcl )

Please check http://www.sunlabs.com:80/research/tcl/ for more information on documentation, status, release notes, etc.

What is Tcl?
Tcl stands for ``tool command language''. It is actually two things: a language and a library. First, Tcl is a simple textual language, intended primarily for issuing commands to interactive programs. Second, Tcl is a library package that can be embedded in application programs.

What is Tk?
Tk is a graphical user interface toolkit based on Tcl.