Back
Tcl/Tk 9.1 Released With Unicode Normalization, New Commands and Initial RTL Support
SiTech AI Team2 წთ. საკითხავი

Tcl/Tk 9.1 Released With Unicode Normalization, New Commands and Initial RTL Support

The Tcl/Tk project published Tcl/Tk 9.1.0 on September 29, adding new commands to the scripting language and screen reader support, a toggle switch widget and initial right-to-left text handling to the Tk toolkit.

The Tcl/Tk project published Tcl/Tk 9.1.0 on September 29, 2026. According to the project's release page, the version adds new features and interfaces on top of the Tcl/Tk 9.0 foundation. Tcl is a scripting language; Tk is the graphical user interface toolkit that ships with it.

The page lists the changes for Tcl 9.1 and Tk 9.1 separately.

Tcl 9.1: new commands

Four commands were added to the language. unicode performs Unicode normalization, timer provides a monotonic clock with microsecond resolution, lfilter selects items from a list, and interp set gives access to variables in a child interpreter.

subst gains three new options, -backslashes, -commands and -variables, while switch gains -integer. Many C99 math routines are now available as expr functions. The project also improved list internals for the memory efficiency of large lists and extended support for 64-bit sizes.

Tk 9.1: interface changes

On the Tk side the most notable addition is accessibility screen reader support. Initial support for bidirectional text, meaning right-to-left languages, was added as well.

The release introduces the ttk::toggleswitch widget and the tk attribtable command. ttk::treeview and ttk::notebook gain extended states, and labels can now show rotated text. It also improves listbox selection colors and limits message boxes and dialogs to the physical screen width.

On macOS Aqua the send command was revised and improved, handling of negative screen distances was added, and obsolete support for Windows XP appearances was removed.

Changes at the C level

Several C routines are new: Tcl_IsEmpty, Tcl_GetEncodingNameForUser, Tcl_AttemptCreateHashEntry and Tcl_UtfToNormalized* for Unicode normalization, plus Tcl_ListObjRange, Tcl_ListObjRepeat and Tcl_ListObjReverse for list work. A new time API uses long long in place of Tcl_Time.

Compatibility rules changed too. Applications are now required to call an initialization routine, either Tcl_FindExecutable or TclZipfs_AppHook. Filesystem paths are case-insensitive on macOS; on Windows the searches used by auto_execok and exec were reworked, and the searches for the script library and encodings were revised.

Context

Release 9.1 builds on the 9.0 line, which introduced 64-bit capacity for data values larger than 2 GB, zip filesystems, and attached archives for starkit-style deployment. The 9.0 release also replaced the event engine with one built on epoll or kqueue where available, and gave Tk access to OS notifications, printing and tray facilities.

SSiTech

SiTech — AI-powered web development

We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.