Artifact
b544cf1e798c1c900308551a5b24140fdf1dd372e1cc62db351b3fa69c82c397 :
File
changes.md
— part of check-in
[c7bb2150c9]
at
2026-10-18 20:57:59
on branch main
— Fix [526b01]: set with several indices on an abstract list (lseq) used a freed sublist
(user:
jan.nijtmans
size: 9464)
[more...]
0000: 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 .The source code
0010: 20 66 6f 72 20 54 63 6c 20 69 73 20 6d 61 6e 61 for Tcl is mana
0020: 67 65 64 20 62 79 20 66 6f 73 73 69 6c 2e 20 20 ged by fossil.
0030: 54 63 6c 20 64 65 76 65 6c 6f 70 65 72 73 20 63 Tcl developers c
0040: 6f 6f 72 64 69 6e 61 74 65 20 61 6c 6c 0a 63 68 oordinate all.ch
0050: 61 6e 67 65 73 20 74 6f 20 74 68 65 20 54 63 6c anges to the Tcl
0060: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 74 0a source code at.
0070: 0a 3e 20 5b 54 63 6c 20 53 6f 75 72 63 65 20 43 .> [Tcl Source C
0080: 6f 64 65 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 ode](https://cor
0090: 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 e.tcl-lang.org/t
00a0: 63 6c 2f 74 69 6d 65 6c 69 6e 65 29 0a 0a 52 65 cl/timeline)..Re
00b0: 6c 65 61 73 65 20 54 63 6c 20 39 2e 31 2e 31 20 lease Tcl 9.1.1
00c0: 61 72 69 73 65 73 20 66 72 6f 6d 20 74 68 65 20 arises from the
00d0: 63 68 65 63 6b 2d 69 6e 20 77 69 74 68 20 74 61 check-in with ta
00e0: 67 20 60 63 6f 72 65 2d 39 2d 31 2d 31 60 2e 0a g `core-9-1-1`..
00f0: 0a 54 63 6c 20 70 61 74 63 68 20 72 65 6c 65 61 .Tcl patch relea
0100: 73 65 73 20 68 61 76 65 20 74 68 65 20 70 72 69 ses have the pri
0110: 6d 61 72 79 20 70 75 72 70 6f 73 65 20 6f 66 20 mary purpose of
0120: 64 65 6c 69 76 65 72 69 6e 67 20 62 75 67 20 66 delivering bug f
0130: 69 78 65 73 0a 74 6f 20 74 68 65 20 75 73 65 72 ixes.to the user
0140: 62 61 73 65 2e 0a 0a 23 20 42 75 67 20 66 69 78 base...# Bug fix
0150: 65 73 0a 20 2d 20 5b 72 65 67 65 78 70 20 73 6f es. - [regexp so
0160: 6d 65 74 69 6d 65 73 20 61 6c 6c 6f 77 73 20 61 metimes allows a
0170: 6e 20 69 6e 76 61 6c 69 64 20 62 61 63 6b 72 65 n invalid backre
0180: 66 20 74 6f 20 62 65 20 6d 61 74 63 68 65 64 5d f to be matched]
0190: 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 (https://core.tc
01a0: 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 l-lang.org/tcl/t
01b0: 6b 74 76 69 65 77 2f 37 35 63 39 64 39 29 0a 20 ktview/75c9d9).
01c0: 2d 20 5b 72 65 67 65 78 70 20 2d 61 6c 6c 20 64 - [regexp -all d
01d0: 69 64 20 6e 6f 74 20 74 72 79 20 74 6f 20 6d 61 id not try to ma
01e0: 74 63 68 20 61 74 20 74 68 65 20 65 6e 64 20 6f tch at the end o
01f0: 66 20 74 68 65 20 73 74 72 69 6e 67 5d 28 68 74 f the string](ht
0200: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l
0210: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 ang.org/tcl/tktv
0220: 69 65 77 2f 62 37 33 66 31 32 29 0a 20 2d 20 5b iew/b73f12). - [
0230: 72 65 67 65 78 70 2f 72 65 67 73 75 62 20 2d 61 regexp/regsub -a
0240: 6c 6c 20 72 65 73 74 61 72 74 65 64 20 6d 61 74 ll restarted mat
0250: 63 68 69 6e 67 20 6f 6e 20 74 68 65 20 73 75 62 ching on the sub
0260: 73 74 72 69 6e 67 20 61 66 74 65 72 20 74 68 65 string after the
0270: 20 70 72 65 76 69 6f 75 73 20 6d 61 74 63 68 5d previous match]
0280: 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 (https://core.tc
0290: 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 l-lang.org/tcl/t
02a0: 6b 74 76 69 65 77 2f 34 37 31 31 30 31 29 0a 20 ktview/471101).
02b0: 2d 20 5b 77 69 74 68 20 52 45 47 5f 42 4f 53 4f - [with REG_BOSO
02c0: 4e 4c 59 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 NLY only the fir
02d0: 73 74 20 61 6c 74 65 72 6e 61 74 69 76 65 20 77 st alternative w
02e0: 61 73 20 61 6e 63 68 6f 72 65 64 20 61 74 20 74 as anchored at t
02f0: 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 he beginning of
0300: 74 68 65 20 73 74 72 69 6e 67 5d 28 68 74 74 70 the string](http
0310: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan
0320: 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 g.org/tcl/tktvie
0330: 77 2f 31 31 37 38 35 34 29 0a 20 2d 20 5b 54 63 w/117854). - [Tc
0340: 6c 55 6e 69 78 57 61 69 74 46 6f 72 46 69 6c 65 lUnixWaitForFile
0350: 3a 20 69 6e 66 69 6e 69 74 65 20 77 61 69 74 20 : infinite wait
0360: 6d 61 79 20 72 65 74 75 72 6e 20 65 61 72 6c 79 may return early
0370: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t
0380: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/
0390: 74 6b 74 76 69 65 77 2f 34 39 35 33 38 63 29 0a tktview/49538c).
03a0: 20 2d 20 5b 6c 73 65 61 72 63 68 20 2d 72 65 67 - [lsearch -reg
03b0: 65 78 70 20 72 65 6c 65 61 73 65 64 20 74 68 65 exp released the
03c0: 20 70 61 74 74 65 72 6e 20 77 68 65 6e 20 6d 61 pattern when ma
03d0: 74 63 68 69 6e 67 20 66 61 69 6c 65 64 5d 28 68 tching failed](h
03e0: 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d ttps://core.tcl-
03f0: 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 lang.org/tcl/tkt
0400: 76 69 65 77 2f 33 35 39 35 37 36 29 0a 20 2d 20 view/359576). -
0410: 5b 72 65 73 74 6f 72 65 20 74 68 65 20 62 6c 6f [restore the blo
0420: 63 6b 69 6e 67 20 6d 6f 64 65 20 77 68 65 6e 20 cking mode when
0430: 22 73 6f 63 6b 65 74 20 2d 61 73 79 6e 63 22 20 "socket -async"
0440: 63 6f 6e 6e 65 63 74 73 20 61 74 20 6f 6e 63 65 connects at once
0450: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t
0460: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/
0470: 74 6b 74 76 69 65 77 2f 64 32 32 64 63 37 29 0a tktview/d22dc7).
0480: 20 2d 20 5b 63 6f 6d 70 69 6c 65 64 20 5b 63 6c - [compiled [cl
0490: 6f 63 6b 20 63 6c 69 63 6b 73 20 2d 6d 69 5d 20 ock clicks -mi]
04a0: 73 68 6f 75 6c 64 20 67 69 76 65 20 22 61 6d 62 should give "amb
04b0: 69 67 75 6f 75 73 20 6f 70 74 69 6f 6e 22 20 65 iguous option" e
04c0: 72 72 6f 72 5d 28 68 74 74 70 73 3a 2f 2f 63 6f rror](https://co
04d0: 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f re.tcl-lang.org/
04e0: 74 63 6c 2f 74 6b 74 76 69 65 77 2f 31 61 65 39 tcl/tktview/1ae9
04f0: 37 36 29 0a 20 2d 20 5b 77 72 69 74 69 6e 67 20 76). - [writing
0500: 61 20 66 69 6c 65 20 62 65 79 6f 6e 64 20 74 68 a file beyond th
0510: 65 20 66 69 6c 65 20 73 69 7a 65 20 6c 69 6d 69 e file size limi
0520: 74 20 28 75 6c 69 6d 69 74 20 2d 66 29 20 6b 69 t (ulimit -f) ki
0530: 6c 6c 65 64 20 74 68 65 20 70 72 6f 63 65 73 73 lled the process
0540: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t
0550: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/
0560: 74 6b 74 76 69 65 77 2f 33 38 36 35 36 33 29 0a tktview/386563).
0570: 20 2d 20 5b 49 6e 63 6f 72 72 65 63 74 20 61 72 - [Incorrect ar
0580: 67 75 6d 65 6e 74 20 68 61 6e 64 6c 69 6e 67 20 gument handling
0590: 62 79 20 5b 72 65 67 65 78 70 5d 5d 28 68 74 74 by [regexp]](htt
05a0: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
05b0: 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 ng.org/tcl/tktvi
05c0: 65 77 2f 36 39 37 62 31 62 29 0a 20 2d 20 5b 63 ew/697b1b). - [c
05d0: 6f 6d 70 69 6c 65 64 20 72 65 67 65 78 70 20 62 ompiled regexp b
05e0: 65 68 61 76 65 73 20 64 69 66 66 65 72 65 6e 74 ehaves different
05f0: 6c 79 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 ly](https://core
0600: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 .tcl-lang.org/tc
0610: 6c 2f 74 6b 74 76 69 65 77 2f 31 39 30 32 38 39 l/tktview/190289
0620: 29 0a 20 2d 20 5b 61 20 7b 31 2c 31 7d 20 71 75 ). - [a {1,1} qu
0630: 61 6e 74 69 66 69 65 72 20 77 61 73 20 61 6c 77 antifier was alw
0640: 61 79 73 20 64 72 6f 70 70 65 64 20 61 73 20 76 ays dropped as v
0650: 61 63 75 6f 75 73 5d 28 68 74 74 70 73 3a 2f 2f acuous](https://
0660: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 core.tcl-lang.or
0670: 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 35 32 g/tcl/tktview/52
0680: 34 62 33 35 29 0a 20 2d 20 5b 72 65 67 65 78 70 4b35). - [regexp
0690: 20 77 69 74 68 20 62 61 63 6b 72 65 66 65 72 65 with backrefere
06a0: 6e 63 65 73 20 63 6f 75 6c 64 20 6c 6f 6f 70 20 nces could loop
06b0: 66 6f 72 65 76 65 72 5d 28 68 74 74 70 73 3a 2f forever](https:/
06c0: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o
06d0: 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 61 rg/tcl/tktview/a
06e0: 36 30 32 39 65 29 0a 20 2d 20 5b 72 65 6d 6f 76 6029e). - [remov
06f0: 65 20 65 6d 70 74 79 20 64 69 72 65 63 74 6f 72 e empty director
0700: 69 65 73 20 66 72 6f 6d 20 74 68 65 20 7a 69 70 ies from the zip
0710: 66 73 20 56 46 53 20 77 69 74 68 20 50 4f 53 49 fs VFS with POSI
0720: 58 20 66 69 6e 64 20 6f 70 74 69 6f 6e 73 5d 28 X find options](
0730: 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c https://core.tcl
0740: 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b -lang.org/tcl/tk
0750: 74 76 69 65 77 2f 39 33 33 36 66 31 29 0a 20 2d tview/9336f1). -
0760: 20 5b 74 61 69 6c 63 61 6c 6c 20 70 61 6e 69 63 [tailcall panic
0770: 6b 65 64 20 69 6e 20 61 20 63 6f 6d 6d 61 6e 64 ked in a command
0780: 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 called directly
0790: 20 62 79 20 69 74 73 20 6f 62 6a 50 72 6f 63 5d by its objProc]
07a0: 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 (https://core.tc
07b0: 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 l-lang.org/tcl/t
07c0: 6b 74 76 69 65 77 2f 34 39 35 35 66 35 29 0a 20 ktview/4955f5).
07d0: 2d 20 5b 63 6f 6d 70 69 6c 65 64 20 5b 73 65 6c - [compiled [sel
07e0: 66 20 6e 5d 20 73 68 6f 75 6c 64 20 62 65 20 61 f n] should be a
07f0: 6d 62 69 67 75 6f 75 73 5d 28 68 74 74 70 73 3a mbiguous](https:
0800: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e //core.tcl-lang.
0810: 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f org/tcl/tktview/
0820: 38 61 62 30 36 65 29 0a 20 2d 20 5b 64 69 66 66 8ab06e). - [diff
0830: 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 62 erence between b
0840: 63 63 27 65 64 20 61 6e 64 20 65 76 61 6c 27 65 cc'ed and eval'e
0850: 64 20 72 65 67 65 78 70 5d 28 68 74 74 70 73 3a d regexp](https:
0860: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e //core.tcl-lang.
0870: 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f org/tcl/tktview/
0880: 33 30 36 39 34 35 29 0a 20 2d 20 5b 72 65 67 73 306945). - [regs
0890: 75 62 20 61 6c 77 61 79 73 20 61 73 6b 65 64 20 ub always asked
08a0: 74 68 65 20 72 65 67 65 78 70 20 65 6e 67 69 6e the regexp engin
08b0: 65 20 66 6f 72 20 31 30 20 73 75 62 6d 61 74 63 e for 10 submatc
08c0: 68 65 73 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 hes](https://cor
08d0: 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 e.tcl-lang.org/t
08e0: 63 6c 2f 74 6b 74 76 69 65 77 2f 34 34 36 35 36 cl/tktview/44656
08f0: 35 29 0a 20 2d 20 5b 72 65 67 73 75 62 20 2d 63 5). - [regsub -c
0900: 6f 6d 6d 61 6e 64 20 70 61 6e 69 63 73 20 77 69 ommand panics wi
0910: 74 68 20 6d 6f 72 65 20 74 68 61 6e 20 39 20 63 th more than 9 c
0920: 61 70 74 75 72 69 6e 67 20 67 72 6f 75 70 73 5d apturing groups]
0930: 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 (https://core.tc
0940: 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 l-lang.org/tcl/t
0950: 6b 74 76 69 65 77 2f 34 31 62 63 39 61 29 0a 20 ktview/41bc9a).
0960: 2d 20 5b 50 72 6f 62 6c 65 6d 20 77 69 74 68 20 - [Problem with
0970: 3a 3a 68 74 74 70 3a 3a 4f 70 65 6e 53 6f 63 6b ::http::OpenSock
0980: 65 74 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 et](https://core
0990: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 .tcl-lang.org/tc
09a0: 6c 2f 74 6b 74 76 69 65 77 2f 30 63 31 65 39 31 l/tktview/0c1e91
09b0: 29 0a 20 2d 20 5b 6f 6e 20 57 69 6e 64 6f 77 73 ). - [on Windows
09c0: 20 61 20 6a 6f 69 6e 61 62 6c 65 20 74 68 72 65 a joinable thre
09d0: 61 64 20 77 68 69 63 68 20 65 78 69 74 73 20 62 ad which exits b
09e0: 65 66 6f 72 65 20 69 74 20 69 73 20 6a 6f 69 6e efore it is join
09f0: 65 64 20 6c 65 61 6b 65 64 5d 28 68 74 74 70 73 ed leaked](https
0a00: 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 ://core.tcl-lang
0a10: 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 .org/tcl/tktview
0a20: 2f 33 33 38 31 33 37 29 0a 20 2d 20 5b 6f 6e 20 /338137). - [on
0a30: 55 6e 69 78 2c 20 54 63 6c 5f 4a 6f 69 6e 54 68 Unix, Tcl_JoinTh
0a40: 72 65 61 64 28 29 20 73 68 6f 75 6c 64 20 6e 6f read() should no
0a50: 74 20 63 61 6c 6c 20 70 74 68 72 65 61 64 5f 6a t call pthread_j
0a60: 6f 69 6e 28 29 20 66 6f 72 20 64 65 74 61 63 68 oin() for detach
0a70: 65 64 20 74 68 72 65 61 64 73 5d 28 68 74 74 70 ed threads](http
0a80: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan
0a90: 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 g.org/tcl/tktvie
0aa0: 77 2f 35 39 37 34 66 66 29 0a 20 2d 20 5b 7a 6c w/5974ff). - [zl
0ab0: 69 62 2d 38 2e 33 20 61 6e 64 20 7a 6c 69 62 2d ib-8.3 and zlib-
0ac0: 39 2e 33 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 9.3 connected to
0ad0: 20 6c 6f 63 61 6c 68 6f 73 74 5d 28 68 74 74 70 localhost](http
0ae0: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan
0af0: 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 g.org/tcl/tktvie
0b00: 77 2f 38 31 63 62 32 62 29 0a 20 2d 20 5b 7a 69 w/81cb2b). - [zi
0b10: 70 66 73 20 63 68 61 6e 6e 65 6c 73 20 6e 65 76 pfs channels nev
0b20: 65 72 20 67 65 6e 65 72 61 74 65 64 20 66 69 6c er generated fil
0b30: 65 20 65 76 65 6e 74 73 5d 28 68 74 74 70 73 3a e events](https:
0b40: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e //core.tcl-lang.
0b50: 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f org/tcl/tktview/
0b60: 30 36 35 34 63 65 29 0a 20 2d 20 5b 69 6e 74 65 0654ce). - [inte
0b70: 72 70 20 63 72 65 61 74 65 20 72 65 73 65 74 73 rp create resets
0b80: 20 74 68 65 20 73 79 73 74 65 6d 20 65 6e 63 6f the system enco
0b90: 64 69 6e 67 20 73 65 74 20 62 79 20 65 6e 63 6f ding set by enco
0ba0: 64 69 6e 67 20 73 79 73 74 65 6d 5d 28 68 74 74 ding system](htt
0bb0: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
0bc0: 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 ng.org/tcl/tktvi
0bd0: 65 77 2f 36 33 39 34 31 66 29 0a 20 2d 20 5b 74 ew/63941f). - [t
0be0: 72 61 63 65 62 61 63 6b 20 75 73 69 6e 67 20 63 raceback using c
0bf0: 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 77 69 74 68 lock format with
0c00: 20 6c 6f 63 61 6c 65 20 6f 66 20 68 65 5f 49 4c locale of he_IL
0c10: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t
0c20: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/
0c30: 74 6b 74 76 69 65 77 2f 33 30 31 36 31 33 29 0a tktview/301613).
0c40: 20 2d 20 5b 68 65 20 6c 6f 63 61 6c 65 3a 20 42 - [he locale: B
0c50: 43 45 20 61 6e 64 20 43 45 20 65 72 61 20 6e 61 CE and CE era na
0c60: 6d 65 73 20 61 72 65 20 73 77 61 70 70 65 64 5d mes are swapped]
0c70: 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 (https://core.tc
0c80: 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 l-lang.org/tcl/t
0c90: 6b 74 76 69 65 77 2f 35 38 62 61 65 38 29 0a 20 ktview/58bae8).
0ca0: 2d 20 5b 66 6f 72 6d 61 74 20 25 41 20 67 61 72 - [format %A gar
0cb0: 62 6c 65 73 20 6e 65 67 61 74 69 76 65 2c 20 70 bles negative, p
0cc0: 61 64 64 65 64 20 61 6e 64 20 69 6e 66 69 6e 69 added and infini
0cd0: 74 65 20 76 61 6c 75 65 73 5d 28 68 74 74 70 73 te values](https
0ce0: 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 ://core.tcl-lang
0cf0: 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 .org/tcl/tktview
0d00: 2f 32 64 66 66 39 38 29 0a 20 2d 20 5b 73 6f 63 /2dff98). - [soc
0d10: 6b 65 74 2d 32 2e 31 32 20 66 61 69 6c 65 64 20 ket-2.12 failed
0d20: 6f 6e 20 4f 70 65 6e 42 53 44 5d 28 68 74 74 70 on OpenBSD](http
0d30: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan
0d40: 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 g.org/tcl/tktvie
0d50: 77 2f 65 39 39 31 38 37 29 0a 20 2d 20 5b 64 6f w/e99187). - [do
0d60: 20 6e 6f 74 20 74 68 72 6f 77 20 66 72 6f 6d 20 not throw from
0d70: 5b 73 6f 63 6b 65 74 20 2d 61 73 79 6e 63 5d 20 [socket -async]
0d80: 77 68 65 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 when the connect
0d90: 20 66 61 69 6c 73 20 61 74 20 6f 6e 63 65 5d 28 fails at once](
0da0: 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c https://core.tcl
0db0: 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b -lang.org/tcl/tk
0dc0: 74 76 69 65 77 2f 35 39 65 37 65 37 29 0a 20 2d tview/59e7e7). -
0dd0: 20 5b 74 65 73 74 20 70 6f 72 74 61 62 69 6c 69 [test portabili
0de0: 74 79 20 66 6f 72 20 69 6c 6c 75 6d 6f 73 3a 20 ty for illumos:
0df0: 73 6b 69 70 20 73 6f 63 6b 65 74 2d 31 34 2e 31 skip socket-14.1
0e00: 39 20 77 68 65 72 65 20 53 4f 5f 52 45 55 53 45 9 where SO_REUSE
0e10: 50 4f 52 54 20 69 73 20 6e 6f 74 20 73 75 70 70 PORT is not supp
0e20: 6f 72 74 65 64 5d 28 68 74 74 70 73 3a 2f 2f 63 orted](https://c
0e30: 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 ore.tcl-lang.org
0e40: 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 64 62 66 /tcl/tktview/dbf
0e50: 39 38 38 29 0a 20 2d 20 5b 6c 73 65 74 20 77 69 988). - [lset wi
0e60: 74 68 20 73 65 76 65 72 61 6c 20 69 6e 64 69 63 th several indic
0e70: 65 73 20 6f 6e 20 61 6e 20 61 62 73 74 72 61 63 es on an abstrac
0e80: 74 20 6c 69 73 74 20 28 6c 73 65 71 29 20 75 73 t list (lseq) us
0e90: 65 64 20 61 20 66 72 65 65 64 20 73 75 62 6c 69 ed a freed subli
0ea0: 73 74 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 st](https://core
0eb0: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 .tcl-lang.org/tc
0ec0: 6c 2f 74 6b 74 76 69 65 77 2f 35 32 36 62 30 31 l/tktview/526b01
0ed0: 29 0a 0a 23 20 55 70 64 61 74 65 64 20 62 75 6e )..# Updated bun
0ee0: 64 6c 65 64 20 70 61 63 6b 61 67 65 73 2c 20 6c dled packages, l
0ef0: 69 62 72 61 72 69 65 73 2c 20 73 74 61 6e 64 61 ibraries, standa
0f00: 72 64 73 2c 20 64 61 74 61 0a 20 2d 20 68 74 74 rds, data. - htt
0f10: 70 20 32 2e 31 30 2e 33 0a 20 2d 20 6d 73 67 63 p 2.10.3. - msgc
0f20: 61 74 20 31 2e 37 2e 32 0a 20 2d 20 74 7a 63 6f at 1.7.2. - tzco
0f30: 64 65 20 32 30 32 36 65 0a 0a 23 20 55 70 64 61 de 2026e..# Upda
0f40: 74 65 64 20 62 75 6e 64 6c 65 64 20 70 61 63 6b ted bundled pack
0f50: 61 67 65 73 2c 20 6c 69 62 72 61 72 69 65 73 2c ages, libraries,
0f60: 20 73 74 61 6e 64 61 72 64 73 2c 20 64 61 74 61 standards, data
0f70: 0a 0a 52 65 6c 65 61 73 65 20 54 63 6c 20 39 2e ..Release Tcl 9.
0f80: 31 2e 30 20 61 72 69 73 65 73 20 66 72 6f 6d 20 1.0 arises from
0f90: 74 68 65 20 63 68 65 63 6b 2d 69 6e 20 77 69 74 the check-in wit
0fa0: 68 20 74 61 67 20 60 63 6f 72 65 2d 39 2d 31 2d h tag `core-9-1-
0fb0: 30 60 2e 0a 0a 48 69 67 68 6c 69 67 68 74 65 64 0`...Highlighted
0fc0: 20 64 69 66 66 65 72 65 6e 63 65 73 20 62 65 74 differences bet
0fd0: 77 65 65 6e 20 54 63 6c 20 39 2e 31 20 61 6e 64 ween Tcl 9.1 and
0fe0: 20 54 63 6c 20 39 2e 30 20 61 72 65 20 73 75 6d Tcl 9.0 are sum
0ff0: 6d 61 72 69 7a 65 64 20 62 65 6c 6f 77 2c 0a 77 marized below,.w
1000: 69 74 68 20 66 6f 63 75 73 20 6f 6e 20 63 68 61 ith focus on cha
1010: 6e 67 65 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 nges important t
1020: 6f 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 75 73 o programmers us
1030: 69 6e 67 20 74 68 65 20 54 63 6c 20 6c 69 62 72 ing the Tcl libr
1040: 61 72 79 20 61 6e 64 0a 77 72 69 74 69 6e 67 20 ary and.writing
1050: 54 63 6c 20 73 63 72 69 70 74 73 2e 0a 0a 23 20 Tcl scripts...#
1060: 49 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 69 65 Incompatibilitie
1070: 73 0a 0a 2d 20 5b 52 65 6d 6f 76 65 20 60 65 78 s..- [Remove `ex
1080: 70 72 60 20 62 65 68 61 76 69 6f 72 20 66 72 6f pr` behavior fro
1090: 6d 20 60 6c 73 65 71 60 5d 28 68 74 74 70 73 3a m `lseq`](https:
10a0: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e //core.tcl-lang.
10b0: 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 org/tips/doc/tru
10c0: 6e 6b 2f 74 69 70 2f 37 34 36 2e 6d 64 29 20 2a nk/tip/746.md) *
10d0: 49 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2a Incompatibility*
10e0: 0a 2d 20 5b 46 69 6c 65 20 70 61 74 68 73 20 61 .- [File paths a
10f0: 72 65 20 6e 6f 77 20 74 72 65 61 74 65 64 20 61 re now treated a
1100: 73 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 s case-insensiti
1110: 76 65 20 6f 6e 20 4d 61 63 4f 53 5d 28 68 74 74 ve on MacOS](htt
1120: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
1130: 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 ng.org/tcl/tktvi
1140: 65 77 2f 65 36 63 61 30 62 31 62 29 20 2a 49 6e ew/e6ca0b1b) *In
1150: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2a 0a 2d compatibility*.-
1160: 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 74 63 New command `tc
1170: 6c 3a 3a 72 65 67 69 73 74 72 79 60 20 61 73 20 l::registry` as
1180: 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 replacement for
1190: 74 68 65 20 60 72 65 67 69 73 74 72 79 60 20 63 the `registry` c
11a0: 6f 6d 6d 61 6e 64 20 77 69 74 68 6f 75 74 20 6e ommand without n
11b0: 65 65 64 69 6e 67 0a 74 68 65 20 72 65 67 69 73 eeding.the regis
11c0: 74 72 79 20 70 61 63 6b 61 67 65 20 74 6f 20 62 try package to b
11d0: 65 20 6c 6f 61 64 65 64 2e 20 54 68 65 20 72 65 e loaded. The re
11e0: 67 69 73 74 72 79 20 6d 6f 64 75 6c 65 20 69 73 gistry module is
11f0: 20 6e 6f 77 20 70 61 72 74 20 6f 66 20 74 68 65 now part of the
1200: 20 63 6f 72 65 0a 54 63 6c 20 44 4c 4c 20 69 6e core.Tcl DLL in
1210: 20 61 6c 6c 20 62 75 69 6c 64 20 63 6f 6e 66 69 all build confi
1220: 67 75 72 61 74 69 6f 6e 73 2e 0a 2d 20 5b 43 75 gurations..- [Cu
1230: 73 74 6f 6d 20 61 70 70 6c 69 63 61 74 69 6f 6e stom application
1240: 73 20 6d 75 73 74 20 63 61 6c 6c 20 54 63 6c 5c s must call Tcl\
1250: 5f 46 69 6e 64 45 78 65 63 75 74 61 62 6c 65 20 _FindExecutable
1260: 6f 72 20 54 63 6c 5a 69 70 66 73 5f 41 70 70 48 or TclZipfs_AppH
1270: 6f 6f 6b 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a ook to initializ
1280: 65 20 54 63 6c 5d 28 68 74 74 70 73 3a 2f 2f 63 e Tcl](https://c
1290: 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 ore.tcl-lang.org
12a0: 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f /tips/doc/trunk/
12b0: 74 69 70 2f 37 33 32 2e 6d 64 29 20 2a 50 6f 74 tip/732.md) *Pot
12c0: 65 6e 74 69 61 6c 20 69 6e 63 6f 6d 70 61 74 69 ential incompati
12d0: 62 69 6c 69 74 79 2a 0a 2d 20 5b 53 65 61 72 63 bility*.- [Searc
12e0: 68 20 70 61 74 68 20 66 6f 72 20 6c 6f 63 61 74 h path for locat
12f0: 69 6e 67 20 54 63 6c 20 63 6f 72 65 20 73 63 72 ing Tcl core scr
1300: 69 70 74 20 61 6e 64 20 65 6e 63 6f 64 69 6e 67 ipt and encoding
1310: 73 20 69 73 20 63 68 61 6e 67 65 64 5d 28 68 74 s is changed](ht
1320: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l
1330: 61 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 ang.org/tips/doc
1340: 2f 74 72 75 6e 6b 2f 74 69 70 2f 37 33 32 2e 6d /trunk/tip/732.m
1350: 64 29 20 2a 50 6f 74 65 6e 74 69 61 6c 20 69 6e d) *Potential in
1360: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2a 0a 0a compatibility*..
1370: 23 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 61 # New commands a
1380: 6e 64 20 6f 70 74 69 6f 6e 73 0a 0a 2d 20 5b 4e nd options..- [N
1390: 65 77 20 6f 70 74 69 6f 6e 73 20 60 2d 62 61 63 ew options `-bac
13a0: 6b 73 6c 61 73 68 65 73 60 2c 20 60 2d 63 6f 6d kslashes`, `-com
13b0: 6d 61 6e 64 73 60 20 61 6e 64 20 60 2d 76 61 72 mands` and `-var
13c0: 69 61 62 6c 65 73 60 20 66 6f 72 20 60 73 75 62 iables` for `sub
13d0: 73 74 60 20 63 6f 6d 6d 61 6e 64 5d 28 68 74 74 st` command](htt
13e0: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
13f0: 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f ng.org/tips/doc/
1400: 74 72 75 6e 6b 2f 74 69 70 2f 37 31 32 2e 6d 64 trunk/tip/712.md
1410: 29 0a 2d 20 5b 4e 65 77 20 63 6f 6d 6d 61 6e 64 ).- [New command
1420: 20 60 75 6e 69 63 6f 64 65 60 20 66 6f 72 20 55 `unicode` for U
1430: 6e 69 63 6f 64 65 20 6e 6f 72 6d 61 6c 69 7a 61 nicode normaliza
1440: 74 69 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 63 6f tion](https://co
1450: 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f re.tcl-lang.org/
1460: 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 tips/doc/trunk/t
1470: 69 70 2f 37 32 36 2e 6d 64 29 0a 2d 20 5b 4e 65 ip/726.md).- [Ne
1480: 77 20 60 74 69 6d 65 72 60 20 63 6f 6d 6d 61 6e w `timer` comman
1490: 64 2c 20 73 77 69 74 63 68 20 74 6f 20 6d 6f 6e d, switch to mon
14a0: 6f 74 6f 6e 69 63 20 63 6c 6f 63 6b 20 61 6e 64 otonic clock and
14b0: 20 6d 69 63 72 6f 73 65 63 6f 6e 64 20 72 65 73 microsecond res
14c0: 6f 6c 75 74 69 6f 6e 5d 28 68 74 74 70 73 3a 2f olution](https:/
14d0: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o
14e0: 72 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e rg/tips/doc/trun
14f0: 6b 2f 74 69 70 2f 37 32 33 2e 6d 64 29 0a 2d 20 k/tip/723.md).-
1500: 5b 4e 65 77 20 60 6c 66 69 6c 74 65 72 60 20 63 [New `lfilter` c
1510: 6f 6d 6d 61 6e 64 20 66 6f 72 20 73 65 6c 65 63 ommand for selec
1520: 74 69 6e 67 20 69 74 65 6d 73 20 66 72 6f 6d 20 ting items from
1530: 61 20 6c 69 73 74 5d 28 68 74 74 70 73 3a 2f 2f a list](https://
1540: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 core.tcl-lang.or
1550: 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b g/tips/doc/trunk
1560: 2f 74 69 70 2f 37 33 35 2e 6d 64 29 0a 2d 20 5b /tip/735.md).- [
1570: 4d 61 6e 79 20 6e 65 77 20 66 75 6e 63 74 69 6f Many new functio
1580: 6e 73 20 66 72 6f 6d 20 43 39 39 5d 28 68 74 74 ns from C99](htt
1590: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
15a0: 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f ng.org/tips/doc/
15b0: 74 72 75 6e 6b 2f 74 69 70 2f 37 34 35 2e 6d 64 trunk/tip/745.md
15c0: 29 2c 20 73 70 65 63 69 66 69 63 61 6c 6c 79 3a ), specifically:
15d0: 20 60 61 63 6f 73 68 28 29 60 2c 20 60 61 73 69 `acosh()`, `asi
15e0: 6e 68 28 29 60 2c 20 60 61 74 61 6e 68 28 29 60 nh()`, `atanh()`
15f0: 2c 20 60 63 62 72 74 28 29 60 2c 20 60 63 6f 70 , `cbrt()`, `cop
1600: 79 73 69 67 6e 28 29 60 2c 20 60 64 69 6d 28 29 ysign()`, `dim()
1610: 60 2c 20 20 60 65 72 66 28 29 60 2c 20 60 65 72 `, `erf()`, `er
1620: 66 63 28 29 60 2c 20 60 65 78 70 32 28 29 60 2c fc()`, `exp2()`,
1630: 20 60 65 78 70 6d 31 28 29 60 2c 20 60 66 6d 61 `expm1()`, `fma
1640: 28 29 60 2c 20 60 67 61 6d 6d 61 28 29 60 2c 20 ()`, `gamma()`,
1650: 60 6c 64 65 78 70 28 29 60 2c 20 60 6c 67 61 6d `ldexp()`, `lgam
1660: 6d 61 28 29 60 2c 20 60 6c 6f 67 31 70 28 29 60 ma()`, `log1p()`
1670: 2c 20 60 6c 6f 67 32 28 29 60 2c 20 60 6c 6f 67 , `log2()`, `log
1680: 62 28 29 60 2c 20 60 6e 65 78 74 61 66 74 65 72 b()`, `nextafter
1690: 28 29 60 2c 20 60 72 65 6d 61 69 6e 64 65 72 28 ()`, `remainder(
16a0: 29 60 2c 20 60 73 69 67 6e 62 69 74 28 29 60 2c )`, `signbit()`,
16b0: 20 61 6e 64 20 60 74 72 75 6e 63 28 29 60 2c 20 and `trunc()`,
16c0: 61 6e 64 20 28 66 6f 72 20 66 75 6e 63 74 69 6f and (for functio
16d0: 6e 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 6d ns that return m
16e0: 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 20 69 ultiple values i
16f0: 6e 20 74 68 65 69 72 20 43 39 39 20 41 50 49 29 n their C99 API)
1700: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 3a 20 60 the commands: `
1710: 64 69 76 6d 6f 64 60 2c 20 60 66 72 65 78 70 60 divmod`, `frexp`
1720: 2c 20 60 6d 6f 64 66 60 2c 20 61 6e 64 20 60 72 , `modf`, and `r
1730: 65 6d 71 75 6f 60 2e 20 28 53 65 65 20 5b 74 68 emquo`. (See [th
1740: 69 73 20 70 61 67 65 5d 28 68 74 74 70 73 3a 2f is page](https:/
1750: 2f 65 6e 2e 63 70 70 72 65 66 65 72 65 6e 63 65 /en.cppreference
1760: 2e 63 6f 6d 2f 77 2f 63 2f 6e 75 6d 65 72 69 63 .com/w/c/numeric
1770: 2f 6d 61 74 68 2e 68 74 6d 6c 29 20 66 6f 72 20 /math.html) for
1780: 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e more information
1790: 20 61 62 6f 75 74 20 74 68 65 73 65 20 66 75 6e about these fun
17a0: 63 74 69 6f 6e 73 3b 20 74 68 65 20 54 63 6c 20 ctions; the Tcl
17b0: 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 5f 69 functions are _i
17c0: 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 5f 20 6f 6e ntentionally_ on
17d0: 6c 79 20 74 68 69 6e 20 77 72 61 70 70 65 72 73 ly thin wrappers
17e0: 20 61 72 6f 75 6e 64 20 74 68 65 20 66 75 6e 63 around the func
17f0: 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 43 39 39 tions in the C99
1800: 20 73 74 61 6e 64 61 72 64 2e 29 0a 2d 20 5b 4e standard.).- [N
1810: 65 77 20 60 73 77 69 74 63 68 60 20 6f 70 74 69 ew `switch` opti
1820: 6f 6e 20 60 2d 69 6e 74 65 67 65 72 60 20 74 6f on `-integer` to
1830: 20 63 6f 6d 70 61 72 65 20 76 61 6c 75 65 73 20 compare values
1840: 61 73 20 69 6e 74 65 67 65 72 73 5d 28 68 74 74 as integers](htt
1850: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
1860: 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f ng.org/tips/doc/
1870: 74 72 75 6e 6b 2f 74 69 70 2f 37 33 30 2e 6d 64 trunk/tip/730.md
1880: 29 0a 2d 20 5b 52 65 61 64 69 6e 67 20 61 6e 64 ).- [Reading and
1890: 20 77 72 69 74 69 6e 67 20 6f 66 20 63 68 69 6c writing of chil
18a0: 64 20 69 6e 74 65 72 70 72 65 74 65 72 20 76 61 d interpreter va
18b0: 72 69 61 62 6c 65 73 5d 28 68 74 74 70 73 3a 2f riables](https:/
18c0: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o
18d0: 72 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e rg/tips/doc/trun
18e0: 6b 2f 74 69 70 2f 37 32 38 2e 6d 64 29 0a 2d 20 k/tip/728.md).-
18f0: 5b 55 70 64 61 74 65 64 20 54 63 6c 20 42 79 74 [Updated Tcl Byt
1900: 65 63 6f 64 65 20 6f 70 63 6f 64 65 73 5d 28 68 ecode opcodes](h
1910: 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d ttps://core.tcl-
1920: 6c 61 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f lang.org/tips/do
1930: 63 2f 74 72 75 6e 6b 2f 74 69 70 2f 37 32 30 2e c/trunk/tip/720.
1940: 6d 64 29 0a 2d 20 5b 41 64 64 20 73 75 70 70 6f md).- [Add suppo
1950: 72 74 20 66 6f 72 20 60 5c 7a 60 20 69 6e 20 72 rt for `\z` in r
1960: 65 67 65 78 20 61 73 20 65 6e 64 2d 6f 66 2d 73 egex as end-of-s
1970: 74 72 69 6e 67 20 61 6e 63 68 6f 72 5d 28 68 74 tring anchor](ht
1980: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l
1990: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 69 6e 66 6f ang.org/tcl/info
19a0: 2f 66 62 63 35 36 62 32 35 39 65 29 0a 0a 2d 20 /fbc56b259e)..-
19b0: 4e 65 77 20 60 74 63 6c 74 65 73 74 3a 3a 63 6f New `tcltest::co
19c0: 6e 66 69 67 75 72 65 60 20 6f 70 74 69 6f 6e 20 nfigure` option
19d0: 60 2d 69 74 65 72 61 74 69 6f 6e 73 60 20 74 6f `-iterations` to
19e0: 20 63 6f 6e 74 72 6f 6c 20 6e 75 6d 62 65 72 20 control number
19f0: 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 6f 66 of iterations of
1a00: 20 65 61 63 68 20 74 65 73 74 2e 0a 0a 23 20 4e each test...# N
1a10: 65 77 20 70 75 62 6c 69 63 20 43 20 41 50 49 0a ew public C API.
1a20: 0a 2d 20 5b 60 54 63 6c 5f 49 73 45 6d 70 74 79 .- [`Tcl_IsEmpty
1a30: 28 29 60 20 26 6d 64 61 73 68 3b 20 63 68 65 63 ()` — chec
1a40: 6b 73 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 ks if the string
1a50: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
1a60: 6f 66 20 61 20 76 61 6c 75 65 20 77 6f 75 6c 64 of a value would
1a70: 20 62 65 20 74 68 65 20 65 6d 70 74 79 20 73 74 be the empty st
1a80: 72 69 6e 67 5d 28 68 74 74 70 73 3a 2f 2f 63 6f ring](https://co
1a90: 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f re.tcl-lang.org/
1aa0: 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 tips/doc/trunk/t
1ab0: 69 70 2f 37 31 31 2e 6d 64 29 0a 2d 20 5b 60 54 ip/711.md).- [`T
1ac0: 63 6c 5f 47 65 74 45 6e 63 6f 64 69 6e 67 4e 61 cl_GetEncodingNa
1ad0: 6d 65 46 6f 72 55 73 65 72 28 29 60 20 26 6d 64 meForUser()` &md
1ae0: 61 73 68 3b 20 72 65 74 75 72 6e 73 20 6e 61 6d ash; returns nam
1af0: 65 20 6f 66 20 65 6e 63 6f 64 69 6e 67 20 66 72 e of encoding fr
1b00: 6f 6d 20 75 73 65 72 20 73 65 74 74 69 6e 67 73 om user settings
1b10: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t
1b20: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 69 70 73 cl-lang.org/tips
1b30: 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 69 70 2f 37 /doc/trunk/tip/7
1b40: 31 36 2e 6d 64 29 0a 2d 20 5b 60 54 63 6c 5f 41 16.md).- [`Tcl_A
1b50: 74 74 65 6d 70 74 43 72 65 61 74 65 48 61 73 68 ttemptCreateHash
1b60: 45 6e 74 72 79 28 29 60 20 26 6d 64 61 73 68 3b Entry()` —
1b70: 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 54 63 6c version of `Tcl
1b80: 5f 43 72 65 61 74 65 48 61 73 68 45 6e 74 72 79 _CreateHashEntry
1b90: 28 29 60 20 74 68 61 74 20 72 65 74 75 72 6e 73 ()` that returns
1ba0: 20 4e 55 4c 4c 20 69 6e 73 74 65 61 64 20 6f 66 NULL instead of
1bb0: 20 70 61 6e 69 63 27 69 6e 67 20 6f 6e 20 6d 65 panic'ing on me
1bc0: 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 mory allocation
1bd0: 65 72 72 6f 72 73 5d 28 68 74 74 70 73 3a 2f 2f errors](https://
1be0: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 core.tcl-lang.or
1bf0: 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b g/tips/doc/trunk
1c00: 2f 74 69 70 2f 37 31 37 2e 6d 64 29 0a 2d 20 5b /tip/717.md).- [
1c10: 60 54 63 6c 5f 4c 69 73 74 4f 62 6a 52 61 6e 67 `Tcl_ListObjRang
1c20: 65 28 29 60 2c 20 60 54 63 6c 5f 4c 69 73 74 4f e()`, `Tcl_ListO
1c30: 62 6a 52 65 70 65 61 74 28 29 60 2c 20 60 54 63 bjRepeat()`, `Tc
1c40: 6c 5f 4c 69 73 74 4f 62 6a 52 65 76 65 72 73 65 l_ListObjReverse
1c50: 28 29 60 20 26 6d 64 61 73 68 3b 20 43 20 41 50 ()` — C AP
1c60: 49 20 66 6f 72 20 6e 65 77 20 6c 69 73 74 20 6f I for new list o
1c70: 70 65 72 61 74 69 6f 6e 73 5d 28 68 74 74 70 73 perations](https
1c80: 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 ://core.tcl-lang
1c90: 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 .org/tips/doc/tr
1ca0: 75 6e 6b 2f 74 69 70 2f 36 34 39 2e 6d 64 29 0a unk/tip/649.md).
1cb0: 2d 20 5b 60 54 63 6c 5f 55 74 66 54 6f 4e 6f 72 - [`Tcl_UtfToNor
1cc0: 6d 61 6c 69 7a 65 64 28 29 60 2c 20 60 54 63 6c malized()`, `Tcl
1cd0: 5f 55 74 66 54 6f 4e 6f 72 6d 61 6c 69 7a 65 64 _UtfToNormalized
1ce0: 44 53 74 72 69 6e 67 28 29 60 20 26 6d 64 61 73 DString()` &mdas
1cf0: 68 3b 20 43 20 41 50 49 20 66 6f 72 20 55 6e 69 h; C API for Uni
1d00: 63 6f 64 65 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 code normalizati
1d10: 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 on](https://core
1d20: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 69 .tcl-lang.org/ti
1d30: 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 69 70 ps/doc/trunk/tip
1d40: 2f 37 32 36 2e 6d 64 29 0a 2d 20 5b 60 54 63 6c /726.md).- [`Tcl
1d50: 5f 55 74 66 54 6f 45 78 74 65 72 6e 61 6c 45 78 _UtfToExternalEx
1d60: 28 29 60 20 61 6e 64 20 60 54 63 6c 5f 45 78 74 ()` and `Tcl_Ext
1d70: 65 72 6e 61 6c 54 6f 55 74 66 45 78 28 29 60 20 ernalToUtfEx()`
1d80: 26 6d 64 61 73 68 3b 20 43 20 65 6e 63 6f 64 69 — C encodi
1d90: 6e 67 20 41 50 49 20 73 75 70 70 6f 72 74 69 6e ng API supportin
1da0: 67 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 73 g output buffers
1db0: 20 6c 61 72 67 65 72 20 74 68 61 6e 20 49 4e 54 larger than INT
1dc0: 5f 4d 41 58 5d 28 68 74 74 70 73 3a 2f 2f 63 6f _MAX](https://co
1dd0: 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f re.tcl-lang.org/
1de0: 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 tips/doc/trunk/t
1df0: 69 70 2f 37 33 37 2e 6d 64 29 0a 2d 20 5b 4e 65 ip/737.md).- [Ne
1e00: 77 20 41 50 49 20 66 6f 72 20 6d 6f 6e 6f 74 6f w API for monoto
1e10: 6e 69 63 20 63 6c 6f 63 6b 20 61 6e 64 20 6d 69 nic clock and mi
1e20: 63 72 6f 73 65 63 6f 6e 64 73 20 72 65 73 6f 6c croseconds resol
1e30: 75 74 69 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 63 ution](https://c
1e40: 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 ore.tcl-lang.org
1e50: 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f /tips/doc/trunk/
1e60: 74 69 70 2f 37 32 33 2e 6d 64 29 0a 2d 20 5b 57 tip/723.md).- [W
1e70: 69 6e 64 6f 77 73 20 60 61 75 74 6f 5f 65 78 65 indows `auto_exe
1e80: 63 6f 6b 60 20 65 6e 68 61 6e 63 65 6d 65 6e 74 cok` enhancement
1e90: 73 20 61 6e 64 20 60 65 78 65 63 60 20 73 65 61 s and `exec` sea
1ea0: 72 63 68 20 72 65 66 6f 72 6d 5d 28 68 74 74 70 rch reform](http
1eb0: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan
1ec0: 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f 74 g.org/tips/doc/t
1ed0: 72 75 6e 6b 2f 74 69 70 2f 37 35 33 2e 6d 64 29 runk/tip/753.md)
1ee0: 0a 2d 20 5b 4e 65 77 20 74 69 6d 65 72 20 41 50 .- [New timer AP
1ef0: 49 20 75 73 69 6e 67 20 6c 6f 6e 67 20 6c 6f 6e I using long lon
1f00: 67 20 69 6e 20 73 74 65 61 64 20 6f 66 20 54 63 g in stead of Tc
1f10: 6c 5f 54 69 6d 65 5d 28 68 74 74 70 73 3a 2f 2f l_Time](https://
1f20: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 core.tcl-lang.or
1f30: 67 2f 74 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b g/tips/doc/trunk
1f40: 2f 74 69 70 2f 37 35 32 2e 6d 64 29 0a 2d 20 5b /tip/752.md).- [
1f50: 60 54 63 6c 5f 52 65 67 69 73 74 65 72 50 6f 73 `Tcl_RegisterPos
1f60: 74 49 6e 69 74 50 72 6f 63 60 20 63 61 6c 6c 62 tInitProc` callb
1f70: 61 63 6b 20 66 6f 72 20 70 6f 73 74 2d 69 6e 69 ack for post-ini
1f80: 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 69 tialization of i
1f90: 6e 74 65 72 70 72 65 74 65 72 73 5d 28 68 74 74 nterpreters](htt
1fa0: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
1fb0: 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f ng.org/tips/doc/
1fc0: 74 72 75 6e 6b 2f 74 69 70 2f 37 35 35 2e 6d 64 trunk/tip/755.md
1fd0: 29 0a 0a 23 20 50 65 72 66 6f 72 6d 61 6e 63 65 )..# Performance
1fe0: 0a 0a 2d 20 5b 4d 65 6d 6f 72 79 20 65 66 66 69 ..- [Memory effi
1ff0: 63 69 65 6e 74 20 69 6e 74 65 72 6e 61 6c 20 72 cient internal r
2000: 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 5d 28 epresentations](
2010: 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c https://core.tcl
2020: 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 77 69 -lang.org/tcl/wi
2030: 6b 69 3f 6e 61 6d 65 3d 4e 65 77 2b 61 62 73 74 ki?name=New+abst
2040: 72 61 63 74 2b 6c 69 73 74 2b 72 65 70 72 65 73 ract+list+repres
2050: 65 6e 74 61 74 69 6f 6e 73 29 0a 66 6f 72 20 6c entations).for l
2060: 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f ist operations o
2070: 6e 20 6c 61 72 67 65 20 6c 69 73 74 73 2e 0a 2d n large lists..-
2080: 20 5b 43 6f 6e 74 69 6e 75 65 64 20 36 34 2d 62 [Continued 64-b
2090: 69 74 20 63 61 70 61 63 69 74 79 3a 20 43 6f 6d it capacity: Com
20a0: 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 mand line argume
20b0: 6e 74 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 nts larger than
20c0: 32 47 62 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 2Gb](https://cor
20d0: 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 e.tcl-lang.org/t
20e0: 69 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 69 ips/doc/trunk/ti
20f0: 70 2f 36 32 36 2e 6d 64 29 0a 2d 20 5b 53 75 70 p/626.md).- [Sup
2100: 70 6f 72 74 20 66 6f 72 20 6c 6f 6e 67 20 70 61 port for long pa
2110: 74 68 73 20 6f 6e 20 57 69 6e 64 6f 77 73 5d 28 ths on Windows](
2120: 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c https://core.tcl
2130: 2d 6c 61 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 -lang.org/tips/d
2140: 6f 63 2f 74 72 75 6e 6b 2f 74 69 70 2f 37 34 34 oc/trunk/tip/744
2150: 2e 6d 64 29 0a 2d 20 5b 46 61 73 74 65 72 20 55 .md).- [Faster U
2160: 54 46 2d 38 20 65 6e 63 6f 64 69 6e 67 20 61 6e TF-8 encoding an
2170: 64 20 49 2f 4f 5d 28 68 74 74 70 73 3a 2f 2f 63 d I/O](https://c
2180: 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 ore.tcl-lang.org
2190: 2f 74 63 6c 2f 77 69 6b 69 3f 6e 61 6d 65 3d 46 /tcl/wiki?name=F
21a0: 61 73 74 65 72 2b 55 54 46 2b 65 6e 63 6f 64 69 aster+UTF+encodi
21b0: 6e 67 29 0a 2d 20 46 61 73 74 65 72 20 69 6e 74 ng).- Faster int
21c0: 65 72 70 72 65 74 65 72 20 63 72 65 61 74 69 6f erpreter creatio
21d0: 6e 0a 0a 23 20 42 75 67 20 66 69 78 65 73 0a 2d n..# Bug fixes.-
21e0: 20 5b 49 6e 63 6f 6e 73 69 73 74 65 6e 74 20 60 [Inconsistent `
21f0: 67 6c 6f 62 60 20 6d 61 74 63 68 69 6e 67 20 6f glob` matching o
2200: 6e 20 4d 61 63 4f 53 5d 28 68 74 74 70 73 3a 2f n MacOS](https:/
2210: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o
2220: 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 65 rg/tcl/tktview/e
2230: 36 63 61 30 62 31 62 29 0a 2d 20 5b 60 66 69 6c 6ca0b1b).- [`fil
2240: 65 20 6e 6f 72 6d 61 6c 69 7a 65 60 20 64 6f 65 e normalize` doe
2250: 73 20 6e 6f 74 20 75 6e 69 71 75 65 6c 79 20 69 s not uniquely i
2260: 64 65 6e 74 69 66 79 20 61 20 66 69 6c 65 20 6f dentify a file o
2270: 6e 20 4d 61 63 4f 53 5d 28 68 74 74 70 73 3a 2f n MacOS](https:/
2280: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o
2290: 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 31 rg/tcl/tktview/1
22a0: 30 38 39 30 34 31 37 29 0a 2d 20 5b 49 6e 63 6f 0890417).- [Inco
22b0: 6e 73 69 73 74 65 6e 63 69 65 73 20 62 65 74 77 nsistencies betw
22c0: 65 65 6e 20 60 63 64 60 20 61 6e 64 20 60 66 69 een `cd` and `fi
22d0: 6c 65 20 6e 6f 72 6d 61 6c 69 7a 65 60 20 66 6f le normalize` fo
22e0: 72 20 76 6f 6c 75 6d 65 2d 72 65 6c 61 74 69 76 r volume-relativ
22f0: 65 20 70 61 74 68 73 20 6f 6e 20 57 69 6e 64 6f e paths on Windo
2300: 77 73 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 ws](https://core
2310: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 .tcl-lang.org/tc
2320: 6c 2f 74 6b 74 76 69 65 77 2f 62 63 61 33 39 31 l/tktview/bca391
2330: 61 62 29 0a 2d 20 5b 54 63 6c 20 63 61 6e 6e 6f ab).- [Tcl canno
2340: 74 20 72 75 6e 20 66 72 6f 6d 20 61 6e 20 61 72 t run from an ar
2350: 62 69 74 72 61 72 79 20 62 75 69 6c 64 20 64 69 bitrary build di
2360: 72 65 63 74 6f 72 79 20 77 69 74 68 20 2d 2d 64 rectory with --d
2370: 69 73 61 62 6c 65 2d 7a 69 70 66 73 5d 28 68 74 isable-zipfs](ht
2380: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l
2390: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 ang.org/tcl/tktv
23a0: 69 65 77 2f 30 30 36 62 65 66 35 64 29 0a 2d 20 iew/006bef5d).-
23b0: 5b 43 72 61 73 68 20 6f 6e 20 66 69 6e 61 6c 69 [Crash on finali
23c0: 7a 61 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 61 zation with an a
23d0: 63 74 69 76 65 20 74 68 72 65 61 64 20 72 75 6e ctive thread run
23e0: 6e 69 6e 67 2e 5d 28 68 74 74 70 73 3a 2f 2f 63 ning.](https://c
23f0: 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 ore.tcl-lang.org
2400: 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 65 35 35 /tcl/tktview/e55
2410: 61 35 38 39 64 29 0a 2d 20 5b 43 72 61 73 68 20 a589d).- [Crash
2420: 6f 6e 20 75 73 65 2d 61 66 74 65 72 2d 66 72 65 on use-after-fre
2430: 65 20 69 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63 e in Windows soc
2440: 6b 65 74 20 74 68 72 65 61 64 2e 5d 28 68 74 74 ket thread.](htt
2450: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la
2460: 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 ng.org/tcl/tktvi
2470: 65 77 2f 30 36 66 31 39 63 63 34 29 0a 0a 23 20 ew/06f19cc4)..#
2480: 55 70 64 61 74 65 64 20 62 75 6e 64 6c 65 64 20 Updated bundled
2490: 70 61 63 6b 61 67 65 73 2c 20 6c 69 62 72 61 72 packages, librar
24a0: 69 65 73 2c 20 73 74 61 6e 64 61 72 64 73 2c 20 ies, standards,
24b0: 64 61 74 61 0a 20 2d 20 55 6e 69 63 6f 64 65 20 data. - Unicode
24c0: 31 38 2e 30 2e 30 0a 20 2d 20 70 6c 61 74 6f 72 18.0.0. - plator
24d0: 6d 20 31 2e 32 2e 30 3a 20 41 64 64 20 73 75 70 m 1.2.0: Add sup
24e0: 70 6f 72 74 20 66 6f 72 20 6d 75 73 6c 20 43 20 port for musl C
24f0: 72 75 6e 74 69 6d 65 0a runtime.