Release Notes


8.4.1a, 30-Jan-2003

TASH version 8.4.1a supports Tcl/Tk version 8.4.1 and was compiled with GNAT 3.15p. See the Tcl Developer Xchange site for information on new features in Tcl/Tk 8.4.

Fixed compilation problem with direct references to Obj. Example:

tash-arrays.adb:701:24: error: no selector "Obj" for type "Tash_List" defined at

8.3.1b, 01-Oct-2000

TASH version 8.3.1b supports Tcl/Tk version 8.3.1 and was compiled with GNAT 3.12p. See the Tcl Developer Xchange site for information on new features in Tcl/Tk 8.3.

First full release of the TASH thick binding to Tcl. For more information on this new binding, see Introduction to TASH. If you have been using the preliminary thick binding, note that TASH object types string, integer and float were removed in favor of using Ada string, generic integer and float types.

TASH is now available with pre-compiled Windows binary libraries (libtcl82.a and libtk82.a).

Removed the lib directory which was used as a GNAT Ada library in order to simplify the build procedures. You can still build a GNAT library yourself by copying the .ali, .ads, and .o files to a separate directory.

Removed extra import of Tcl_SetResult in

8.2.0a, 15-Nov-1999

TASH version 8.2.0a supports Tcl/Tk version 8.2. See the Tcl Developer Xchange site for information on new features in Tcl/Tk 8.2.

The big news in this release is that the preliminary version of the new thick binding to Tcl is available. There are thick bindings for Tcl integers, floats, strings, lists, and regular expressions. Access to the Tcl interpreter is now task-safe through use of a protected type. Also, all TASH objects (integers, floats, strings, and lists) are controlled types so memory is properly freed when you leave scope or there are no more references to an object.

TASH now builds a TASH library. This library is made up of a Unix-style archive file and all the .ali and .ads files necessary to build TASH applications. Note this applies only to GNAT compilations.

Upon initial setup of TASH, you may now choose whether to use the popular "pragma Linker_Options" method for specifying linker options. Or, you may choose to have the linker options on the command lines. The setup script customizes the makefiles for the method you've chosen. Even if you don't use the makefiles for building TASH, you can still take advantage of the creation of the TASH linker options package.

For those who might still be using older versions of Tcl/Tk (for example, at my place of employment, we're still stuck at 7.6/4.2!), older versions of TASH are now available online.

8.0.2, 02-Jun-1998

Minor fixes to the TASH web site pages. No code changes.

8.0.1, 22-May-1998

Upgraded Windows 95 version to Tcl/Tk 8.0.

Improved test and demo directory makefiles to remove Unix dependencies on commands deroff and diff. This was done by writing the Ada programs, wordify and compare. Now, Win95 users can use these programs to verify that the test and demo programs are working properly.

Added a thin binding to Tk in package Tcl.Tk. This implements an almost complete binding to tk.h. I say "almost" because references to X data types and all subprograms which use them have not been implemented.

The thick binding to Tk has now been moved to package Tcl.Tk.Ada to accomodate the thin binding in package Tcl.Tk. Unfortunately, this will force you to change a few references to Tcl.Tk to reference Tcl.Tk.Ada instead.

Bug Fix: Corrected procedure Free in cargv.adb. It was going into a recursive loop calling itself from which it could never return.

Bug Fix: Corrected function "&" in cargv.adb. It was not correctly constructing the concatenated array of strings.

8.0.0, 16-Sep-1997

Upgraded to Tcl/Tk 8.0

Unfortunately, this release does not yet support Windows 95. You must use version 7.6.1 for Windows 95.

Removed Tcl_Alloc, Tcl_Free, and Tcl_Realloc in the entire binding: we don't want Tcl going about allocating and freeing memory beyond Ada's control

Bug Fix: Corrected function "=" renames in cargv.adb

Bug Fix: Changed several references to Widget(Buttn) in tcl-tk.adb to Widget'Class(Buttn)

Bug Fix: Referenced deallocated memory in twash

Changed the way Ada strings are converted to C strings in tcl-ada.adb to reduce memory leaks

7.6.1, 16-Sep-1997

First version to support Windows 95.

Even so, there are still problems: twash.exe is not interactive and both tash.exe and twash.exe crash when they are terminated.

7.6.0, 25-Nov-1996

This version of TASH is compatible with Tcl 7.6 and Tk 4.2.

Changed version numbering system to include the Tcl version with which TASH is compatible.

Converted to two layer binding in which "thin" binding is in the package Tcl and the "thick" binding is in the package "Tcl.Ada." This makes it easier to keep up with the latest version of Tcl because the Tcl package is now a direct translation from tcl.h. It also makes disambiguation of overloaded calls easier since they are now in different packages.

Now using an automatic tcl.h header file to Ada translator. This is not a general purpose C to Ada translator. This will also make it easier to keep up with the latest version of Tcl.

1.1b1, 23-Apr-1996

Added very limited capability to support Tk by providing an import of Tk_Main. Had to use Tk_Eval to execute Tk commands.


First public release of TASH