• Tcl/Tk 8.6.14 RELEASED

    From Brian Griffin@bgriffinfortytwo@gmail.com to comp.lang.tcl on Thu Feb 29 12:01:40 2024
    From Newsgroup: comp.lang.tcl


    Tcl/Tk 8.6.14 Release Announcement
    February 28, 2024

    The Tcl Core Team is pleased to announce the 8.6.14 releases of the Tcl
    dynamic language and the Tk toolkit. This is the fourteenth patch release
    of Tcl/Tk 8.6. More details can be found below.

    We would like to express our gratitude to all those who submit bug
    reports and patches. This information is invaluable in enabling us
    to identify and eliminate problems in the core. Such reports can be
    submitted here.

    https://core.tcl-lang.org/tcl/ticket
    https://core.tcl-lang.org/tk/ticket

    We ask that you log in (anonymous if you wish) to create tickets.
    This deters abuse of the ticketing system:

    https://core.tcl-lang.org/tcl/login
    https://core.tcl-lang.org/tcl/login

    Where to get the new releases:
    ------------------------------

    Tcl/Tk 8.6.14 sources are freely available as open source from the Tcl SourceForge project's file distribution area:

    http://sourceforge.net/projects/tcl/files/

    This distribution is source code only. We keep links to some third
    parties offering pre-built binaries for various systems here:

    http://www.tcl-lang.org/software/tcltk/bindist.html

    For additional information:
    ---------------------------

    Please visit the Tcl Developer Xchange web site:

    http://www.tcl-lang.org/

    This site contains a variety of information about Tcl/Tk in general, the
    core Tcl and Tk distributions, Tcl development tools, and much more.

    Summary of Changes since Tcl/Tk 8.6.13:
    --------------------------------------

    This is a patch release, so it primarily includes bug fixes and corrections
    to erratic behavior. Highlighted changes are noted below. The changes file
    at the root of the source tree contains a more complete list. The Timelines
    of all changes are online.

    http://core.tcl-lang.org/tcl/timeline
    http://core.tcl-lang.org/tk/timeline

    * [TIP 402] revise path normalization for x-platform UNC path support
    *** POTENTIAL INCOMPATIBILITY ***

    * Harmonize Tk's parse of numbers (screen distance, etc) with Tcl
    *** POTENTIAL INCOMPATIBILITY ***

    * Iconlist ignores options db for fg text color; affects dialogs
    *** POTENTIAL INCOMPATIBILITY ***

    * Aqua: XPutImage() swaps red and blue channels
    *** POTENTIAL INCOMPATIBILITY ***

    * [encoding convertfrom] handling of incomplete code sequences
    *** POTENTIAL INCOMPATIBILITY ***

    * Harmonize handling of ~ in paths across platforms.
    *** POTENTIAL INCOMPATIBILITY ***

    * Fix menu clone binding misbehavior, menu-20.1[2-6].
    *** POTENTIAL INCOMPATIBILITY ***

    * Improved performance of [exec] and [open |$cmd] on unix-lke
    systems, especially with large memory footprints.

    * Improve performance of large treeview destruction.

    * Improve performance of large image insertions into text.

    * Improve widget creation performance due to poor font caching.

    * Fix notebook tab appearances when placed on edge other than top.

    * Enable treeview display of partial final line.

    * Win: restore [exec %var%] that was dropped in 8.6.13.

    * Allow [chan create {} $cmd]. Enables simulation of server channels.

    * Allow return from [tk scaling] in safe interps.

    * Prevent navigation by word exposing clues to masked entry contents.

    * Fix crashes or hangs in...
    - [chan pop] with pending input
    - thread finalization of reflected channels
    - [label .l -bitmap floppy]
    - [set tcl_precision 15; expr 6.4623485355705287e-27]
    - [tk busy forget] and [tk busy hold]
    - channel read into "string" Tcl_Obj can BO, and perform poorly
    - KVO crash after destroying Aqua's first root toplevel
    - Test treeview-6ee162c3f9
    - Test tailcall-bug-784befb0ba
    - Tests menu-40.[12]

    * Repair memory leaks and errors
    - Eliminate undefined realloc() calls
    - Silence many warnings from -fsanitize=function
    - Flawed interfacing with XIM
    - Tcl_UtfToExternal writing to one-byte buffer
    - Tcl_UtfToUniChar() handling of 0xC1.
    - Tk_ConfigureValue could call wrong free() routine.
    - tests getuncichar-1.* in utf.test
    - ...and many more

    * No more support for 32-bit Cygwin

    * ::tcl_platform(osVersion) updated to report Windows 11

    * Accommodate macOS deprecation of sprintf()

    * Silence macOS 14 warnings about secure restorable state.

    * Code changes to support ASan use-after-return detection

    * Revise Tcl_MakeFileChannel() to better partner with pledge()

    * Prevent false [clock format] error reports on FreeBSD

    * Region clip & copy make better use of OS facilities.

    * Update handling of Apple FourCC creator codes.

    * Text selection omits first character, text-38.1

    * Windows: improved support of non-BMP pathnames

    * Fixed some Y2038 limitations

    * Fix photo color drawing on X11 32-bit visuals.

    * Fix <<MenuSelect>> regression on menus with -tearoff

    * Correct rounding of [nsFont pointSize].

    * zlib comment/filename error handling (zlib-8.19, zlib-8.2[012])

    * Prevent theme change attempts after Tk finalize.

    * Make dialogs robust against parent destruction.

    * Make [tk_chooseColor] robust against failed grab.

    * Fix menu parsing of @x,y indices. menu-22.[6-9]

    * Fix inconsistent results from [font measure].

    * Fixed [clock scan|add] handling of abbreviated options

    * Avoid endless loops replacing [unknown] or [history].

    * Fix polluted error messages from [send -option].

    * PNG photo image decoder missed a 0xFF entry.

    * Fix failing winTime-2.1 on Windows

    * test string-2.20.1 failed on big endian platforms

    * Updated bundled packages, libraries, standards, data
    - Itcl 4.2.4
    - sqlite3 3.44.2
    - Thread 2.8.9
    - TDBC* 1.1.7
    - tcltest 2.5.7
    - libtommath 1.2.1
    - zlib 1.3.1
    - Unicode 15.1
    - tzdata 2024a

    --
    Tcl Core Team and Maintainers
    Don Porter, Tcl Core Release Manager

    _______________________________________________
    Tcl-Core mailing list
    Tcl-Core@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tcl-core
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Sun Mar 3 14:30:07 2024
    From Newsgroup: comp.lang.tcl

    Brian Griffin <bgriffinfortytwo@gmail.com> wrote:
    The Tcl Core Team is pleased to announce the 8.6.14 releases of the Tcl dynamic language and the Tk toolkit. This is the fourteenth patch release
    of Tcl/Tk 8.6. More details can be found below.

    Thanks to all contributors!

    * Harmonize handling of ~ in paths across platforms.
    *** POTENTIAL INCOMPATIBILITY ***

    I recall some discussion about this changing in 9.0, didn't
    think that stuff was meant to change in 8.6, but may have
    missed discussions of truely change-worthy details.

    Some quick tests with a freshly compiled 8.6.14 (on linux) didn't show
    any surprises against my known previous state for "~something" as
    literal name for "cd", "open", or "file join" or "glob".

    What changes would I need to check for?

    My scripts often need to handle "~/..." and "~user/..." read from
    config files, and if anything changes within 8.6, I want to be prepared.

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Don Porter@donald.porter@nist.gov to comp.lang.tcl on Mon Mar 4 12:28:11 2024
    From Newsgroup: comp.lang.tcl


    * Harmonize handling of ~ in paths across platforms.
    *** POTENTIAL INCOMPATIBILITY ***

    I recall some discussion about this changing in 9.0, didn't
    think that stuff was meant to change in 8.6, but may have
    missed discussions of truely change-worthy details.
    What changes would I need to check for?

    Two different sets of changes.

    In Tcl 9, TIP 602 approved ending all interpretation of ~ in pathnames.
    BIG change.

    The note accompanying Tcl 8.6.14 refers to Ticket 9c5a00c69d

    https://core.tcl-lang.org/tcl/tktview/9c5a00c69d

    An earlier bug fix had the unwanted side effect of making ~ expansion
    on Windows no longer conform to the documentation. This misbehavior
    is present in releases 8.6.9 through 8.6.13.

    Tcl 8.6.14 corrects this misbehavior, but it's been around so long, an incompatibilty warning was attached in case anybody got used to it.
    --
    | Don Porter Applied and Computational Mathematics Division |
    | donald.porter@nist.gov Information Technology Laboratory |
    | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________|

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Mon Mar 4 23:41:45 2024
    From Newsgroup: comp.lang.tcl

    Thanks a lot for clarification!

    Don Porter <donald.porter@nist.gov> wrote:

    * Harmonize handling of ~ in paths across platforms.
    *** POTENTIAL INCOMPATIBILITY ***

    I recall some discussion about this changing in 9.0, didn't
    think that stuff was meant to change in 8.6, but may have
    missed discussions of truely change-worthy details.
    What changes would I need to check for?

    Two different sets of changes.

    In Tcl 9, TIP 602 approved ending all interpretation of ~ in pathnames.
    BIG change.

    The note accompanying Tcl 8.6.14 refers to Ticket 9c5a00c69d

    https://core.tcl-lang.org/tcl/tktview/9c5a00c69d

    An earlier bug fix had the unwanted side effect of making ~ expansion
    on Windows no longer conform to the documentation. This misbehavior
    is present in releases 8.6.9 through 8.6.13.

    Tcl 8.6.14 corrects this misbehavior, but it's been around so long, an incompatibilty warning was attached in case anybody got used to it.

    --- Synchronet 3.20a-Linux NewsLink 1.114