mirror of
https://github.com/tcltk/tcl.git
synced 2026-05-29 00:27:49 +08:00
2.5 KiB
2.5 KiB
The source code for Tcl is managed by fossil. Tcl developers coordinate all changes to the Tcl source code at
Release Tcl 9.1a2 arises from the check-in with tag core-9-1-a2.
Highlighted differences between Tcl 9.1 and Tcl 9.0 are summarized below, with focus on changes important to programmers using the Tcl library and writing Tcl scripts.
New commands and options
- New options -backslashes, -commands and -variables for subst command
- New command unicode for Unicode normalization
- New timer command, switch to monotonic clock and microsecond resolution
New public C API
- Tcl_IsEmpty checks if the string representation of a value would be the empty string
- Tcl_GetEncodingNameForUser returns name of encoding from user settings
- Tcl_AttemptCreateHashEntry - version of Tcl_CreateHashEntry that returns NULL instead of panic'ing on memory allocation errors
- Tcl_ListObjRange, Tcl_ListObjRepeat, Tcl_TclListObjReverse - C API for new list operations
- Tcl_UtfToNormalized, Tcl_UtfToNormalizedDString - C API for Unicode normalization
- Tcl_UtfToExternalEx and Tcl_ExternalToUtfEx - C encoding API supporting output buffers larger than INT_MAX
- New API for monotonic clock and microseconds resolution
Changes in interpreter initialization
- Custom applications must call Tcl_FindExecutable or TclZipfs_AppHook to initialize Tcl Potential incompatibility
- Search path for locating Tcl core script and encodings is changed Potential incompatibility
Performance
- Memory efficient internal representations for list operations on large lists.
- Continued 64-bit capacity: Command line arguments larger than 2Gb
- Speedup in interpreter creation