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

ПослС 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