Tcl/Tk 8.1b2 Release Announcement March 15, 1999 We are pleased to announce the 8.1b2 releases of the Tcl scripting language and the Tk toolkit. Tcl/Tk 8.1 introduces several significant new features, including full internationalization support, thread-safety, and an improved regular expression package. This beta2 release is essentially feature complete, but it is still beta quality. An important improvement in this release is that several changes have been made to restore compatibility with 8.0 at the C API level so that extensions can be made to work with both Tcl8.0 and Tcl 8.1 versions. A significant portion of the code and ideas for features in this release were contributed by the Tcl user community A separate posting will acknowledge and thank those contributors. Where to get the new releases: ------------------------------ Tcl 8.1b2 and Tk 8.1b2 are available by public FTP from ftp.scriptics.com in the directories /pub/tcl/tcl8_1 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.1 releases: http://www.scriptics.com/software/8.1.html (The Macintosh releases are not yet ready, but we expect these to be built relatively soon.) 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 since Tcl/Tk 8.1b1: ------------------- Below is a summary of the most important changes in the 8.1b2 releases. For a complete list of all changes, see the "changes" files in the Tcl and Tk source distributions. 1.Integrated the stub library mechanism contributed by Paul Duffin, Jan Nijtmans, and Jean-Claude Wippler. This feature will make it possible to write extensions that support multiple versions of Tcl simultaneously. It also makes it possible to dynamically load extensions into statically linked interpreters. This patch includes the following changes: - Added a Tcl_InitStubs() interface - Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx, and Tcl_PkgPresent. More information about using the stubs interface in your extensions can be found at http://www.scriptics.com/support/howto/stubs.html 2. Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2 interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2 interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex. This should provide better compatibility with 8.0. 3. Made the eval interfaces compatible with 8.0 by renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces so they match Tcl 8.0. 4. Replaced Tcl_AlertNotifier with Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing internal data structures. 5. Added a Tcl_GetVersion API to make it easier to check the Tcl version and patch level from C. 6. On Windows, the channel drivers for consoles and serial ports now completely support file events. 7. Improved the -command option of the lsort command to better use the object system for improved performance (about 5x speed up). 8. Added tcl_platform(user) to provide a portable way to get the name of the current user. 9. Applied various patches to improve the configure process. 10. Several Tk bug fixes including (but not limited to): - Fixed bug in "grid forget" that led to crashes in rare cases. - Improved behavior of "focus -force" on Windows. - Under Windows, changed so toplevels that aren't resizable don't have resize handles and the zoom box is disabled. - Configure bug fix for TK_LD_SEARCH_FLAGS - Changed to treat zero width lines in the canvas like they have width 1 for purposes of selection - Added a workaround for a bug in GetTextExtentExPoint on Win NT 4.0/Japanese that cause a crash in some cases. 11. Changed keyboard shortcuts for menus so they will only be found in the current toplevel. Previously, they might be found in menus attached to other toplevels that might not even be mapped. 12. Tk is now thread safe. You enable this by configuring with --enable-threads. Tcl must also be compiled with --enable-threads. 13. Under Windows, wish can now inherit pipe handles on stdio so it is possible to use the wish executable in a command pipeline to capture the output of puts or read from the pipe with gets. 14. Tk now uses the new stub library feature in Tcl. The Tk library now contains no direct references to any symbols in Tcl. In addition, there is a new Tk_MainEx() function that takes an interpreter as an argument.