
2026/09/30 2:13
Tcl/Tk 9.1
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Tcl/Tk 9.1.0 は現在開発ビルドであり、2026 年 9 月の安定版リリースに向けて準備が進められています。これはバージョン 9.0 に比べて大きな進化を遂げています。このアップデートは、グローバルな言語への対応をより良くするために新しい
unicode コマンドおよび基盤にある Tcl_UtfToNormalized* ルーティンを介した高度な Unicode 処理、ならびに新しい lfilter コマンドによる効率的なリスト操作といった大幅な向上を導入しています。また、「timer」を通じた単調増加クロックへのアクセスや「interp set」による子インタプリタの変数へのアクセス、拡張された subst および switch オプションを提供します。バックエンドでは、エンジンが「expr」を通じて C99 の数学仕様を公開し、初期化規則が厳格化されており、アプリケーションは Tcl_FindExecutable または TclZipfs_AppHook を使用する必要があります。さらに、時間 API は Tcl_Time から long long に変更され、新しい C ルーティンには「Tcl_IsEmpty」と「Tcl_GetEncodingNameForUser」が含まれます。
このリリースは、macOS における大文字・小文字を区別しないファイルパスや Windows 向けの更新された検索ロジックといったプラットフォーム固有のニーズに対応しています。Tk の向上事項には、ネイティブの画面リーダーサポート、初期段階での右から左(RTL)言語への対応、新しい
ttk::toggleswitch ウィジェット、ラベル上の回転文字、対話ボックスが物理スクリーン幅に制限される機能が含まれ、一方で Windows XP のスタイリングは廃止されています。したがって、アプリケーション開発者は初期化ルーティンの調整、時間 API の呼び出しの移行、ならびに完全な互換性のためにこれらの強力な新しいインターフェースを採用する必要があることになります。本文
Tcl/Tk 9.1.0 リリース情報(2026 年 9 月 29 日)
Tcl/Tk 9.1.0 は、2026 年 9 月の安定版リリースを目指して開発が進む最新版です。 このバージョンでは、 Tcl/Tk 9.0 の基盤の上に新しい機能やインターフェースが追加されています。
🚀 Tcl 9.1 の主要機能
新規コマンドと API
: Unicode ノーマライゼーションに対応した新しいコマンド。unicode
: Unicode ノーマライゼーションのための新しい C ルーチン群。Tcl_UtfToNormalized*
: マイクロ秒単位での精度を持つ単調クロックを提供する新コマンド。timer
: リストから特定の項目をフィルタリングして選択する新コマンド。lfilter
: 親インタプリタから子インタプリタ内の変数にアクセス可能になった。interp set- C ライブラリ追加:
:文字列が空かどうかのチェック。Tcl_IsEmpty
:ユーザー向けのエンコーディング名取得。Tcl_GetEncodingNameForUser
:ハッシュエントリの作成を試みる。Tcl_AttemptCreateHashEntry
,Tcl_ListObjRange
,Tcl_ListObjRepeat
:リスト操作に関する新機能群。Tcl_ListObjReverse
オプションの拡張と改良
- 新規サブスクリプションオプション:
,-backslashes
,-commands
が追加された。-variables - スイッチオプション:
のサポートが加わった。-integer - 数学関数: 多数の C99 数学関数が
コマンドとして利用可能になった。expr
インターフェースと動作の変更
- 必須初期化ルーチン: アプリケーションは、以下のいずれかを呼ぶことが必須となった。
Tcl_FindExecutableTclZipfs_AppHook
- 検索ロジックの再設計:
- Windows における
およびauto_execok
の動作。exec - スクリプトライブラリおよびエンコーディングに関する検索処理。
- Windows における
- 時刻 API: 従来の
に代わり、Tcl_Time
タイプを使用した新しい時刻 API が採用された。long long
パフォーマンスと互換性
- メモリエフィシェンシー: 大容量リスト向けの内部構造を改良し、メモリ使用効率を向上させた。
- アーキテクチャ対応: 64 ビットシステムへのサポートが拡大した。
- OS 固有の対応:
- macOS: 大文字小文字不区別のファイルシステムパスに対応。
- Windows XP: サポートが正式に終了(非推奨として撤廃)。
🎨 Tk 9.1 の主要機能
アクセシビリティと国際化
- スクリーンリーダー: アクセシビリティへの対応強化。
- バイディレクショナルテキスト: 右から左方向(RTL)の言語表示に対応。
新規ウィジェットとコマンド
: 新しいスライドスイッチ風のウィジェットを追加。ttk::toggleswitch
: 属性表を表示・操作するための新コマンド。tk attribtable
UI とウィジェットの改良
- パフォーマンス向上: Aqua パッケージ上の
コマンドが改修され、動作が高速化された。send - 状態管理拡張:
ttk::treeviewttk::notebook
- キャンバス表示:
の機能改良。Tk_CanvasTextInfo- ラベル内の回転表示テキストに対応。
ダイアログとリストボックス
- ダイアログ制限: メッセージボックスおよびダイアログの幅を物理的なスクリーンサイズに制限。
- リストボックス: 選択色の改善、負のスクリーン距離値の処理対応。