Artifact 043e6034c65ef8401fcce8ac793be3c0c5db081f10d01955a45db74100feeced:
- File changes.md — part of check-in [10a450bde9] at 2024-12-19 16:48:09 on branch core-9-0-1-rc — updated changes.md for release. (user: dgp size: 9566) [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 30 2e 31 20 lease Tcl 9.0.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 30 2d 31 60 2e 0a g `core-9-0-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 20 20 41 73 20 74 68 65 20 66 69 base. As the fi 0150: 72 73 74 20 70 61 74 63 68 20 72 65 6c 65 61 73 rst patch releas 0160: 65 20 69 6e 20 74 68 65 20 54 63 6c 20 39 2e 30 e in the Tcl 9.0 0170: 2e 5c 2a 20 73 65 72 69 65 73 2c 0a 54 63 6c 20 .\* series,.Tcl 0180: 39 2e 30 2e 31 20 61 6c 73 6f 20 69 6e 63 6c 75 9.0.1 also inclu 0190: 64 65 73 20 61 20 73 6d 61 6c 6c 20 6e 75 6d 62 des a small numb 01a0: 65 72 20 6f 66 20 69 6e 74 65 72 66 61 63 65 20 er of interface 01b0: 63 68 61 6e 67 65 73 20 74 68 61 74 20 63 6f 6d changes that com 01c0: 70 6c 65 74 65 0a 73 6f 6d 65 20 69 6e 63 6f 6d plete.some incom 01d0: 70 6c 65 74 65 20 66 65 61 74 75 72 65 73 20 66 plete features f 01e0: 69 72 73 74 20 64 65 6c 69 76 65 72 65 64 20 69 irst delivered i 01f0: 6e 20 54 63 6c 20 39 2e 30 2e 30 2e 0a 0a 23 20 n Tcl 9.0.0...# 0200: 43 6f 6d 70 6c 65 74 65 64 20 39 2e 30 20 46 65 Completed 9.0 Fe 0210: 61 74 75 72 65 73 20 61 6e 64 20 49 6e 74 65 72 atures and Inter 0220: 66 61 63 65 73 0a 20 2d 20 5b 54 49 50 20 37 30 faces. - [TIP 70 0230: 31 20 2d 20 54 63 6c 5f 46 53 54 69 6c 64 65 45 1 - Tcl_FSTildeE 0240: 78 70 61 6e 64 20 43 20 41 50 49 5d 28 68 74 74 xpand C API](htt 0250: 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 ps://core.tcl-la 0260: 6e 67 2e 6f 72 67 2f 74 69 70 73 2f 64 6f 63 2f ng.org/tips/doc/ 0270: 74 72 75 6e 6b 2f 74 69 70 2f 37 30 31 2e 6d 64 trunk/tip/701.md 0280: 29 0a 20 2d 20 5b 54 49 50 20 37 30 37 20 2d 20 ). - [TIP 707 - 0290: 70 74 72 41 6e 64 53 69 7a 65 20 69 6e 74 65 72 ptrAndSize inter 02a0: 6e 61 6c 20 72 65 70 20 69 6e 20 54 63 6c 5f 4f nal rep in Tcl_O 02b0: 62 6a 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 bj](https://core 02c0: 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 69 .tcl-lang.org/ti 02d0: 70 73 2f 64 6f 63 2f 74 72 75 6e 6b 2f 74 69 70 ps/doc/trunk/tip 02e0: 2f 37 30 37 2e 6d 64 29 0a 20 2d 20 5b 53 69 7a /707.md). - [Siz 02f0: 65 20 6d 6f 64 69 66 69 65 72 73 20 6a 2c 20 71 e modifiers j, q 0300: 2c 20 7a 2c 20 74 20 6e 6f 74 20 69 6d 70 6c 65 , z, t not imple 0310: 6d 65 6e 74 65 64 5d 28 20 68 74 74 70 73 3a 2f mented]( https:/ 0320: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o 0330: 72 67 2f 74 63 6c 2f 69 6e 66 6f 2f 63 34 66 33 rg/tcl/info/c4f3 0340: 36 35 29 0a 0a 23 20 42 75 67 20 66 69 78 65 73 65)..# Bug fixes 0350: 0a 20 2d 20 5b 72 65 67 72 65 73 73 69 6f 6e 20 . - [regression 0360: 69 6e 20 74 7a 64 61 74 61 2c 20 25 7a 20 69 6e in tzdata, %z in 0370: 73 74 65 61 64 20 6f 66 20 6f 66 66 73 65 74 20 stead of offset 0380: 54 5a 2d 6e 61 6d 65 5d 28 68 74 74 70 73 3a 2f TZ-name](https:/ 0390: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o 03a0: 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 32 rg/tcl/tktview/2 03b0: 63 32 33 37 62 29 0a 20 2d 20 5b 54 63 6c 20 77 c237b). - [Tcl w 03c0: 69 6c 6c 20 6e 6f 74 20 73 74 61 72 74 20 70 72 ill not start pr 03d0: 6f 70 65 72 6c 79 20 69 66 20 74 68 65 72 65 20 operly if there 03e0: 69 73 20 61 6e 20 69 6e 69 74 2e 74 63 6c 20 66 is an init.tcl f 03f0: 69 6c 65 20 69 6e 20 74 68 65 20 63 75 72 72 65 ile in the curre 0400: 6e 74 20 64 69 72 5d 28 68 74 74 70 73 3a 2f 2f nt dir](https:// 0410: 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 core.tcl-lang.or 0420: 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 34 33 g/tcl/tktview/43 0430: 63 39 34 66 29 0a 20 2d 20 5b 63 6c 6f 63 6b 20 c94f). - [clock 0440: 73 63 61 6e 20 22 32 34 3a 30 30 22 2c 20 49 53 scan "24:00", IS 0450: 4f 2d 38 36 30 31 20 63 6f 6d 70 61 74 69 62 69 O-8601 compatibi 0460: 6c 69 74 79 5d 28 68 74 74 70 73 3a 2f 2f 63 6f lity](https://co 0470: 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f re.tcl-lang.org/ 0480: 74 63 6c 2f 74 6b 74 76 69 65 77 2f 61 65 65 39 tcl/tktview/aee9 0490: 66 32 29 0a 20 2d 20 5b 54 65 6d 70 6f 72 61 72 f2). - [Temporar 04a0: 79 20 66 6f 6c 64 65 72 20 77 69 74 68 20 66 69 y folder with fi 04b0: 6c 65 20 22 74 63 6c 39 72 65 67 69 73 74 72 79 le "tcl9registry 04c0: 31 33 2e 64 6c 6c 22 20 72 65 6d 61 69 6e 73 20 13.dll" remains 04d0: 61 66 74 65 72 20 22 65 78 69 74 22 5d 28 68 74 after "exit"](ht 04e0: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l 04f0: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 ang.org/tcl/tktv 0500: 69 65 77 2f 36 63 65 33 63 30 29 0a 20 2d 20 5b iew/6ce3c0). - [ 0510: 57 72 6f 6e 67 20 72 65 73 75 6c 74 20 62 79 20 Wrong result by 0520: 22 6c 73 65 61 72 63 68 20 2d 73 74 72 69 64 65 "lsearch -stride 0530: 20 2d 73 75 62 69 6e 64 69 63 65 73 20 2d 69 6e -subindices -in 0540: 6c 69 6e 65 20 2d 61 6c 6c 22 5d 28 68 74 74 70 line -all"](http 0550: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan 0560: 67 2e 6f 72 67 2f 74 63 6c 2f 69 6e 66 6f 2f 35 g.org/tcl/info/5 0570: 61 31 61 61 61 29 0a 20 2d 20 5b 54 49 50 20 36 a1aaa). - [TIP 6 0580: 30 39 20 2d 20 72 65 71 75 69 72 65 64 20 54 63 09 - required Tc 0590: 6c 5f 54 68 72 65 61 64 41 6c 65 72 74 28 29 20 l_ThreadAlert() 05a0: 73 6b 69 70 70 65 64 20 77 69 74 68 20 6e 65 73 skipped with nes 05b0: 74 65 64 20 65 76 65 6e 74 20 6c 6f 6f 70 5d 28 ted event loop]( 05c0: 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c https://core.tcl 05d0: 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 69 6e -lang.org/tcl/in 05e0: 66 6f 2f 63 37 65 34 63 34 29 0a 20 2d 20 5b 62 fo/c7e4c4). - [b 05f0: 75 66 66 65 72 20 6f 76 65 72 77 72 69 74 65 20 uffer overwrite 0600: 66 6f 72 20 6e 6f 6e 2d 42 4d 50 20 63 68 61 72 for non-BMP char 0610: 61 63 74 65 72 73 20 69 6e 20 75 74 66 2d 31 36 acters in utf-16 0620: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t 0630: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/ 0640: 74 6b 74 76 69 65 77 2f 36 36 64 61 34 64 29 0a tktview/66da4d). 0650: 20 2d 20 5b 7a 69 70 66 73 20 69 6e 66 6f 20 6f - [zipfs info o 0660: 6e 20 6d 6f 75 6e 74 70 6f 69 6e 74 20 6f 66 20 n mountpoint of 0670: 65 78 65 63 75 74 61 62 6c 65 20 72 65 74 75 72 executable retur 0680: 6e 73 20 7a 65 72 6f 20 6f 66 66 73 65 74 20 69 ns zero offset i 0690: 6e 20 66 69 65 6c 64 20 34 22 5d 28 68 74 74 70 n field 4"](http 06a0: 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e s://core.tcl-lan 06b0: 67 2e 6f 72 67 2f 74 63 6c 2f 69 6e 66 6f 2f 61 g.org/tcl/info/a 06c0: 61 61 38 34 66 29 0a 20 2d 20 5b 7a 6c 69 62 2d aa84f). - [zlib- 06d0: 38 2e 38 2c 20 7a 6c 69 62 2d 38 2e 31 36 20 66 8.8, zlib-8.16 f 06e0: 61 69 6c 20 6f 6e 20 46 65 64 6f 72 61 20 34 30 ail on Fedora 40 06f0: 2c 20 67 63 63 20 31 34 2e 31 2e 31 5d 28 68 74 , gcc 14.1.1](ht 0700: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l 0710: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 ang.org/tcl/tktv 0720: 69 65 77 2f 37 33 64 35 63 62 29 0a 20 2d 20 5b iew/73d5cb). - [ 0730: 69 6e 73 74 61 6c 6c 20 72 65 67 69 73 74 72 79 install registry 0740: 20 61 6e 64 20 64 64 65 20 69 6e 20 24 49 4e 53 and dde in $INS 0750: 54 41 4c 4c 5f 44 49 52 5c 6c 69 62 20 61 6c 77 TALL_DIR\lib alw 0760: 61 79 73 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 ays](https://cor 0770: 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 e.tcl-lang.org/t 0780: 63 6c 2f 74 6b 74 76 69 65 77 2f 33 36 34 62 64 cl/tktview/364bd 0790: 39 29 0a 20 2d 20 5b 63 61 6e 6e 6f 74 20 62 75 9). - [cannot bu 07a0: 69 6c 64 20 2e 63 68 6d 20 68 65 6c 70 20 66 69 ild .chm help fi 07b0: 6c 65 20 28 57 69 6e 64 6f 77 73 29 5d 28 68 74 le (Windows)](ht 07c0: 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c tps://core.tcl-l 07d0: 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 ang.org/tcl/tktv 07e0: 69 65 77 2f 62 62 31 31 30 63 29 0a 0a 23 20 49 iew/bb110c)..# I 07f0: 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 69 65 73 ncompatibilities 0800: 0a 20 2d 20 4e 6f 20 6b 6e 6f 77 6e 20 69 6e 63 . - No known inc 0810: 6f 6d 70 61 74 69 62 69 6c 69 74 69 65 73 20 77 ompatibilities w 0820: 69 74 68 20 74 68 65 20 54 63 6c 20 39 2e 30 2e ith the Tcl 9.0. 0830: 30 20 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 0 public interfa 0840: 63 65 2e 0a 0a 23 20 55 70 64 61 74 65 64 20 62 ce...# Updated b 0850: 75 6e 64 6c 65 64 20 70 61 63 6b 61 67 65 73 2c undled packages, 0860: 20 6c 69 62 72 61 72 69 65 73 2c 20 73 74 61 6e libraries, stan 0870: 64 61 72 64 73 2c 20 64 61 74 61 0a 20 2d 20 49 dards, data. - I 0880: 74 63 6c 20 34 2e 33 2e 32 0a 20 2d 20 73 71 6c tcl 4.3.2. - sql 0890: 69 74 65 33 20 33 2e 34 37 2e 32 0a 20 2d 20 54 ite3 3.47.2. - T 08a0: 68 72 65 61 64 20 33 2e 30 2e 31 0a 20 2d 20 54 hread 3.0.1. - T 08b0: 44 42 43 5c 2a 20 31 2e 31 2e 31 30 0a 20 2d 20 DBC\* 1.1.10. - 08c0: 74 63 6c 74 65 73 74 20 32 2e 35 2e 39 0a 20 2d tcltest 2.5.9. - 08d0: 20 74 7a 64 61 74 61 20 32 30 32 34 62 2c 20 63 tzdata 2024b, c 08e0: 6f 72 72 65 63 74 65 64 0a 0a 52 65 6c 65 61 73 orrected..Releas 08f0: 65 20 54 63 6c 20 39 2e 30 2e 30 20 61 72 69 73 e Tcl 9.0.0 aris 0900: 65 73 20 66 72 6f 6d 20 74 68 65 20 63 68 65 63 es from the chec 0910: 6b 2d 69 6e 20 77 69 74 68 20 74 61 67 20 60 63 k-in with tag `c 0920: 6f 72 65 2d 39 2d 30 2d 30 60 2e 0a 0a 48 69 67 ore-9-0-0`...Hig 0930: 68 6c 69 67 68 74 65 64 20 64 69 66 66 65 72 65 hlighted differe 0940: 6e 63 65 73 20 62 65 74 77 65 65 6e 20 54 63 6c nces between Tcl 0950: 20 39 2e 30 20 61 6e 64 20 54 63 6c 20 38 2e 36 9.0 and Tcl 8.6 0960: 20 61 72 65 20 73 75 6d 6d 61 72 69 7a 65 64 20 are summarized 0970: 62 65 6c 6f 77 2c 0a 77 69 74 68 20 66 6f 63 75 below,.with focu 0980: 73 20 6f 6e 20 63 68 61 6e 67 65 73 20 69 6d 70 s on changes imp 0990: 6f 72 74 61 6e 74 20 74 6f 20 70 72 6f 67 72 61 ortant to progra 09a0: 6d 6d 65 72 73 20 75 73 69 6e 67 20 74 68 65 20 mmers using the 09b0: 54 63 6c 20 6c 69 62 72 61 72 79 20 61 6e 64 0a Tcl library and. 09c0: 77 72 69 74 69 6e 67 20 54 63 6c 20 73 63 72 69 writing Tcl scri 09d0: 70 74 73 2e 0a 0a 23 20 4d 61 6a 6f 72 20 46 65 pts...# Major Fe 09e0: 61 74 75 72 65 73 0a 0a 23 23 20 36 34 2d 62 69 atures..## 64-bi 09f0: 74 20 63 61 70 61 63 69 74 79 3a 20 44 61 74 61 t capacity: Data 0a00: 20 76 61 6c 75 65 73 20 6c 61 72 67 65 72 20 74 values larger t 0a10: 68 61 6e 20 32 47 62 0a 20 2d 20 53 74 72 69 6e han 2Gb. - Strin 0a20: 67 73 20 63 61 6e 20 62 65 20 61 6e 79 20 6c 65 gs can be any le 0a30: 6e 67 74 68 20 28 74 68 61 74 20 66 69 74 73 20 ngth (that fits 0a40: 69 6e 20 79 6f 75 72 20 61 76 61 69 6c 61 62 6c in your availabl 0a50: 65 20 6d 65 6d 6f 72 79 29 0a 20 2d 20 4c 69 73 e memory). - Lis 0a60: 74 73 20 61 6e 64 20 64 69 63 74 69 6f 6e 61 72 ts and dictionar 0a70: 69 65 73 20 63 61 6e 20 68 61 76 65 20 76 65 72 ies can have ver 0a80: 79 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 73 20 y large numbers 0a90: 6f 66 20 65 6c 65 6d 65 6e 74 73 0a 0a 23 23 20 of elements..## 0aa0: 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 69 7a 61 Internationaliza 0ab0: 74 69 6f 6e 20 6f 66 20 74 65 78 74 0a 20 2d 20 tion of text. - 0ac0: 46 75 6c 6c 20 55 6e 69 63 6f 64 65 20 72 61 6e Full Unicode ran 0ad0: 67 65 20 6f 66 20 63 6f 64 65 70 6f 69 6e 74 73 ge of codepoints 0ae0: 0a 20 2d 20 4e 65 77 20 65 6e 63 6f 64 69 6e 67 . - New encoding 0af0: 73 3a 20 60 75 74 66 2d 31 36 60 2f 60 75 74 66 s: `utf-16`/`utf 0b00: 2d 33 32 60 2f 60 75 63 73 2d 32 60 28 60 6c 65 -32`/`ucs-2`(`le 0b10: 60 7c 60 62 65 60 29 2c 20 60 43 45 53 55 2d 38 `|`be`), `CESU-8 0b20: 60 2c 20 65 74 63 2e 0a 20 2d 20 60 65 6e 63 6f `, etc.. - `enco 0b30: 64 69 6e 67 60 20 6f 70 74 69 6f 6e 73 20 60 2d ding` options `- 0b40: 70 72 6f 66 69 6c 65 60 2c 20 60 2d 66 61 69 6c profile`, `-fail 0b50: 69 6e 64 65 78 60 20 6d 61 6e 61 67 65 20 65 6e index` manage en 0b60: 63 6f 64 69 6e 67 20 6f 66 20 49 2f 4f 2e 0a 20 coding of I/O.. 0b70: 2d 20 60 6d 73 67 63 61 74 60 20 73 75 70 70 6f - `msgcat` suppo 0b80: 72 74 73 20 63 75 73 74 6f 6d 20 6c 6f 63 61 6c rts custom local 0b90: 65 20 73 65 61 72 63 68 20 6c 69 73 74 0a 20 2d e search list. - 0ba0: 20 60 73 6f 75 72 63 65 60 20 64 65 66 61 75 6c `source` defaul 0bb0: 74 73 20 74 6f 20 60 2d 65 6e 63 6f 64 69 6e 67 ts to `-encoding 0bc0: 20 75 74 66 2d 38 60 0a 0a 23 23 20 5a 69 70 20 utf-8`..## Zip 0bd0: 66 69 6c 65 73 79 73 74 65 6d 73 20 61 6e 64 20 filesystems and 0be0: 61 74 74 61 63 68 65 64 20 61 72 63 68 69 76 65 attached archive 0bf0: 73 2e 0a 20 2d 20 50 61 63 6b 61 67 69 6e 67 20 s.. - Packaging 0c00: 6f 66 20 74 68 65 20 54 63 6c 20 73 63 72 69 70 of the Tcl scrip 0c10: 74 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 t library with t 0c20: 68 65 20 54 63 6c 20 62 69 6e 61 72 79 20 6c 69 he Tcl binary li 0c30: 62 72 61 72 79 2c 0a 20 20 20 6d 65 61 6e 69 6e brary,. meanin 0c40: 67 20 74 68 61 74 20 74 68 65 20 60 54 43 4c 5f g that the `TCL_ 0c50: 4c 49 42 52 41 52 59 60 20 65 6e 76 69 72 6f 6e LIBRARY` environ 0c60: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 ment variable is 0c70: 20 75 73 75 61 6c 6c 79 20 6e 6f 74 20 72 65 71 usually not req 0c80: 75 69 72 65 64 2e 0a 20 2d 20 50 61 63 6b 61 67 uired.. - Packag 0c90: 69 6e 67 20 6f 66 20 61 6e 20 61 70 70 6c 69 63 ing of an applic 0ca0: 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 76 69 72 ation into a vir 0cb0: 74 75 61 6c 20 66 69 6c 65 73 79 73 74 65 6d 20 tual filesystem 0cc0: 69 73 20 6e 6f 77 20 61 20 73 75 70 70 6f 72 74 is now a support 0cd0: 65 64 0a 20 20 20 63 6f 72 65 20 54 63 6c 20 66 ed. core Tcl f 0ce0: 65 61 74 75 72 65 2e 0a 0a 23 23 20 55 6e 69 78 eature...## Unix 0cf0: 20 6e 6f 74 69 66 69 65 72 73 20 61 76 61 69 6c notifiers avail 0d00: 61 62 6c 65 20 75 73 69 6e 67 20 60 65 70 6f 6c able using `epol 0d10: 6c 28 29 60 20 6f 72 20 60 6b 71 75 65 75 65 28 l()` or `kqueue( 0d20: 29 60 0a 20 2d 20 54 68 69 73 20 72 65 6c 69 65 )`. - This relie 0d30: 76 65 73 20 6c 69 6d 69 74 73 20 6f 6e 20 66 69 ves limits on fi 0d40: 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 le descriptors i 0d50: 6d 70 6f 73 65 64 20 62 79 20 6c 65 67 61 63 79 mposed by legacy 0d60: 20 60 73 65 6c 65 63 74 28 29 60 20 61 6e 64 20 `select()` and 0d70: 66 69 78 65 73 20 61 20 70 65 72 66 6f 72 6d 61 fixes a performa 0d80: 6e 63 65 20 62 6f 74 74 6c 65 6e 65 63 6b 2e 0a nce bottleneck.. 0d90: 0a 23 20 49 6e 63 6f 6d 70 61 74 69 62 69 6c 69 .# Incompatibili 0da0: 74 69 65 73 0a 0a 23 23 20 4e 6f 74 61 62 6c 65 ties..## Notable 0db0: 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 69 incompatibiliti 0dc0: 65 73 0a 20 2d 20 55 6e 71 75 61 6c 69 66 69 65 es. - Unqualifie 0dd0: 64 20 76 61 72 6e 61 6d 65 73 20 72 65 73 6f 6c d varnames resol 0de0: 76 65 64 20 69 6e 20 63 75 72 72 65 6e 74 20 6e ved in current n 0df0: 61 6d 65 73 70 61 63 65 2c 20 6e 6f 74 20 67 6c amespace, not gl 0e00: 6f 62 61 6c 2e 0a 20 20 20 4e 6f 74 65 20 74 68 obal.. Note th 0e10: 61 74 20 69 6e 20 61 6c 6d 6f 73 74 20 61 6c 6c at in almost all 0e20: 20 63 61 73 65 73 20 77 68 65 72 65 20 74 68 69 cases where thi 0e30: 73 20 63 61 75 73 65 73 20 61 20 63 68 61 6e 67 s causes a chang 0e40: 65 2c 20 74 68 65 20 63 68 61 6e 67 65 20 69 73 e, the change is 0e50: 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 72 65 actually the re 0e60: 6d 6f 76 61 6c 20 6f 66 20 61 20 6c 61 74 65 6e moval of a laten 0e70: 74 20 62 75 67 2e 0a 20 2d 20 4e 6f 20 60 2d 2d t bug.. - No `-- 0e80: 64 69 73 61 62 6c 65 2d 74 68 72 65 61 64 73 60 disable-threads` 0e90: 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 2e 20 20 build option. 0ea0: 41 6c 77 61 79 73 20 74 68 72 65 61 64 2d 65 6e Always thread-en 0eb0: 61 62 6c 65 64 2e 0a 20 2d 20 49 2f 4f 20 6d 61 abled.. - I/O ma 0ec0: 6c 65 6e 63 6f 64 69 6e 67 20 64 65 66 61 75 6c lencoding defaul 0ed0: 74 20 72 65 73 70 6f 6e 73 65 3a 20 72 61 69 73 t response: rais 0ee0: 65 20 65 72 72 6f 72 20 28 60 2d 70 72 6f 66 69 e error (`-profi 0ef0: 6c 65 20 73 74 72 69 63 74 60 29 0a 20 2d 20 57 le strict`). - W 0f00: 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 20 indows platform 0f10: 6e 65 65 64 73 20 57 69 6e 64 6f 77 73 20 37 20 needs Windows 7 0f20: 6f 72 20 57 69 6e 64 6f 77 73 20 53 65 72 76 65 or Windows Serve 0f30: 72 20 32 30 30 38 20 52 32 20 6f 72 20 6c 61 74 r 2008 R2 or lat 0f40: 65 72 0a 20 2d 20 45 6e 64 65 64 20 69 6e 74 65 er. - Ended inte 0f50: 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 60 7e rpretation of `~ 0f60: 60 20 61 73 20 68 6f 6d 65 20 64 69 72 65 63 74 ` as home direct 0f70: 6f 72 79 20 69 6e 20 70 61 74 68 6e 61 6d 65 73 ory in pathnames 0f80: 2e 0a 20 20 20 28 53 65 65 20 60 66 69 6c 65 20 .. (See `file 0f90: 68 6f 6d 65 60 20 61 6e 64 20 60 66 69 6c 65 20 home` and `file 0fa0: 74 69 6c 64 65 65 78 70 61 6e 64 60 20 66 6f 72 tildeexpand` for 0fb0: 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 77 68 replacements wh 0fc0: 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 68 65 6d en you need them 0fd0: 2e 29 0a 20 2d 20 52 65 6d 6f 76 65 64 20 74 68 .). - Removed th 0fe0: 65 20 60 69 64 65 6e 74 69 74 79 60 20 65 6e 63 e `identity` enc 0ff0: 6f 64 69 6e 67 2e 0a 20 20 20 28 54 68 65 72 65 oding.. (There 1000: 20 77 65 72 65 20 6f 6e 6c 79 20 65 76 65 72 20 were only ever 1010: 76 65 72 79 20 66 65 77 20 76 61 6c 69 64 20 75 very few valid u 1020: 73 65 20 63 61 73 65 73 20 66 6f 72 20 74 68 69 se cases for thi 1030: 73 3b 20 61 6c 6d 6f 73 74 20 61 6c 6c 20 75 73 s; almost all us 1040: 65 73 0a 20 20 20 77 65 72 65 20 73 79 73 74 65 es. were syste 1050: 6d 61 74 69 63 61 6c 6c 79 20 77 72 6f 6e 67 2e matically wrong. 1060: 29 0a 20 2d 20 52 65 6d 6f 76 65 64 20 74 68 65 ). - Removed the 1070: 20 65 6e 63 6f 64 69 6e 67 20 61 6c 69 61 73 20 encoding alias 1080: 60 62 69 6e 61 72 79 60 20 74 6f 20 60 69 73 6f `binary` to `iso 1090: 38 38 35 39 2d 31 60 2e 0a 20 2d 20 60 24 3a 3a 8859-1`.. - `$:: 10a0: 74 63 6c 5f 70 72 65 63 69 73 69 6f 6e 60 20 6e tcl_precision` n 10b0: 6f 20 6c 6f 6e 67 65 72 20 63 6f 6e 74 72 6f 6c o longer control 10c0: 73 20 73 74 72 69 6e 67 20 67 65 6e 65 72 61 74 s string generat 10d0: 69 6f 6e 20 6f 66 20 64 6f 75 62 6c 65 73 2e 0a ion of doubles.. 10e0: 20 20 20 28 49 66 20 79 6f 75 20 6e 65 65 64 20 (If you need 10f0: 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 65 a particular pre 1100: 63 69 73 69 6f 6e 2c 20 75 73 65 20 60 66 6f 72 cision, use `for 1110: 6d 61 74 60 2e 29 0a 20 2d 20 52 65 6d 6f 76 65 mat`.). - Remove 1120: 64 20 70 72 65 2d 54 63 6c 20 38 20 6c 65 67 61 d pre-Tcl 8 lega 1130: 63 69 65 73 3a 20 60 63 61 73 65 60 2c 20 60 70 cies: `case`, `p 1140: 75 74 73 60 20 61 6e 64 20 60 72 65 61 64 60 20 uts` and `read` 1150: 76 61 72 69 61 6e 74 20 73 79 6e 74 61 78 65 73 variant syntaxes 1160: 2e 0a 20 2d 20 52 65 6d 6f 76 65 64 20 73 75 62 .. - Removed sub 1170: 63 6f 6d 6d 61 6e 64 73 20 5b 60 74 72 61 63 65 commands [`trace 1180: 20 76 61 72 69 61 62 6c 65 60 7c 60 76 64 65 6c variable`|`vdel 1190: 65 74 65 60 7c 60 76 69 6e 66 6f 60 5d 0a 20 2d ete`|`vinfo`]. - 11a0: 20 52 65 6d 6f 76 65 64 20 60 2d 65 6f 66 63 68 Removed `-eofch 11b0: 61 72 60 20 6f 70 74 69 6f 6e 20 66 6f 72 20 77 ar` option for w 11c0: 72 69 74 65 20 63 68 61 6e 6e 65 6c 73 2e 0a 20 rite channels.. 11d0: 2d 20 4f 6e 20 57 69 6e 64 6f 77 73 20 31 30 2b - On Windows 10+ 11e0: 20 28 56 65 72 73 69 6f 6e 20 31 39 30 33 20 6f (Version 1903 o 11f0: 72 20 68 69 67 68 65 72 29 2c 20 73 79 73 74 65 r higher), syste 1200: 6d 20 65 6e 63 6f 64 69 6e 67 20 69 73 20 61 6c m encoding is al 1210: 77 61 79 73 20 75 74 66 2d 38 2e 0a 20 2d 20 60 ways utf-8.. - ` 1220: 25 62 60 2f 60 25 64 60 2f 60 25 6f 60 2f 60 25 %b`/`%d`/`%o`/`% 1230: 78 60 20 66 6f 72 6d 61 74 20 6d 6f 64 69 66 69 x` format modifi 1240: 65 72 73 20 28 77 69 74 68 6f 75 74 20 73 69 7a ers (without siz 1250: 65 20 6d 6f 64 69 66 69 65 72 29 20 66 6f 72 20 e modifier) for 1260: 60 66 6f 72 6d 61 74 60 0a 20 20 20 61 6e 64 20 `format`. and 1270: 60 73 63 61 6e 60 20 61 6c 77 61 79 73 20 74 72 `scan` always tr 1280: 75 6e 63 61 74 65 20 74 6f 20 33 32 2d 62 69 74 uncate to 32-bit 1290: 73 20 6f 6e 20 61 6c 6c 20 70 6c 61 74 66 6f 72 s on all platfor 12a0: 6d 73 2e 0a 20 2d 20 60 25 4c 60 20 73 69 7a 65 ms.. - `%L` size 12b0: 20 6d 6f 64 69 66 69 65 72 20 66 6f 72 20 60 73 modifier for `s 12c0: 63 61 6e 60 20 6e 6f 20 6c 6f 6e 67 65 72 20 74 can` no longer t 12d0: 72 75 6e 63 61 74 65 73 20 74 6f 20 36 34 2d 62 runcates to 64-b 12e0: 69 74 2e 0a 20 2d 20 52 65 6d 6f 76 65 64 20 63 it.. - Removed c 12f0: 6f 6d 6d 61 6e 64 20 60 3a 3a 74 63 6c 3a 3a 75 ommand `::tcl::u 1300: 6e 73 75 70 70 6f 72 74 65 64 3a 3a 69 6e 6a 65 nsupported::inje 1310: 63 74 60 2e 0a 20 20 20 28 53 65 65 20 60 63 6f ct`.. (See `co 1320: 72 6f 69 6e 6a 65 63 74 60 20 61 6e 64 20 60 63 roinject` and `c 1330: 6f 72 6f 70 72 6f 62 65 60 20 66 6f 72 20 73 75 oroprobe` for su 1340: 70 70 6f 72 74 65 64 20 63 6f 6d 6d 61 6e 64 73 pported commands 1350: 20 77 69 74 68 20 73 69 67 6e 69 66 69 63 61 6e with significan 1360: 74 6c 79 0a 20 20 20 6d 6f 72 65 20 63 6f 6d 70 tly. more comp 1370: 72 65 68 65 6e 73 69 62 6c 65 20 73 65 6d 61 6e rehensible seman 1380: 74 69 63 73 2e 29 0a 0a 23 23 20 49 6e 63 6f 6d tics.)..## Incom 1390: 70 61 74 69 62 69 6c 69 74 69 65 73 20 69 6e 20 patibilities in 13a0: 43 20 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 C public interfa 13b0: 63 65 0a 20 2d 20 45 78 74 65 6e 73 69 6f 6e 73 ce. - Extensions 13c0: 20 62 75 69 6c 74 20 61 67 61 69 6e 73 74 20 54 built against T 13d0: 63 6c 20 38 2e 36 20 61 6e 64 20 62 65 66 6f 72 cl 8.6 and befor 13e0: 65 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 e will not work 13f0: 77 69 74 68 20 54 63 6c 20 39 2e 30 3b 0a 20 20 with Tcl 9.0;. 1400: 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 ABI compatibili 1410: 74 79 20 77 61 73 20 61 20 6e 6f 6e 2d 67 6f 61 ty was a non-goa 1420: 6c 20 66 6f 72 20 39 2e 30 2e 20 20 49 6e 20 5f l for 9.0. In _ 1430: 6d 6f 73 74 5f 20 63 61 73 65 73 2c 20 72 65 62 most_ cases, reb 1440: 75 69 6c 64 69 6e 67 0a 20 20 20 61 67 61 69 6e uilding. again 1450: 73 74 20 54 63 6c 20 39 2e 30 20 73 68 6f 75 6c st Tcl 9.0 shoul 1460: 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 77 68 d work except wh 1470: 65 6e 20 61 20 72 65 6d 6f 76 65 64 20 41 50 49 en a removed API 1480: 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 function is use 1490: 64 2e 0a 20 2d 20 4d 61 6e 79 20 61 72 67 75 6d d.. - Many argum 14a0: 65 6e 74 73 20 65 78 70 61 6e 64 65 64 20 74 79 ents expanded ty 14b0: 70 65 20 66 72 6f 6d 20 60 69 6e 74 60 20 74 6f pe from `int` to 14c0: 20 60 54 63 6c 5f 53 69 7a 65 60 2c 20 61 20 73 `Tcl_Size`, a s 14d0: 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 79 igned integer ty 14e0: 70 65 0a 20 20 20 6c 61 72 67 65 20 65 6e 6f 75 pe. large enou 14f0: 67 68 20 74 6f 20 73 75 70 70 6f 72 74 20 36 34 gh to support 64 1500: 2d 62 69 74 20 73 69 7a 65 64 20 6d 65 6d 6f 72 -bit sized memor 1510: 79 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 54 68 y objects.. Th 1520: 65 20 63 6f 6e 73 74 61 6e 74 20 60 54 43 4c 5f e constant `TCL_ 1530: 41 55 54 4f 5f 4c 45 4e 47 54 48 60 20 69 73 20 AUTO_LENGTH` is 1540: 61 20 76 61 6c 75 65 20 6f 66 20 74 68 61 74 20 a value of that 1550: 74 79 70 65 20 74 68 61 74 20 69 6e 64 69 63 61 type that indica 1560: 74 65 73 20 74 68 61 74 0a 20 20 20 74 68 65 20 tes that. the 1570: 6c 65 6e 67 74 68 20 73 68 6f 75 6c 64 20 62 65 length should be 1580: 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 obtained using 1590: 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 an appropriate f 15a0: 75 6e 63 74 69 6f 6e 20 28 74 79 70 69 63 61 6c unction (typical 15b0: 6c 79 20 60 73 74 72 6c 65 6e 28 29 60 20 66 6f ly `strlen()` fo 15c0: 72 20 60 63 68 61 72 20 2a 60 20 76 61 6c 75 65 r `char *` value 15d0: 73 29 2e 0a 20 2d 20 45 6e 64 65 64 20 73 75 70 s).. - Ended sup 15e0: 70 6f 72 74 20 66 6f 72 20 60 54 63 6c 5f 43 68 port for `Tcl_Ch 15f0: 61 6e 6e 65 6c 54 79 70 65 56 65 72 73 69 6f 6e annelTypeVersion 1600: 60 20 6c 65 73 73 20 74 68 61 6e 20 35 0a 20 2d ` less than 5. - 1610: 20 49 6e 74 72 6f 64 75 63 65 64 20 76 65 72 73 Introduced vers 1620: 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 60 54 ioning of the `T 1630: 63 6c 5f 4f 62 6a 54 79 70 65 60 20 73 74 72 75 cl_ObjType` stru 1640: 63 74 0a 20 2d 20 52 65 6d 6f 76 65 64 20 6d 61 ct. - Removed ma 1650: 63 72 6f 73 20 60 43 4f 4e 53 54 2a 60 3a 20 54 cros `CONST*`: T 1660: 63 6c 20 39 20 73 75 70 70 6f 72 74 20 6d 65 61 cl 9 support mea 1670: 6e 73 20 64 72 6f 70 70 69 6e 67 20 54 63 6c 20 ns dropping Tcl 1680: 38 2e 33 20 73 75 70 70 6f 72 74 2e 0a 20 20 20 8.3 support.. 1690: 28 52 65 70 6c 61 63 65 64 20 77 69 74 68 20 73 (Replaced with s 16a0: 74 61 6e 64 61 72 64 20 43 20 60 63 6f 6e 73 74 tandard C `const 16b0: 60 20 6b 65 79 77 6f 72 64 20 67 6f 69 6e 67 20 ` keyword going 16c0: 66 6f 72 77 61 72 64 2e 29 0a 20 2d 20 52 65 6d forward.). - Rem 16d0: 6f 76 65 64 20 72 65 67 69 73 74 72 61 74 69 6f oved registratio 16e0: 6e 20 6f 66 20 73 65 76 65 72 61 6c 20 60 54 63 n of several `Tc 16f0: 6c 5f 4f 62 6a 54 79 70 65 60 73 2e 0a 20 2d 20 l_ObjType`s.. - 1700: 52 65 6d 6f 76 65 64 20 41 50 49 20 66 75 6e 63 Removed API func 1710: 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 60 54 63 tions:.. `Tc 1720: 6c 5f 42 61 63 6b 73 6c 61 73 68 28 29 60 2c 0a l_Backslash()`,. 1730: 20 20 20 20 20 60 54 63 6c 5f 2a 56 41 28 29 60 `Tcl_*VA()` 1740: 2c 0a 20 20 20 20 20 60 54 63 6c 5f 2a 4d 61 74 ,. `Tcl_*Mat 1750: 68 46 75 6e 63 2a 28 29 60 2c 0a 20 20 20 20 20 hFunc*()`,. 1760: 60 54 63 6c 5f 4d 61 6b 65 53 61 66 65 28 29 60 `Tcl_MakeSafe()` 1770: 2c 0a 20 20 20 20 20 60 54 63 6c 5f 28 53 61 76 ,. `Tcl_(Sav 1780: 65 7c 52 65 73 74 6f 72 65 7c 44 69 73 63 61 72 e|Restore|Discar 1790: 64 7c 46 72 65 65 29 52 65 73 75 6c 74 28 29 60 d|Free)Result()` 17a0: 2c 0a 20 20 20 20 20 60 54 63 6c 5f 45 76 61 6c ,. `Tcl_Eval 17b0: 54 6f 6b 65 6e 73 28 29 60 2c 0a 20 20 20 20 20 Tokens()`,. 17c0: 60 54 63 6c 5f 28 47 65 74 7c 53 65 74 29 44 65 `Tcl_(Get|Set)De 17d0: 66 61 75 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 faultEncodingDir 17e0: 28 29 60 2c 0a 20 20 20 20 20 60 54 63 6c 5f 55 ()`,. `Tcl_U 17f0: 6e 69 43 68 61 72 4e 28 63 61 73 65 29 63 6d 70 niCharN(case)cmp 1800: 28 29 60 2c 0a 20 20 20 20 20 60 54 63 6c 5f 55 ()`,. `Tcl_U 1810: 6e 69 43 68 61 72 43 61 73 65 4d 61 74 63 68 28 niCharCaseMatch( 1820: 29 60 0a 0a 20 2d 20 52 65 76 69 73 65 64 20 6d )`.. - Revised m 1830: 61 6e 79 20 69 6e 74 65 72 6e 61 6c 73 3b 20 62 any internals; b 1840: 65 77 61 72 65 20 72 65 6c 69 61 6e 63 65 20 6f eware reliance o 1850: 6e 20 75 6e 64 6f 63 75 6d 65 6e 74 65 64 20 62 n undocumented b 1860: 65 68 61 76 69 6f 72 73 2e 0a 0a 23 20 4e 65 77 ehaviors...# New 1870: 20 46 65 61 74 75 72 65 73 0a 0a 23 23 20 4e 65 Features..## Ne 1880: 77 20 63 6f 6d 6d 61 6e 64 73 0a 20 2d 20 60 61 w commands. - `a 1890: 72 72 61 79 20 64 65 66 61 75 6c 74 60 20 e2 80 rray default` � 18a0: 94 20 53 70 65 63 69 66 79 20 64 65 66 61 75 6c � Specify defaul 18b0: 74 20 76 61 6c 75 65 73 20 66 6f 72 20 61 72 72 t values for arr 18c0: 61 79 73 20 28 6e 6f 74 65 20 74 68 61 74 20 74 ays (note that t 18d0: 68 69 73 20 61 6c 74 65 72 73 20 74 68 65 20 62 his alters the b 18e0: 65 68 61 76 69 6f 75 72 20 6f 66 20 60 61 70 70 ehaviour of `app 18f0: 65 6e 64 60 2c 20 60 69 6e 63 72 60 2c 20 60 6c end`, `incr`, `l 1900: 61 70 70 65 6e 64 60 29 2e 0a 20 2d 20 60 61 72 append`).. - `ar 1910: 72 61 79 20 66 6f 72 60 20 e2 80 94 20 43 68 65 ray for` — Che 1920: 61 70 20 69 74 65 72 61 74 69 6f 6e 20 6f 76 65 ap iteration ove 1930: 72 20 61 6e 20 61 72 72 61 79 27 73 20 63 6f 6e r an array's con 1940: 74 65 6e 74 73 2e 0a 20 2d 20 60 63 68 61 6e 20 tents.. - `chan 1950: 69 73 62 69 6e 61 72 79 60 20 e2 80 94 20 54 65 isbinary` — Te 1960: 73 74 20 69 66 20 61 20 63 68 61 6e 6e 65 6c 20 st if a channel 1970: 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f is configured to 1980: 20 77 6f 72 6b 20 77 69 74 68 20 62 69 6e 61 72 work with binar 1990: 79 20 64 61 74 61 2e 0a 20 2d 20 60 63 6f 72 6f y data.. - `coro 19a0: 69 6e 6a 65 63 74 60 2c 20 60 63 6f 72 6f 70 72 inject`, `coropr 19b0: 6f 62 65 60 20 e2 80 94 20 49 6e 74 65 72 61 63 obe` — Interac 19c0: 74 20 77 69 74 68 20 70 61 75 73 65 64 20 63 6f t with paused co 19d0: 72 6f 75 74 69 6e 65 73 2e 0a 20 2d 20 60 63 6c routines.. - `cl 19e0: 6f 63 6b 20 61 64 64 20 77 65 65 6b 64 61 79 73 ock add weekdays 19f0: 60 20 e2 80 94 20 43 6c 6f 63 6b 20 61 72 69 74 ` — Clock arit 1a00: 68 6d 65 74 69 63 20 77 69 74 68 20 77 65 65 6b hmetic with week 1a10: 20 64 61 79 73 2e 0a 20 2d 20 60 63 6f 6e 73 74 days.. - `const 1a20: 60 2c 20 60 69 6e 66 6f 20 63 6f 6e 73 74 2a 60 `, `info const*` 1a30: 20 e2 80 94 20 43 6f 6d 6d 61 6e 64 73 20 66 6f — Commands fo 1a40: 72 20 64 65 66 69 6e 69 6e 67 20 63 6f 6e 73 74 r defining const 1a50: 61 6e 74 73 20 28 76 61 72 69 61 62 6c 65 73 20 ants (variables 1a60: 74 68 61 74 20 63 61 6e 27 74 20 62 65 20 6d 6f that can't be mo 1a70: 64 69 66 69 65 64 29 2e 0a 20 2d 20 60 64 69 63 dified).. - `dic 1a80: 74 20 67 65 74 77 69 74 68 64 65 66 61 75 6c 74 t getwithdefault 1a90: 60 20 e2 80 94 20 44 65 66 69 6e 65 20 61 20 66 ` — Define a f 1aa0: 61 6c 6c 62 61 63 6b 20 76 61 6c 75 65 20 74 6f allback value to 1ab0: 20 75 73 65 20 77 68 65 6e 20 60 64 69 63 74 20 use when `dict 1ac0: 67 65 74 60 20 77 6f 75 6c 64 20 6f 74 68 65 72 get` would other 1ad0: 77 69 73 65 20 66 61 69 6c 2e 0a 20 2d 20 60 66 wise fail.. - `f 1ae0: 69 6c 65 20 68 6f 6d 65 60 20 e2 80 94 20 47 65 ile home` — Ge 1af0: 74 20 74 68 65 20 75 73 65 72 20 68 6f 6d 65 20 t the user home 1b00: 64 69 72 65 63 74 6f 72 79 2e 0a 20 2d 20 60 66 directory.. - `f 1b10: 69 6c 65 20 74 65 6d 70 64 69 72 60 20 e2 80 94 ile tempdir` — 1b20: 20 43 72 65 61 74 65 20 61 20 74 65 6d 70 6f 72 Create a tempor 1b30: 61 72 79 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 ary directory.. 1b40: 2d 20 60 66 69 6c 65 20 74 69 6c 64 65 65 78 70 - `file tildeexp 1b50: 61 6e 64 60 20 e2 80 94 20 45 78 70 61 6e 64 20 and` — Expand 1b60: 61 20 66 69 6c 65 20 70 61 74 68 20 63 6f 6e 74 a file path cont 1b70: 61 69 6e 69 6e 67 20 61 20 60 7e 60 2e 0a 20 2d aining a `~`.. - 1b80: 20 60 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 74 79 `info commandty 1b90: 70 65 60 20 e2 80 94 20 49 6e 74 72 6f 73 70 65 pe` — Introspe 1ba0: 63 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 6b 69 ction for the ki 1bb0: 6e 64 73 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 2e nds of commands. 1bc0: 0a 20 2d 20 60 6c 65 64 69 74 60 20 e2 80 94 20 . - `ledit` — 1bd0: 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 60 6c Equivalent to `l 1be0: 72 65 70 6c 61 63 65 60 20 62 75 74 20 6f 6e 20 replace` but on 1bf0: 61 20 6c 69 73 74 20 69 6e 20 61 20 76 61 72 69 a list in a vari 1c00: 61 62 6c 65 2e 0a 20 2d 20 60 6c 70 6f 70 60 20 able.. - `lpop` 1c10: e2 80 94 20 52 65 6d 6f 76 65 20 61 6e 20 69 74 — Remove an it 1c20: 65 6d 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 69 em from a list i 1c30: 6e 20 61 20 76 61 72 69 61 62 6c 65 2e 0a 20 2d n a variable.. - 1c40: 20 60 6c 72 65 6d 6f 76 65 60 20 e2 80 94 20 52 `lremove` — R 1c50: 65 6d 6f 76 65 20 61 20 73 75 62 6c 69 73 74 20 emove a sublist 1c60: 66 72 6f 6d 20 61 20 6c 69 73 74 20 69 6e 20 61 from a list in a 1c70: 20 76 61 72 69 61 62 6c 65 2e 0a 20 2d 20 60 6c variable.. - `l 1c80: 73 65 71 60 20 e2 80 94 20 47 65 6e 65 72 61 74 seq` — Generat 1c90: 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 75 6d 62 e a list of numb 1ca0: 65 72 73 20 69 6e 20 61 20 73 65 71 75 65 6e 63 ers in a sequenc 1cb0: 65 2e 0a 20 2d 20 60 70 61 63 6b 61 67 65 20 66 e.. - `package f 1cc0: 69 6c 65 73 60 20 e2 80 94 20 44 65 73 63 72 69 iles` — Descri 1cd0: 62 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 be the contents 1ce0: 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 20 2d of a package.. - 1cf0: 20 60 73 74 72 69 6e 67 20 69 6e 73 65 72 74 60 `string insert` 1d00: 20 e2 80 94 20 49 6e 73 65 72 74 20 61 20 73 74 — Insert a st 1d10: 72 69 6e 67 20 61 73 20 61 20 73 75 62 73 74 72 ring as a substr 1d20: 69 6e 67 20 6f 66 20 61 6e 6f 74 68 65 72 20 73 ing of another s 1d30: 74 72 69 6e 67 2e 0a 20 2d 20 60 73 74 72 69 6e tring.. - `strin 1d40: 67 20 69 73 20 64 69 63 74 60 20 e2 80 94 20 54 g is dict` — T 1d50: 65 73 74 20 77 68 65 74 68 65 72 20 61 20 73 74 est whether a st 1d60: 72 69 6e 67 20 69 73 20 61 20 64 69 63 74 69 6f ring is a dictio 1d70: 6e 61 72 79 2e 0a 20 2d 20 60 74 63 6c 3a 3a 70 nary.. - `tcl::p 1d80: 72 6f 63 65 73 73 60 20 e2 80 94 20 43 6f 6d 6d rocess` — Comm 1d90: 61 6e 64 73 20 66 6f 72 20 77 6f 72 6b 69 6e 67 ands for working 1da0: 20 77 69 74 68 20 73 75 62 70 72 6f 63 65 73 73 with subprocess 1db0: 65 73 2e 0a 20 2d 20 60 2a 3a 3a 62 75 69 6c 64 es.. - `*::build 1dc0: 2d 69 6e 66 6f 60 20 e2 80 94 20 4f 62 74 61 69 -info` — Obtai 1dd0: 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 n information ab 1de0: 6f 75 74 20 74 68 65 20 62 75 69 6c 64 20 6f 66 out the build of 1df0: 20 54 63 6c 2e 0a 20 2d 20 60 72 65 61 64 46 69 Tcl.. - `readFi 1e00: 6c 65 60 2c 20 60 77 72 69 74 65 46 69 6c 65 60 le`, `writeFile` 1e10: 2c 20 60 66 6f 72 65 61 63 68 4c 69 6e 65 60 20 , `foreachLine` 1e20: e2 80 94 20 53 69 6d 70 6c 65 20 70 72 6f 63 65 — Simple proce 1e30: 64 75 72 65 73 20 66 6f 72 20 62 61 73 69 63 20 dures for basic 1e40: 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 66 69 6c working with fil 1e50: 65 73 2e 0a 20 2d 20 60 74 63 6c 3a 3a 69 64 6e es.. - `tcl::idn 1e60: 61 3a 3a 2a 60 20 e2 80 94 20 43 6f 6d 6d 61 6e a::*` — Comman 1e70: 64 73 20 66 6f 72 20 77 6f 72 6b 69 6e 67 20 77 ds for working w 1e80: 69 74 68 20 65 6e 63 6f 64 65 64 20 44 4e 53 20 ith encoded DNS 1e90: 6e 61 6d 65 73 2e 0a 0a 23 23 20 4e 65 77 20 63 names...## New c 1ea0: 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 73 0a 20 ommand options. 1eb0: 2d 20 60 63 68 61 6e 20 63 6f 6e 66 69 67 75 72 - `chan configur 1ec0: 65 20 2e 2e 2e 20 2d 69 6e 70 75 74 6d 6f 64 65 e ... -inputmode 1ed0: 20 2e 2e 2e 60 20 e2 80 94 20 53 75 70 70 6f 72 ...` — Suppor 1ee0: 74 20 66 6f 72 20 72 61 77 20 74 65 72 6d 69 6e t for raw termin 1ef0: 61 6c 20 69 6e 70 75 74 20 61 6e 64 20 72 65 61 al input and rea 1f00: 64 69 6e 67 20 70 61 73 73 77 6f 72 64 73 2e 0a ding passwords.. 1f10: 20 2d 20 60 63 6c 6f 63 6b 20 73 63 61 6e 20 2e - `clock scan . 1f20: 2e 2e 20 2d 76 61 6c 69 64 61 74 65 20 2e 2e 2e .. -validate ... 1f30: 60 0a 20 2d 20 60 69 6e 66 6f 20 6c 6f 61 64 65 `. - `info loade 1f40: 64 20 2e 2e 2e 20 3f 70 72 65 66 69 78 3f 60 0a d ... ?prefix?`. 1f50: 20 2d 20 60 6c 73 65 61 72 63 68 20 2e 2e 2e 20 - `lsearch ... 1f60: 2d 73 74 72 69 64 65 20 2e 2e 2e 60 20 e2 80 94 -stride ...` — 1f70: 20 53 65 61 72 63 68 20 61 20 6c 69 73 74 20 62 Search a list b 1f80: 79 20 67 72 6f 75 70 73 20 6f 66 20 69 74 65 6d y groups of item 1f90: 73 2e 0a 20 2d 20 60 72 65 67 73 75 62 20 2e 2e s.. - `regsub .. 1fa0: 2e 20 2d 63 6f 6d 6d 61 6e 64 20 2e 2e 2e 60 20 . -command ...` 1fb0: e2 80 94 20 47 65 6e 65 72 61 74 65 20 74 68 65 — Generate the 1fc0: 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 replacement for 1fd0: 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 a regular expre 1fe0: 73 73 69 6f 6e 20 62 79 20 63 61 6c 6c 69 6e 67 ssion by calling 1ff0: 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2d 20 60 a command.. - ` 2000: 73 6f 63 6b 65 74 20 2e 2e 2e 20 2d 6e 6f 64 65 socket ... -node 2010: 6c 61 79 20 2e 2e 2e 20 2d 6b 65 65 70 61 6c 69 lay ... -keepali 2020: 76 65 20 2e 2e 2e 60 0a 20 2d 20 60 76 77 61 69 ve ...`. - `vwai 2030: 74 60 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 t` controlled by 2040: 20 73 65 76 65 72 61 6c 20 6e 65 77 20 6f 70 74 several new opt 2050: 69 6f 6e 73 0a 20 2d 20 60 65 78 70 72 60 20 73 ions. - `expr` s 2060: 74 72 69 6e 67 20 63 6f 6d 70 61 72 61 74 6f 72 tring comparator 2070: 73 20 60 6c 74 60 2c 20 60 67 74 60 2c 20 60 6c s `lt`, `gt`, `l 2080: 65 60 2c 20 60 67 65 60 0a 20 2d 20 60 65 78 70 e`, `ge`. - `exp 2090: 72 60 20 73 75 70 70 6f 72 74 73 20 63 6f 6d 6d r` supports comm 20a0: 65 6e 74 73 20 69 6e 73 69 64 65 20 65 78 70 72 ents inside expr 20b0: 65 73 73 69 6f 6e 73 0a 0a 23 23 20 4e 75 6d 62 essions..## Numb 20c0: 65 72 73 0a 20 2d 20 3c 63 6f 64 65 3e 30 3c 69 ers. - <code>0<i 20d0: 3e 4e 4e 4e 3c 2f 69 3e 3c 2f 63 6f 64 65 3e 20 >NNN</i></code> 20e0: 66 6f 72 6d 61 74 20 69 73 20 6e 6f 20 6c 6f 6e format is no lon 20f0: 67 65 72 20 6f 63 74 61 6c 20 69 6e 74 65 72 70 ger octal interp 2100: 72 65 74 61 74 69 6f 6e 2e 20 55 73 65 20 3c 63 retation. Use <c 2110: 6f 64 65 3e 30 6f 3c 69 3e 4e 4e 4e 3c 2f 69 3e ode>0o<i>NNN</i> 2120: 3c 2f 63 6f 64 65 3e 2e 0a 20 2d 20 3c 63 6f 64 </code>.. - <cod 2130: 65 3e 30 64 3c 69 3e 4e 4e 4e 4e 3c 2f 69 3e 3c e>0d<i>NNNN</i>< 2140: 2f 63 6f 64 65 3e 20 66 6f 72 6d 61 74 20 74 6f /code> format to 2150: 20 63 6f 6d 70 65 6c 20 64 65 63 69 6d 61 6c 20 compel decimal 2160: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2e 0a interpretation.. 2170: 20 2d 20 3c 63 6f 64 65 3e 4e 4e 5f 4e 4e 4e 5f - <code>NN_NNN_ 2180: 4e 4e 4e 3c 2f 63 6f 64 65 3e 2c 20 75 6e 64 65 NNN</code>, unde 2190: 72 73 63 6f 72 65 73 20 69 6e 20 6e 75 6d 62 65 rscores in numbe 21a0: 72 73 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 rs for optional 21b0: 72 65 61 64 61 62 69 6c 69 74 79 0a 20 2d 20 46 readability. - F 21c0: 75 6e 63 74 69 6f 6e 73 3a 20 60 69 73 69 6e 66 unctions: `isinf 21d0: 28 29 60 2c 20 60 69 73 6e 61 6e 28 29 60 2c 20 ()`, `isnan()`, 21e0: 60 69 73 6e 6f 72 6d 61 6c 28 29 60 2c 20 60 69 `isnormal()`, `i 21f0: 73 73 75 62 6e 6f 72 6d 61 6c 28 29 60 2c 20 60 ssubnormal()`, ` 2200: 69 73 75 6e 6f 72 64 65 72 65 64 28 29 60 0a 20 isunordered()`. 2210: 2d 20 43 6f 6d 6d 61 6e 64 3a 20 60 66 70 63 6c - Command: `fpcl 2220: 61 73 73 69 66 79 60 0a 20 2d 20 46 75 6e 63 74 assify`. - Funct 2230: 69 6f 6e 20 60 69 6e 74 28 29 60 20 6e 6f 20 6c ion `int()` no l 2240: 6f 6e 67 65 72 20 74 72 75 6e 63 61 74 65 73 20 onger truncates 2250: 74 6f 20 77 6f 72 64 20 73 69 7a 65 0a 0a 23 23 to word size..## 2260: 20 54 63 6c 4f 4f 20 66 61 63 69 6c 69 74 69 65 TclOO facilitie 2270: 73 0a 20 2d 20 70 72 69 76 61 74 65 20 76 61 72 s. - private var 2280: 69 61 62 6c 65 73 20 61 6e 64 20 6d 65 74 68 6f iables and metho 2290: 64 73 0a 20 2d 20 63 6c 61 73 73 20 76 61 72 69 ds. - class vari 22a0: 61 62 6c 65 73 20 61 6e 64 20 6d 65 74 68 6f 64 ables and method 22b0: 73 0a 20 2d 20 61 62 73 74 72 61 63 74 20 61 6e s. - abstract an 22c0: 64 20 73 69 6e 67 6c 65 74 6f 6e 20 63 6c 61 73 d singleton clas 22d0: 73 65 73 0a 20 2d 20 63 6f 6e 66 69 67 75 72 61 ses. - configura 22e0: 62 6c 65 20 70 72 6f 70 65 72 74 69 65 73 0a 20 ble properties. 22f0: 2d 20 60 6d 65 74 68 6f 64 20 2d 65 78 70 6f 72 - `method -expor 2300: 74 60 2c 20 60 6d 65 74 68 6f 64 20 2d 75 6e 65 t`, `method -une 2310: 78 70 6f 72 74 60 0a 0a 23 20 4b 6e 6f 77 6e 20 xport`..# Known 2320: 62 75 67 73 0a 20 2d 20 5b 63 68 61 6e 67 65 64 bugs. - [changed 2330: 20 62 65 68 61 76 69 6f 75 72 20 77 72 74 20 63 behaviour wrt c 2340: 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 2c 20 6e 61 ommand names, na 2350: 6d 65 73 70 61 63 65 73 20 61 6e 64 20 72 65 73 mespaces and res 2360: 6f 6c 75 74 69 6f 6e 5d 28 68 74 74 70 73 3a 2f olution](https:/ 2370: 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e 6f /core.tcl-lang.o 2380: 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f 66 rg/tcl/tktview/f 2390: 31 34 62 33 33 29 0a 20 2d 20 5b 77 69 6e 64 6f 14b33). - [windo 23a0: 77 73 20 64 6f 73 20 64 65 76 69 63 65 20 70 61 ws dos device pa 23b0: 74 68 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 ths inconsistenc 23c0: 69 65 73 20 61 6e 64 20 6d 69 73 73 69 6e 67 20 ies and missing 23d0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 5d 28 68 functionality](h 23e0: 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d ttps://core.tcl- 23f0: 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 lang.org/tcl/tkt 2400: 76 69 65 77 2f 64 38 66 31 32 31 29 0a 20 2d 20 view/d8f121). - 2410: 5b 6c 6f 61 64 20 6c 69 62 72 61 72 79 20 28 64 [load library (d 2420: 6c 6c 29 20 66 72 6f 6d 20 7a 69 70 66 73 2d 6c ll) from zipfs-l 2430: 69 62 72 61 72 79 20 63 61 75 73 65 73 20 61 20 ibrary causes a 2440: 6c 65 61 6b 20 69 6e 20 74 65 6d 70 6f 72 61 72 leak in temporar 2450: 79 20 66 6f 6c 64 65 72 5d 28 68 74 74 70 73 3a y folder](https: 2460: 2f 2f 63 6f 72 65 2e 74 63 6c 2d 6c 61 6e 67 2e //core.tcl-lang. 2470: 6f 72 67 2f 74 63 6c 2f 74 6b 74 76 69 65 77 2f org/tcl/tktview/ 2480: 61 38 65 34 66 37 29 0a 20 2d 20 5b 6c 73 65 61 a8e4f7). - [lsea 2490: 72 63 68 20 2d 73 6f 72 74 65 64 20 2d 69 6e 6c rch -sorted -inl 24a0: 69 6e 65 20 2d 73 75 62 69 6e 64 69 63 65 73 20 ine -subindices 24b0: 69 6e 63 6f 72 72 65 63 74 20 72 65 73 75 6c 74 incorrect result 24c0: 5d 28 68 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 ](https://core.t 24d0: 63 6c 2d 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f cl-lang.org/tcl/ 24e0: 74 6b 74 76 69 65 77 2f 62 63 34 61 63 30 29 0a tktview/bc4ac0). 24f0: 20 2d 20 5b 22 4e 6f 20 65 72 72 6f 72 22 20 77 - ["No error" w 2500: 68 65 6e 20 6c 6f 61 64 20 66 61 69 6c 73 20 64 hen load fails d 2510: 75 65 20 74 6f 20 61 20 6d 69 73 73 69 6e 67 20 ue to a missing 2520: 73 65 63 6f 6e 64 61 72 79 20 44 4c 4c 5d 28 68 secondary DLL](h 2530: 74 74 70 73 3a 2f 2f 63 6f 72 65 2e 74 63 6c 2d ttps://core.tcl- 2540: 6c 61 6e 67 2e 6f 72 67 2f 74 63 6c 2f 74 6b 74 lang.org/tcl/tkt 2550: 76 69 65 77 2f 62 63 34 61 63 30 29 0a 0a view/bc4ac0)..
