Tk 4.1a2 Release Announcement October 9, 1995 John Ousterhout Sun Microsystems, Inc. john.ousterhout@eng.sun.com This message is to announce new releases of the Tcl scripting language and the Tk toolkit. The new releases are Tcl 7.5a2 and Tk 4.1a2. These releases consist primarily of bug fixes, especially for the Mac and PC ports. The only new features are: - new "--" option for Wish. - new "tcl_plaform" variable with information about the hardware, OS, etc. - new -sliderrelief option for scales. - support in the PC sources for building with Visual C++. - support on the Mac for the "do script" event. See below for a complete list of changes in this release. Compared to Tcl 7.4 and Tk 4.1, Tcl 7.5 and Tk 4.0 have several major new features, including: - Support for the PC (Win32s, Windows 95, and Windows NT) and Macintosh (both 68K and PowerPC). - A new "load" command in Tcl for dynamic loading. - A new "interp" command for creating slave interpreters and for executing untrusted scripts. The "a2" in the release names indicates that these are the second "alpha" releases. "Alpha" means that they are likely to have bugs and we do not promise to maintain backward compatibility between these releases and the eventual Tcl 7.5 and Tk 4.1 releases (we may make changes in new features during alpha and beta testing). In spite of this warning, the Unix versions of Tcl and Tk have very few changes relative to Tcl 7.4 and Tk 4.0 and appear to be pretty stable. Where to get the new releases: ------------------------------ Tcl 7.5a2 and Tk 4.1a2 are currently available from two FTP servers, ftp.smli.com (in the directory /pub/tcl) and ftp.cs.berkeley.edu (in the directory /ucb/tcl). The releases should appear on the usual mirror sites within a few days. The following things are available: - tcl7.5a2.tar.gz and tk4.1a2.tar.gz contain the unified source releases for all platforms (there are also .Z versions of these files). - tcl7.5a2.patch.gz and tk4.1a2.patch.gz contain patches to upgrade from the "a1" releases. - win41a2.exe contains a binary release for the PC. This file contains compiled versions of Tcl, Tk, and wish, along with libraries, demos, and manual pages (but no sources). The file is a self-extracting executable (run it and it installs everything). - mactk4.1a2.sea.hqx contains a binary release for the Mac. The file is in binhex format, which is understood by Fetch, StuffIt, and other Mac utilities. The unpacked file is a self-installing archive: double-click on it and it will create a folder containing everything you need to run Tcl and Tk. - Macintosh sources are also available in the "mac" subdirectory of the release area. See the README file in that directory for details. For additional information: --------------------------- There is a set of Web pages on Tcl and Tk maintained by the Tcl/Tk group at Sun Laboratories. They can be accessed via the following URL: http://www.sunlabs.com/research/tcl Credits: -------- Although I'm posting this message, I had little to do with the new additions except for the "load" command. Credit for the PC port goes to Scott Stanton (scott.stanton@eng.sun.com) and credit for the Macintosh port goes to Ray Johnson (raymond.johnson@eng.sun.com). Bug reports should go to them (or, better yet, to comp.lang.tcl). The new "interp" command is the handiwork of Jacob Levy (jacob.levy@eng.sun.com). Changes in Tcl 7.5a2: --------------------- Here is a list of all the changes incorporated in Tcl 7.5a2 relative to Tcl 7.5a1. This information is taken directly from the "changes" file in the distribution. 9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that handle directories whose paths might contain spaces. (RJ) 9/27/95 (bug fix) The "format" command didn't check for huge or negative width specifiers, which could cause core dumps. (JO) 9/27/95 (bug fix) Core dumps could occur if an interactive command typed to tclsh returned a very long result for tclsh to print out. The bug is actually in printf (in Solaris 2.3 and 2.4, at least); switched to use puts instead. (JO) 9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency for tcl1675.dll on the Borland run time library. (SS) 9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead of tcl16.dll. (SS) 9/28/95 (bug fix) Tcl was not correctly detecting the difference between Win32s and Windows '95. (SS) 9/28/95 (bug fix) "exec" was not passing environment changes to child processes under Windows. (SS) 9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed to child processes under Windows. (SS) 9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can handle both console and windows apps. (SS) 9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves temp files lying around. Also changed it so the temp files are created in the appropriate system dependent temp directory. (SS) 9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal Thunk header file, since it is not bundled with VC++. (SS) 9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME environment variable from HOMEPATH and HOMEDRIVE when HOME is not already set. (SS) 9/28/95 (bug fix) Added support for "info nameofexecutable" and "info sharedlibextension" to the Windows version. (SS) 9/28/95 (bug fix) Changed tclsh to correctly parse command line arguments so that backslashes are preserved under Windows. (SS) 9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end of line in "gets", which caused lines ending in CRLF to be treated as two separate lines. Changed to allow only character as end-of-line: carriage return on Macs, newline elsewhere. (JO) 9/29/95 (new feature) Changed to install "configInfo" file in same directory as library scripts. It didn't used to get installed. (JO) 9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX errors under some circumstances. (SS) 10/2/95 (bug fix) Safe interpreters no longer get initialized with a call to Tcl_Init(). (JL) 10/1/95 (new feature) Added "tcl_platform" global variable to provide environment information such as the instruction set and operating system. (JO) 10/1/95 (bug fix) "exec" command wasn't always generating the "child process exited abnormally" message when it should have. (JO) 10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates won't create links that overwrite original manual entries (there was a problem where pack-old.n was overwriting pack.n). (JO) 10/2/95 (feature change) Changed to use -ldl for dynamic loading under Linux if it is available, but fall back to -ldld if it isn't. (JO) 10/2/95 (bug fix) File sharing was causing refcounts to reach 0 prematurely for stdin, stdout and stderr, under some circumstances. (JL) 10/2/95 (platform support) Added support for Visual C++ compiler on Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL) 10/3/95 (bug fix) Tcl now frees any libraries that it loads before it exits. (SS) 10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l and -C options would fail in anything but the HOME directory. (RJ) Changes in Tk 4.1a2: -------------------- Here is a list of all the changes incorporated in Tk 4.1a2 relative to Tk 4.1a1. This information is taken directly from the "changes" file in the distribution. 9/22/95 (renamed files) Changed the names of the bitmap images in the $tk_library/demos/images directory to use the .bmap file extension. (RJ) 9/22/95 (bug fix) Fixed bug where text widgets could occasionally display the insertion cursor both at the end of one line and the beginning of the next. (JO) 9/25/95 (bug fix) Fixed bug that could cause core dumps when an application uses multiple screens and a binding destroys the main window (bind code was using MainInfo structure after it had been freed). (JO) 9/25/95 (bug fix) Text widgets sometimes scrolled backwards on occasion if you dragged down past the bottom of the scrollbar. (JO) 9/25/95 (bug fix) Fixed bug in menus where a cascaded submenu posted from a torn-off menu could be left posted if mouse was pulled off the end of the cascade and released. (JO) 9/25/95 (new feature) Added "--" switch to wish, so that you can pass arguments like -n through to a script without having wish interpret them. (JO) 9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons and selectbuttons if -selectcolor was an empty string. (JO) 9/26/95 (bug fix) Entries didn't used to notice if a trace procedure on the -textvariable overrode a new value set by the entry. This could cause the variable to get out of sync with the contents of the entry. (JO) 9/26/95 (new feature) Added -sliderrelief option to scales, changed default bindings to change the slider's relief to sunken while it's being dragged with the mouse. (JO) 9/26/95 (bug fix) TkColor.c wasn't computing colormap size correctly; could result in X Protocol error for QueryColors when colormaps run out of colors. (JO) 9/26/95 (bug fix) Wish couldn't handle script files with spaces in their names. (JO) 9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error messages consistent: ": should be" is now ": should be". (JO) 9/27/95 (feature change) Modified tk_dialog so that it uses the option database for the -wraplength option on the message. This allows the option to be overridden by the caller. (JO) 9/28/95 (bug fix) Wish incorrectly parsed the command line under Windows, causing backslashes to be substituted. (SS) 9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS) 9/28/95 (bug fix) Tk_DoOneEvent returned 0 under some circumstances when it was possible to find more work to do. For example, if a signal interrupted select(), but no event handlers were triggered, it would return 0 even though it could still detect events by reentering select(). (SS) 9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS) 10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of Tk_IdlePending. (SS) 10/1/95 (bug fix) Turned motion event collapsing into an idle handler so it will be easier to move the event loop into Tcl. (SS) 10/1/95 (bug fix) Fixed several problems with negative coordinates in canvases. One example: dragging a canvas rectangle with a wide border and fractional coordinates could leave junk on the screen if the rectangle was in negative coordinate space. (JO) 10/2/95 (bug fix) Tk was improperly handling Enter/Leave events during a button grab. (SS) 10/2/95 (new feature) Added support for the Macintosh do script ('dosc') event. Available only on the Macintosh. (RJ) 10/4/95 (new feature) Added support for compiling with VC++. Resulting binaries work under Win32s through NT.