Tcl 8.0.3/Tk 8.0.3 Release Announcement September 3, 1998 We are pleased to announce the 8.0.3 releases of the Tcl scripting language and the Tk toolkit. Although these are patch releases, they contain quite a few changes, including some slight feature changes as well as bug fixes. Where to get the new releases: ------------------------------ Tcl 8.0.3 and Tk 8.0.3 are available by public FTP from ftp.scriptics.com in the directories /pub/tcl/tcl8_0 and /pub/tcl/mac. Within a few days they will also appear at numerous mirror sites around the Internet. The easiest way to retrieve these releases is via the Scriptics Web page for the 8.0 releases: http://www.scriptics.com/software/8.0.html For additional information: --------------------------- For complete information about all the Tcl/Tk resources available on the Internet, visit the Tcl Resource Center at Scriptics: http://www.scriptics.com/resource Summary of changes: ------------------- Below is a summary of the most important changes in the 8.0.3 releases. For a complete list of all changes, see the "changes" files in the Tcl and Tk source distributions. 1. Many bug fixes, including: - Many improvements to Windows socket code - Occasional loss of file events due to buffering confusion - Improper compilation of some loop expressions and non-local variables in the "foreach" command - lsort -dictionary did some comparisons improperly - Crash in Windows registry code - "info" command didn't properly handle imported procedures and incorrectly reported compiler temporary variables - several bug fixes in tk_getOpenFile under Unix - bug with "focus -force" under Windows (didn't set the foreground window) - font measurement under Windows didn't include kerning properly - improper bbox calculation in canvas widget - bgerror callbacks weren't always being generated correctly in Windows menus - Alt key bindings weren't always triggering correctly under Windows 2. Starting with this release, we no longer officially support Windows 3.1. If you need to run on Windows 3.1, you'll have to use Tcl/Tk 8.0p2 or 7.6p2. 3. Added name resolution hooks so that [incr Tcl] 3.0 can be loaded as an ordinary extension without requiring any changes to the Tcl core. This improvement and the one below were generously provided by Michael McLennan. 4. Reworked auto_mkindex to support [incr Tcl] class structures. This version will index all procedures in a source file, not just those where "proc" starts at the beginning of the line. If you want the old behavior, use the auto_mkindex_old procedure. 5. Changed the Windows registry key to be HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path in the default value instead of "Root". Added a second Windows registry key under HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath". This is a multi-string value used to initialize the tcl_pkgPath variable. This is required if extension DLLs are in architecture specific subdirectories. 6. Initialization for both Tcl and Tk was overhauled. The mechanism for finding the Tcl and Tk library directories has been improved in several ways, and there is a new procedure tcl_findLibrary to init.tcl for use by extensions, including Tk. This searches in a canonical way for an extension's library directory and initialization file. 7. Imported commands used to get lost if the target of the import was redefined. Tcl_CreateCommand and Tcl_CreateObjCommand now preserve import links if a command is redefined. 8. Made embedding work well enough on the Macintosh to get the Tcl browser plugin working. 9. Added dummy fields to several Tk structures in order to allow extensions to work across several versions of Tk without recompilation. 10. Added new keysyms to Tk for new keys on the Microsoft keyboard. 11. Added support for Macintosh Appearance Manager.