Nach 15 Monaten Entwicklung wurde die Version Tcl/Tk 8.6.14 veröffentlicht, eine dynamische Programmiersprache, die zusammen mit einer plattformĂŒbergreifenden Bibliothek fĂŒr grundlegende grafische BenutzeroberflĂ€chen vertrieben wird. Tcl hat sich hauptsĂ€chlich als Plattform zur Erstellung von BenutzeroberflĂ€chen und als eingebettete Sprache etabliert und eignet sich auch fĂŒr schnelle Prototypenerstellung, Webentwicklung, Netzwerkprogrammierung, Systemadministration und Tests. Der Code des Projekts wird unter der BSD-Lizenz veröffentlicht.
Zu den Ănderungen gehören:
- Die Normalisierung von Dateipfaden wurde plattformĂŒbergreifend angepasst und die Verarbeitung des Zeichens â~â in Pfaden erfolgt jetzt korrekt.
- Ein Pfadname, der mit '//' beginnt, wird nicht durch '/' ersetzt, sowohl in Cygwin als auch in QNX.
- Ein leerer Modus ist in [chan create] (â[chan create {} $cmd]â) fĂŒr die Erlaubnis des refchan in der Version [socket -server] möglich.
- Die Leistung von fork wurde durch die Verwendung von vfork/spawn bei Mehrkernverarbeitung verbessert.
- Der Aufruf von getsockname(2) in Tcl_MakeFileChannel(3) erfolgt nur, wenn es notwendig ist.
- Die Sicherheit von Tcl/tclsh wurde durch die Funktion pledge(2) in OpenBSD oder Àhnliche Mechanismen verstÀrkt.
- tcltest wurde an die UnterstĂŒtzung von Tcl 9 (>= tcltest 2.5.7) angepasst.
- Die Verwendung eines Platzhalters beim Dekodieren unvollstÀndiger Unicode-Sequenzen ist sichergestellt.
- Eine ĂberprĂŒfung von mknod, tcdrain und uname in den Build-Skripten fĂŒr VxWorks oder andere Plattformen wurde hinzugefĂŒgt.
- Die 32-Bit-Version von Cygwin hat ihr Ende erreicht, daher entfĂ€llt die Notwendigkeit fĂŒr das Argument ââenable-64bitâ fĂŒr Cygwin.
- Tcl_VarEval wird nicht mehr als veraltet betrachtet.
- In â[interp limit time -seconds]â wurde das Problem des Jahres 2038 behoben.
- Die Option utf16 wurde aus win/makefile.vc entfernt.
- zlib wurde auf Version 1.3.1 aktualisiert.
- libtommath wurde auf Version 1.2.1 aktualisiert.
- install-sh wurde auf die Version 2020-11-14.01 aktualisiert.
- UnterstĂŒtzung fĂŒr Unicode 15.1 wurde hinzugefĂŒgt.
- Die Zeitzonendatenbank wurde auf die Veröffentlichung tzdata2024a aktualisiert.
- In den Metadaten der Lizenz fĂŒr die Windows-BinĂ€rdateien wird die University of California erwĂ€hnt.
- Ein Fehler mit der falschen Formatierung von Argumenten in der man-Seite wurde behoben.
- Ein Fehler mit fehlenden Informationen zu Windows 11 in tcl_platforms wurde behoben.
- Ein Fehler mit falschem String-Vergleich auf Systemen mit big-endian Byte-Reihenfolge wurde behoben.
- Ein Fehler mit einem Absturz bei tcl_precision von 15..18 wurde behoben.
- Selten auftretende AbstĂŒrze beim Bereinigen des memchan-Streams wurden behoben.
- Das Problem mit der Fehlermeldung im zip-Befehl wurde behoben, wenn der Dateikommentar / der Dateiname zu lang ist oder nicht in der iso-latin-1-Codierung vorliegt.
- Das Problem mit der RĂŒckgabe von usec aus Tcl_GetTime unter Windows wurde behoben.
- Ein Absturz beim Anwenden der Kanaltransformation im TCP-Client-Socket wurde behoben.
- Das falsche Lesen in Tcl_UtfToUniChar wurde verhindert.
- In macOS 13 SDK wurde die Funktion sprintf() als veraltet deklariert.
- Ein Ăberlauf des Positionsarguments in [scan %num$mode] wurde behoben.
- Ein Absturz bei einem Tail-Call wurde behoben.
- Fehler bei clock scan und clock add in fehlerhaften FĂ€llen oder mit verkĂŒrzten Optionen wurden behoben.
- Ein Fehler mit der Ignorierung unvollstÀndiger doppelter Byte-Codierungen, z.B. in [encoding convertfrom gb12345 x], wurde behoben.
- Ein Absturz von tclvfs tkt beim Verlassen des Interpreters mit geladenem tclvfs wurde behoben.
- Ein Problem wurde behoben, bei dem Tcl_GetUniChar Zeichen auĂerhalb der LĂ€nge der ASCII-Zeichenkette gelesen hat.
- Ein Fehler in der Windows-Version wurde behoben: Dateien mit Emojis sind ĂŒber glob vorhanden, werden jedoch nicht ĂŒber file exists oder open erkannt.
- Ein Kompilierungsfehler mit VC6 fĂŒr die core-8-6-branch-Version wurde behoben: âerror C2065: âint16_tâ: undeclared identifierâ.
- Fehler in ClockGetdatefieldsObjCmd() behoben: Ăberlauf von vorzeichenbehafteten Ganzzahlen und plattformunabhĂ€ngiges Verhalten.
- Fehler bei der Initialisierung von fakeObject.refCount in tclOO.c behoben.
- Fehler behoben, bei dem use-after-return in AddressSanitizer NRE-Tests und Koroutinen beeintrÀchtigte.
- Falsche Fehler von [clock format] behoben.
- Fehler bei der Reallokation von [exec %var%] unter MS Windows behoben. Dies war in 8.6.13 nicht erlaubt.
- Dokumentationskorrektur fĂŒr Tcl_PkgRequire: die Versionsangabe bezieht sich auf âpackage requireâ.
- Fehler in [tcl_startOfPreviousWord string end-1] behoben.
- Absturz behoben, der auftritt, wenn Tcl_ReadChars mit Unicode-Objekten aufgerufen wird.
- Endlosschleife beim Ăberschreiben von proc ::history beseitigt.
- Endlosschleife behoben, wenn ::unknown in den Namensraum verschoben wird.
Quelle: opennet.ru
