URL: https://linuxfr.org/news/sortie-de-tcl-tk-9-0 Title: Sortie de Tcl/Tk 9.0 Authors: canvas Julien Jorge Date: 2024-10-01T11:19:05+02:00 License: CC By-SA Tags: langage, tcl et programmation Score: 6 Le Tcl Core Team (TCT) est heureux d'annoncer la sortie de la version **9.0** du langage de script Tcl et de la bibliothèque d'interface graphique Tk. C'est la première version stable de la branche Tcl/Tk 9.0 dont le développement a commencé en janvier 2013. Il y a quelques potentielles incompatibilités avec les précédentes versions même si la plupart des programmes fonctionneront sans retouches. ---- [L'annonce pour Tcl sur comp.lang.tcl](https://news.novabbs.org/devel/article-flat.php?id=14518&group=comp.lang.tcl#14518) [L'annonce pour Tk sur comp.lang.tcl](https://news.novabbs.org/devel/article-flat.php?id=14519&group=comp.lang.tcl#14519) [Le site officiel](https://www.tcl.tk/software/tcltk/9.0.html) [Un outil d'aide à la migration vers Tcl 9](https://github.com/apnadkarni/tcl9-migrate) [La précédente dépêche de Tcl/Tk 8.6 sur Linuxfr](https://linuxfr.org/news/sortie-de-tcl-tk-8-6) ---- **Les principales nouveautés et améliorations de Tcl 9.0** - Données en 64-bit : support des structures de données supérieures à 2 Go (variable, chaîne de caractères, tableau, liste et dictionnaire). - Support étendu d'Unicode : avec tous les emojis qui vont bien. - Système de fichier virtuel dans le langage : basé sur le format zip et permettant la lecture/écriture ou le montage/démontage. - Déclaration de constantes : `const` - De nouvelles commandes de listes : `lpop`, `lremove`, `ledit` et `lseq` - De nouvelles options pour les tableaux : `array default` et `array for` - De nouvelles commandes de coroutines : `coroinject` et `coroprobe` pour interagir avec une coroutine en pause. - Substitution avec script : possibilités d'attacher un script à la commande `regsub` - Notation décimale explicite : un entier pourra optionnellement être précédé du préfixe `0d` pour indiquer sans ambiguïté qu'il est en notation décimale. - Notation de nombre : possibilité de noter un nombre entier avec des tirets bas (underscore) pour plus de clarté (`1_000_001`). - Changement de l'interface de notification d'événements : remplacement de `select` par `epoll/kqueue`. - Le tilde (~) n'est plus interprété comme le répertoire `home`. - L'encodage par défaut d'un script devient l'UTF-8. **Les principales nouveautés et améliorations de Tk 9.0** - Onglets de tous les côtés : haut/bas/droite/gauche et navigation avec la molette de la souris. - Accès au système de notification, à la barre des tâches et au gestionnaire d'impression : `tk sysnotify`, `tk systray`, `tk print`. - Texte dans une barre de progression : `ttk::progressbar ... -text` - Badge temporaire sur une icône : `wm iconbadge` - Image de fond dans un frame : `frame ... -backgroundimage ... -tile ...` - Support partiel du format SVG : `image create photo ... -file test.svg` - Accès aux métadonnées et au cannal alpha des images : `image read/write/put/cget ... -metadata` et` image get/put ... -to ...` - Rotation des objets graphiques d'un canvas : `canvas rotate ... x y angle` - Support du défilement à deux doigts. **Pour le reste des nouveautés** - Un pythoniste (Marc Culler) fait partie du TCT pour faciliter le développement de TkInter. - Il n'y aura pas de version 8.7 officielle. - Tcl 9 bénéficie d'un nouveau logo dessiné par une graphiste (Valerie Carroll). ![Titre de l'image](https://wiki.tcl-lang.org/repo/wiki_images/Tcl9.svg)