Tcl 7.4b1 Release Announement December 23, 1994 John Ousterhout Sun Microsystems, Inc. john.ousterhout@eng.sun.com I have just released Tcl version 7.4b1, the first beta release of Tcl version 7.4. It is available now via FTP from ftp.cs.berkeley.edu (/ucb/tcl/tcl7.4b1.tar.Z) and it should reach the standard Tcl/Tk mirror sites soon. This is a minor release with just a few small changes needed by Tk4.0b1. Most of the changes consist of bug fixes, and there is only one small (?) incompatibility with Tcl 7.3, which 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 the tclAppInit.c file in the distribution for an example. Here is a summary of the new features: 1. Added new "subst" command for making $ and [] substitutions on an strings. 2. The "array" command has several new features: - "get" and "set" commands for conversion between arrays and strings. - "exists" command for checking for array element existence. - "names" and "size" commands now treat a non-existent array the same as an empty one. - "names" takes an optional pattern argument. 3. "lindex", "linsert", "lrange", and "lreplace" all accept "end" as an index. 4. Expressions support unary "+". 5. The "string" command has new "wordstart" and "wordend" options. 6. Tcl now exports the procedures Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange for C-level access to pattern matching. 7. When an error occurs while creating a pipeline with "open", it is returned immediately as the result of the "open" rather than being delayed until the "close" command. 8. "regsub" now returns a count of the number of matches and replacements, rather than 0/1.