Tcl/Tk 9.1.0がリリース、Unicode正規化やタイマーコマンドなど新機能搭載
2026年9月29日、Tcl/Tk 9.1.0がリリースされた。Tcl/Tk 9.0をベースに、Unicode正規化コマンド、マイクロ秒精度のタイマーコマンド、リスト操作用lfilterコマンドなど、多数の新機能と新しいインターフェースが追加されている。

言語機能の拡張
Tcl/Tk 9.1.0では、Tcl側に複数の新コマンドが実装された。unicode コマンドによるUnicode正規化、monotonic clockとマイクロ秒精度を備えたtimerコマンド、リストから項目を選別するlfilterコマンド、子インタプリタの変数にアクセスするinterp setコマンドが追加された。またsubstコマンドに-backslashes、-commands、-variablesオプション、switchコマンドに-integerオプションが新たに加わった。exprで利用可能な関数にはC99の数学ルーチンの多くが追加されている。
C言語APIの強化
C言語のインターフェースも大幅に拡張された。Tcl_UtfToNormalized*ルーチンによるUnicode正規化、Tcl_IsEmpty、Tcl_GetEncodingNameForUser、Tcl_AttemptCreateHashEntry、Tcl_ListObjRange、Tcl_ListObjRepeat、Tcl_ListObjReverseなどの新しいC言語ルーチンが導入された。また、Tcl_Time構造体に代わり、long longを使用した新しいC言語タイム APIが提供されるようになった。
アプリケーションはTcl_FindExecutableまたはTclZipfs_AppHookという初期化ルーチンの呼び出しが必須となった。さらに大規模なリストのメモリ効率が向上し、64ビットサイズへの対応が拡張された。
Tk側のUI強化とプラットフォーム対応
Tk 9.1では、アクセシビリティ対応としてスクリーンリーダーのサポートが追加された。また、双方向テキスト・RTL言語への初期対応が実装されている。
新しいウィジェットとしてttk::toggleswitchが追加され、tk attribtableコマンドが実装された。既存ウィジェットでは、ttk::treeviewとttk::notebookに拡張状態が加わり、ラベル上の回転テキスト、メッセージボックスと対話ウィンドウの物理画面幅への制限、リストボックスの選択色改善などが実施された。
プラットフォーム別では、macOSでケースインセンシティブなファイルシステムパスに対応し、Aqua上でsendコマンドが改善された。Windowsではauto_execokとexecの検索が改革され、スクリプトライブラリとエンコーディング検索が見直された。また、負の画面距離の処理が追加され、Windows XP外観の廃止されたサポートが削除された。
この記事は元記事の事実のみに基づいて自動生成されました。
出典
tcl-lang.org「Tcl/Tk 9.1」https://www.tcl-lang.org/software/tcltk/9.1.html