Выпуск языка программирования Tcl 8.6.14

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3251
Зарегистрирован: 20.08.2022

#

Выпуск языка программирования Tcl 8.6.14
Дата публикации:Thu, 29 Feb 2024 22:17:31 +0300




После 15 месяцев разработки опубликован выпуск Tcl/Tk 8.6.14, динамического языка программирования, распространяемого совместно с кроссплатформенной библиотекой базовых элементов графического интерфейса. Основное распространение Tcl получил как платформа для создания интерфейсов пользователя и как встраиваемый язык, при этом Tcl также подходит для быстрого прототипирования, web-разработки, создания сетевых приложений, администрирования систем и тестирования. Код проекта распространяется под лицензией BSD.



Среди изменений:
  • Приведена к кроссплатформенному виду нормализация файловых путей и обработка символа "~" в путях.
    Имя пути, начинающееся с '//' не замещается через '/' в том числе в Cygwin и в QNX.
    Разрешён пустой режим в [chan create] ("[chan create {} $cmd]") для разрешения refchan версии [socket -server].

    Повышена производительность fork при использовании многопоточности с помощью vfork/spawn.
    Обеспечен вызов getsockname(2) в Tcl_MakeFileChannel(3) только тогда, когда это необходимо.
    Защита Tcl/tclsh усилена с помощью функции pledge(2) в OpenBSD или похожих механизмов.
    tcltest адаптирован для поддержки Tcl 9 (>= tcltest 2.5.7).
    Обеспечено применение замещающего символа при декодировании неполных последовательностей Unicode.

    Добавлена проверка mknod, tcdrain и uname в сборочных скриптах для VxWorks или других платформ.
    32-разрядный Cygwin закончил своё существование, поэтому отпала потребность в аргументе "--enable-64bit" для Cygwin.
    Tcl_VarEval больше не считается устаревшим.
    В "[interp limit time -seconds]" решена проблема 2038 года.
    Из win/makefile.vc убрана опция utf16.
    zlib обновлён до версии 1.3.1.
    libtommath обновлён до версии 1.2.1.
    install-sh обновлён до версии 2020-11-14.01.
    Добавлена поддержка Unicode 15.1.
    База часовых поясов обновлена до выпуска tzdata2024a.
    В метаданных лицензии на бинарные файлы для Window упомянут университет Калифорнии.


    Исправлена ошибка с неправильным форматированием аргументов в man-странице.
    Исправлена ошибка с отсутствием сведений о Windows 11 в tcl_platforms.
    Исправлена ошибка с некорректным сравниванием строк на системах с порядком байтов big endian.
    Исправлена ошибка с падением при tcl_precision равным 15..18.

    Исправлены редко проявляющиеся падения при очистке потока memchan.
    Исправлена проблема с выводом ошибки в команде zip в случае, когда файловый комментарий/имя файла слишком длинные или не в кодировке iso-latin-1.
    Исправлена проблема с возвращением usec из Tcl_GetTime в Windows.
    Исправлено падение при применении трансформации канала в сокете TCP клиента.
    Предотвращено неправильное чтение в Tcl_UtfToUniChar.
    В macOS 13 SDK объявлена устаревшей функция sprintf().
    Исправлено переполнение аргумента позиции в [scan %num$mode].
    Исправлено падение при хвостовом вызове.
    Исправлены ошибки при clock scan и clock add в ошибочных случаях или с сокращёнными опциями.
    Исправлена ошибка с игнорированием неполных двойных байтовых кодировок, например в [encoding convertfrom gb12345 x].
    Устранено аварийное завершение tclvfs tkt при выходе из интерпретатора с загруженным tclvfs.
    Исправлена проблема, связанная со случаем, когда Tcl_GetUniChar осуществлял чтение символов за пределами длины строки для ASCII строк.
    Исправлена ошибка в версии для MS Windows: файлы с емодзи находятся через glob, но не определяются через file exists или open.
    Исправлена ошибка компиляции с помощью VC6 версии core-8-6-branch: "error C2065: 'int16_t' : undeclared identifier".
    Исправлены ошибки в ClockGetdatefieldsObjCmd(): переполнение знаковых целых чисел и платформно-независимое поведение.
    Исправлена ошибка с инициализацией fakeObject.refCount в tclOO.c.
    Исправлена ошибка, когда use-after-return в AddressSanitizer ломал NRE-тесты и корутины.
    Исправление ложных ошибок от [clock format].
    Исправление реаллокации [exec %var%] в MS Windows. Это было запрещено в 8.6.13.
    Bсправление документации для Tcl_PkgRequire: строка со спецификацией версии относится к "package require".
    Исправлена ошибка в [tcl_startOfPreviousWord string end-1].
    Устранено аварийное завершение, возникающее когда Tcl_ReadChars вызывается с Unicode-объектами.
    Устранено зацикливание при переопределении proc ::history.
    Устранено зацикливание в случае когда ::unknown перемещён в пространство имён.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60692

Жизнь за Нер'зула!

Ответить