Tcl Source Code

All files named "generic/tclStringObj.c"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for generic/tclStringObj.c

2024-10-07
19:52
Merge [1f19a433ece17043]: Fix ungrammatical doubling of words in comments. file: [8fa96fb538] check-in: [9a9ba6ce11] user: pooryorick branch: unchained, size: 120093
19:02
Update bytecode instruction implementations so that Tcl_Obj interface functions are used if they are available, and all existing tests in objInterface.test pass. file: [03eab4525f] check-in: [b99baa5ce5] user: pooryorick branch: unchained, size: 120050
2024-09-21
08:41
Fix ungrammatical doubling of words in comments file: [2d024ced95] check-in: [1f19a433ec] user: dkf branch: main, size: 118542
2024-08-30
20:38
Remove unnecessary checks of allocSegment that were introduced in the previous merge. file: [2519604803] check-in: [4be13940ed] user: pooryorick branch: unchained, size: 119983
20:28
Merge [71923cd05371e8ad]: merge release. file: [96d04b19e3] check-in: [b7fb38f106] user: pooryorick branch: unchained, size: 120043
2024-08-29
19:21
Merge [810eb78647bbdf9b]: TIP #697: 32-bit truncation in format and scan (let's gain some time). file: [1b0c88bfb3] check-in: [cc35134867] user: pooryorick branch: unchained, size: 119925
08:23
Merge [f6c559b364487a9d]: Space before tab is an extremely unlikely to be correct indentation pattern. file: [266c23745e] check-in: [8a11a89576] user: pooryorick branch: unchained, size: 120266
05:50
Merge [39eee6cff88a3b68]: Some tidying up, mostly of indentation. file: [c003eb5d4d] check-in: [c179fcc606] user: pooryorick branch: unchained, size: 120314
05:22
Merge [3d5e024e64e79fcf]: Fix [9c258a841a]: document %t/%z/%j/%q size field specifiers. Fix %j/%z/%t matching the C printf. file: [69078eb640] check-in: [0780a92568] user: pooryorick branch: unchained, size: 120328
2024-08-28
19:49
Merge [b4a4d46ce04a5a62]: Better flag up the oo::Slot class in the docs, add missing method [28d6013ae6]. file: [c24e050ab4] check-in: [34763ffa19] user: pooryorick branch: unchained, size: 119993
16:33
Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: [e8e19d4f84] check-in: [627781a6db] user: pooryorick branch: unchained, size: 119983
2024-08-27
21:31
Merge [835b1a5566c28af4]: More whitespace cleanup. file: [e172374663] check-in: [fc7d06c8b8] user: pooryorick branch: unchained, size: 119872
11:14
Merge [295715a1b1b2c3d5]: "One more TclHasInternalRep()" and fix inadvertent inversion of logic. file: [24dc7e5dac] check-in: [8dd140f624] user: pooryorick branch: unchained, size: 119874
10:50
Fix logic that was inadvertently inverted back in [295715a1b1b2c3d5] file: [70a8a0b1dd] check-in: [5ffd5f90b8] user: pooryorick branch: main, size: 118538
10:40
Merge [22cb6d973e5b8327]: Use TclHasInternalRep() macro in more places. file: [4204099d77] check-in: [17b13231f6] user: pooryorick branch: unchained, size: 119856
2024-08-26
22:08
Merge [4a704590fe9d36b2]: encodingPtr -> encodingNamePtr (for consistency). file: [d341d11964] check-in: [ff09f3b8ba] user: pooryorick branch: unchained, size: 119840
14:21
Merge [5d52c6d7302b320e]: Fix [edb4b065f4] - crash on string compare. file: [921a06e43c] check-in: [551f710347] user: pooryorick branch: unchained, size: 119841
11:01
Merge [8fd228c66035f615]: Put back line accidently removed. file: [ace8ea1647] check-in: [20e1bbea29] user: pooryorick branch: unchained, size: 119839
11:01
Merge [9b8a66aff6923a69]: Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!). file: [67ea38888d] check-in: [9f27ea7880] user: pooryorick branch: unchained, size: 119806
09:54
Merge [9a59cf84995963c5]: More spacing/formatting tweaks. file: [c6cda9f010] check-in: [33360d10e4] user: pooryorick branch: unchained, size: 119865
09:45
Merge [1fbff64078d7fb02]: Fix indentation/brace usage style issues. file: [2f853ca0f0] check-in: [bd3faf4a67] user: pooryorick branch: unchained, size: 119888
2024-08-25
20:44
Merge [63d442cdc0d0d498]: "Restore TclListObjGetElements()/TclListObjLength() as they were in 8.6 too."

Also remove TclListObjGetElements and TclListObjLength from the stubs table. file: [1f9822d5f5] check-in: [891803cf8c] user: pooryorick branch: unchained, size: 119806

11:05
Merge [f1cef9d6c96f7ce5]: Fix util-18.13/util-18.14 constraint, which masked the wrong result on 64-bit windows. Fixed that as well. file: [744bf5bf63] check-in: [278f6064f8] user: pooryorick branch: unchained, size: 119808
11:04
Merge [b9cc5534cc5ed0b3]: Fix indenting and remove asserts that were commented out. file: [abec9c7634] check-in: [96267fd1d7] user: pooryorick branch: unchained, size: 119974
08:33
Merge [f08e71ebd9742f29]: Fix [0d78177f20]: unsigned use of Tcl_ObjPrintf() doesn't work as expected. With testcases. file: [8f16d372bb] check-in: [b826c4d1e8] user: pooryorick branch: unchained, size: 120375
08:20
Merge [a4f2b185777ab206]: Final fix for [db4f2843cd]: Segfault by BO in ReadChars (and Tcl_ReadChars with append). file: [349b91845e] check-in: [103eef358c] user: pooryorick branch: unchained, size: 119762
05:36
Merge [c83fa73b65ca3849]: Fix [abd489a1c]: TclStringCmp() calls functions through pointer to incorrect type. file: [4af553aa31] check-in: [c9ab508174] user: pooryorick branch: unchained, size: 118796
2024-08-23
14:00
Merge [252948ef015ff03e]: Fix binary/format/string testcase failures on 32-bit platforms. Reported by Harald Oehlmann. file: [7986949a29] check-in: [b66f7a1859] user: pooryorick branch: unchained, size: 115909
10:46
Merge [3d21abe8464432b2]: Tcl_GetByteArrayFromObj -> Tcl_GetBytesFromObj everywhere in core, since it has the possibility of better error-reporting. This fixes the -DTCL_NO_DEPRECATED build failure. file: [3c3a3194f6] check-in: [df9e95d3b7] user: pooryorick branch: unchained, size: 115926
2024-08-22
20:52
Merge [f67f60d202716adf]: Fix [26870862f0]: Wrong sentinel in Tcl_SetErrorCode usage; Handle any C++-compiler as well. file: [bdcf8b7db7] check-in: [e18c9ab9f6] user: pooryorick branch: unchained, size: 115876
09:11
Merge [410d0ff3eb5e0b31], "Bug [f5e36eb588] - uncompiled lassign memory usage for lseq". Replace Tcl_ObjInterfaceSetFnListSetFlat with Tcl_ObjInterfaceSetFnListSetDeep, and change the signatures of Tcl_ObjInterfaceSetFnListSet and Tcl_ObjInterfaceSetFnListSetDeep. Make all Tcl_Obj interface functions return a standard Tcl value. file: [1f733a5700] check-in: [89d323ba4d] user: pooryorick branch: unchained, size: 115788
2024-08-20
20:41
Merge [f46e5b193a336295]: Fix bug [891a74b941] - format %#d not consistent with other radix prefixes. file: [19685c34b1] check-in: [3f2368cce4] user: pooryorick branch: unchained, size: 115280
20:04
Merge [d24c3420fa4add26], TIP #665: Remove support for internal utf-16. file: [09b32dd422] check-in: [77d9dffc85] user: pooryorick branch: unchained, size: 115189
17:28
Merge [06dbbb7dbc17e375], "Merge 8.7 - Fix [b5ac3e3786] - Tcl_GetUniChar oob read". file: [e26e454708] check-in: [f6110039af] user: pooryorick branch: unchained, size: 115220
2024-08-19
16:03
Merge [354b22cef810c880], " Add (hopefully confincing) testcase for bug [e58d7e19e9]" and resolve conflicts. Add string.isEmpty interface for Tcl_Obj values and modify TclCheckEmptyString to use it. Also modify TclCheckEmptyString to accept a Tcl_Interp arg and return a standard Tcl result. file: [2ff4ef98c8] check-in: [be88ae27ad] user: pooryorick branch: unchained, size: 115143
2024-08-05
22:44
Missed some backports from 9.0. Some indenting file: [27d8e004ec] check-in: [41996582d5] user: jan.nijtmans branch: core-8-branch, size: 128182
2024-07-30
16:54
Plug memory leak in format-19.4.1 file: [874fd9d3a2] check-in: [47a734b4e6] user: dgp branch: core-9-0-b3-rc, size: 118537
2024-07-20
15:59
Merge trunk [91c2f411e7e71552], TIP #636 (tip-636-tcl9-644), resolve all conflicts including those resulting from conflicting Tcl_Obj interface implementations, and relicense under GNU Affero General Public License. All tests pass. file: [d9a707da31] check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 113927
2024-06-12
14:00
Merge trunk file: [a26f27c228] check-in: [cf8a455aeb] user: apnadkarni branch: apn-experiment-chardet, size: 118419
2024-06-04
15:35
Space before tab is an extremely unlikely to be correct indentation pattern file: [5682a2ea67] check-in: [f6c559b364] user: dkf branch: main, size: 118760
2024-06-01
16:13
Some tidying up, mostly of indentation file: [28720e80bc] check-in: [39eee6cff8] user: dkf branch: main, size: 118817
2024-05-31
09:30
Make 'I', 'I32', 'I64' only available on Windows, because they serve no purpose on other platforms. file: [a43247190c] check-in: [01e6a242c4] user: jan.nijtmans branch: bug-9c258a841a, size: 128324
09:16
Make a start with new TIP implementation, handling '%d' for 'format' and '%d'/'L'/'z'/'t'/'q'/'j' for 'scan' file: [ca9c019fdb] check-in: [4fe0d34f53] user: jan.nijtmans branch: tip-697, size: 118490
2024-05-30
22:02
Fix [9c258a841a]: document %t/%z/%j/%q size field specifiers. Fix %j/%z/%t matching the C printf file: [ab97212bc6] check-in: [3d5e024e64] user: jan.nijtmans branch: main, size: 118831
21:26
Let's [fix] the j%j/%q type specifiers, so they behave like C in scripts, and document them file: [04b5537ccd] check-in: [0c66ee7d75] user: jan.nijtmans branch: bug-9c258a841a, size: 128064
2024-05-29
15:20
Let's [fix] the %p/%z/%t type specifiers, so they behave like C in scripts, and document them file: [1b2ee0a3fe] check-in: [2d6520b382] user: jan.nijtmans branch: bug-9c258a841a, size: 127937
2024-05-28
12:38
Make TclGlob() a static function. Sentinel/indenting/comment improvements (all backported from 8.7) file: [f435d5450a] check-in: [5f6c7373c1] user: jan.nijtmans branch: core-8-6-branch, size: 83165
2024-05-27
20:19
Some more functions for lists, a bit like the ones for dicts file: [3c83e47632] check-in: [80e4f71f99] user: dkf branch: dkf/experimental-more-list-c-funcs, size: 83177
2024-05-23
13:44
Merge 8.7 file: [c73d102397] check-in: [b4a4d46ce0] user: jan.nijtmans branch: main, size: 118496
12:00
Merge 8.6 file: [ddad9faab2] check-in: [37b8b3fdaf] user: jan.nijtmans branch: core-8-branch, size: 127729
11:52
Fix 2 warnings on Win32 (Thanks, Harald). Some more code cleanup, backported from 8.7) file: [409ed6f48c] check-in: [73474e33a9] user: jan.nijtmans branch: core-8-6-branch, size: 83225
08:53
More trickery with macros file: [393e1e84dd] check-in: [a3f9c1bec2] user: dkf branch: more-macros, size: 118300
2024-05-20
16:38
merge trunk file: [7df1f71068] check-in: [3fd88cd4cd] user: dkf branch: result-helpers, size: 118319
2024-05-14
16:06
Add helper macros TclSetResult and TclPrintfResult file: [84f3b301a6] check-in: [0b65fb9e0c] user: dkf branch: result-helpers, size: 118328
2024-05-13
19:57
Rebuild the stub table, add attributes to func definitions file: [ba8d0536ac] check-in: [a396528193] user: dkf branch: sentinel, size: 118527
15:41
Clean up a lot of small whitespace issues

This is the dullest commit ever. Sorry. file: [6f5ca16f0c] check-in: [3a60363aa1] user: dkf branch: main, size: 118514

2024-05-02
14:54
put (back) comment file: [5a6ecabe6a] check-in: [6ffee5b2cb] user: jan.nijtmans branch: rfe-4b12ccb336, size: 84541
13:05
A little bit more minimum file: [af202c7e9d] check-in: [6f3cfbaafa] user: jan.nijtmans branch: rfe-4b12ccb336, size: 84495
12:46
Minimum backport [4b12ccb336] to Tcl 8.6. If we do %lld/%llu we should do the %I32/%I64 (microsoft-)variants as well, otherwise TCL_LL_MODIFIER only is usable on non-Windows platforms file: [a79d326884] check-in: [96aa2c6b01] user: jan.nijtmans branch: rfe-4b12ccb336, size: 84590
11:12
Remove COMPAT==0 part, no longer makes sense. More code-cleanup, backported from 8.7 file: [6837c9052e] check-in: [f5665fcac2] user: jan.nijtmans branch: core-8-6-branch, size: 83522
2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: [10927d786f] check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 118517
2024-04-18
15:06
Tidy up some indentation and other little code style issues file: [05927248be] check-in: [cb11914788] user: dkf branch: tidy-indentation, size: 118514
2024-04-10
15:35
One more TclHasInternalRep() file: [be56d44cbe] check-in: [295715a1b1] user: jan.nijtmans branch: main, size: 118516
15:26
Merge 8.7 file: [e22f6e8e53] check-in: [22cb6d973e] user: jan.nijtmans branch: main, size: 118510
14:47
Merge 8.6 Use TclHasInternalRep() macro in more places. file: [f8c9585b76] check-in: [d326acc1c9] user: jan.nijtmans branch: core-8-branch, size: 127741
2024-04-04
12:35
Merge 8.7. encodingPtr -> encodingNamePtr (for consistency) file: [9064dc30f7] check-in: [4a704590fe] user: jan.nijtmans branch: main, size: 118494
11:44
Merge 8.6 file: [befb9d4f03] check-in: [09cdca236b] user: jan.nijtmans branch: core-8-branch, size: 127718
11:09
Tcl_GetString() -> TclGetString(), for minor speedup. file: [2043321aac] check-in: [0256b2a319] user: jan.nijtmans branch: core-8-6-branch, size: 85871
2024-03-27
20:18
fixes SF [edb4b065f49b9e51]: cherry-picked from 5d52c6d7302b320e] file: [400cc66984] check-in: [ac30912bcc] user: sebres branch: core-8-branch, size: 127724
16:14
Proposed fix for [edb4b065f4] file: [71b2b587f1] check-in: [f5f42a6211] user: apnadkarni branch: bug-edb4b065f4, size: 118495
2024-03-21
13:55
Merge 8.7. Tcl_GetStringFromObj() -> TclGetStringFromObj() (optimization) file: [07868d809b] check-in: [28e5e230b6] user: jan.nijtmans branch: main, size: 118493
2024-03-20
20:40
put back line accidently removed file: [35c55e2c36] check-in: [8fd228c660] user: jan.nijtmans branch: main, size: 118509
20:29
Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!) file: [10a5b75cc3] check-in: [9b8a66aff6] user: jan.nijtmans branch: main, size: 118476
20:09
Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!) file: [53eedbc5e6] check-in: [3186ba81a2] user: jan.nijtmans branch: core-8-branch, size: 127722
2024-03-19
17:09
more spacing/formatting tweaks file: [1c26d25a0a] check-in: [9a59cf8499] user: dkf branch: main, size: 118535
14:56
Fix indentation/brace usage style issues file: [12f26e6d4d] check-in: [1fbff64078] user: dkf branch: main, size: 118558
2024-03-13
09:45
Restore TclListObjLength()/TclListObjGetElements() macro's, as they were in 8.6 file: [4b3a88a84a] check-in: [c575f9dc00] user: jan.nijtmans branch: core-8-branch, size: 127723
2024-03-12
21:24
Restore TclListObjGetElements()/TclListObjLength() as they were in 8.6 too. file: [f1e338bbbb] check-in: [63d442cdc0] user: jan.nijtmans branch: main, size: 118473
2024-02-08
12:15
Backport Tcl_ObjPrintf "ll" (and "I32/64") from Tcl 8.7 (again) file: [f79f381d00] check-in: [139b450167] user: jan.nijtmans branch: rfe-2089279, size: 86943
2024-02-06
09:55
Merge 8.7 file: [df0d4b4e2f] check-in: [f1cef9d6c9] user: jan.nijtmans branch: main, size: 118475
09:41
Fix util-18.13/util-18.14 constraint, which masked the wrong result on 64-bit windows. Fixed that as well. file: [ae3b764c0b] check-in: [d1c674d649] user: jan.nijtmans branch: core-8-branch, size: 127725
2024-02-05
21:12
Merge 8.7 file: [75922bad3c] check-in: [b9cc5534cc] user: jan.nijtmans branch: main, size: 118641
21:02
Merge 8.6 file: [148ca59848] check-in: [8060f3f83d] user: jan.nijtmans branch: core-8-branch, size: 127891
18:02
Fix indenting file: [071c6347cd] check-in: [64110c20ee] user: jan.nijtmans branch: core-8-6-branch, size: 85872
15:26
Fix [2089279]: StringObj.3 Tcl_ObjPrintf inaccuracies. Not only the documentation, also the behavior in the "unsigned long" case was wrong. Testcases added. file: [ab98f1ed84] check-in: [0e4c7187e7] user: jan.nijtmans branch: core-8-6-branch, size: 85919
2024-02-01
21:47
Merge 8.7 file: [6e7c50fc8e] check-in: [f08e71ebd9] user: jan.nijtmans branch: main, size: 119042
21:44
Fix [0d78177f20]: unsigned use of Tcl_ObjPrintf() doesn't work as expected. With testcases. file: [8998884352] check-in: [7abae71820] user: jan.nijtmans branch: core-8-branch, size: 128274
2024-01-31
16:29
Backport Tcl_ObjPrintf "ll" (and "I32/64") from Tcl 8.7 file: [4d124814fb] check-in: [c6795d89c8] user: jan.nijtmans branch: rfe-2089279, size: 86350
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: [1a2e4fab92] check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 118373
2024-01-29
15:42
merge 8.7 file: [be57c4388d] check-in: [a4f2b18577] user: sebres branch: main, size: 118429
15:26
merge 8.6 file: [8b99e3baea] check-in: [902ceac239] user: sebres branch: core-8-branch, size: 127661
13:55
closes [db4f2843cd]: fixes SF by BO in ReadChars (and Tcl_ReadChars with append) caused by wrong buffer enlarge if objPtr shimmering to unicode for whatever reason, since Tcl_AppendToObj prefers unicode to bytes, whereas TclAppendUtfToUtf always extend bytes (that handled by ReadChars) file: [8a25497839] check-in: [37e659d589] user: sebres branch: fix-db4f2843cd, size: 85549
2023-12-29
23:54
Fix [abd489a1c]: TclStringCmp() calls functions through pointer to incorrect type file: [607ac0b371] check-in: [c83fa73b65] user: jan.nijtmans branch: main, size: 117463
12:39
Merge 8.6 file: [8f972227cf] check-in: [b307c14710] user: jan.nijtmans branch: core-8-branch, size: 126695
2023-11-16
19:26
Fix binary/format/string testcase failures on 32-bit platforms. Reported by Harald Oehlmann. file: [185dbaa916] check-in: [252948ef01] user: jan.nijtmans branch: main, size: 114576
2023-11-08
09:12
Tcl_GetByteArrayFromObj -> Tcl_GetBytesFromObj everywhere in core, since it has the possibility of better error-reporting. This fixes the -DTCL_NO_DEPRECATED build failure file: [314ee2bea8] check-in: [3d21abe846] user: jan.nijtmans branch: main, size: 114593
2023-10-19
18:48
Merge 8.7 file: [e57ba3b19f] check-in: [f67f60d202] user: jan.nijtmans branch: main, size: 114543
2023-10-17
06:02
Handle sentinels for any C++ compiler file: [f34278e81f] check-in: [6876d1f99a] user: jan.nijtmans branch: bug-26870862f0, size: 125846
2023-09-18
10:27
int -> Tcl_Size (where appropriate) file: [3157d533df] check-in: [1e6ccfd68f] user: jan.nijtmans branch: core-8-branch, size: 125758
06:30
Backport [891a74b941]: format %#d not consistent with other radix prefixes or TIP 472 description file: [16c4379230] check-in: [4eec7c7f53] user: jan.nijtmans branch: core-8-branch, size: 125334
2023-09-16
00:44
Fix bug [891a74b941] - format %#d not consistent with other radix prefixes file: [1a1a13fcf4] check-in: [f46e5b193a] user: griffin branch: main, size: 114455
2023-09-12
10:11
Merge 8.7 file: [edee81a180] check-in: [d24c3420fa] user: jan.nijtmans branch: main, size: 114364
07:45
TIP #665: Remove support for internal utf-16 for Tcl 8.7 (and 9.0) file: [9cdc9c9797] check-in: [f28f0f4b68] user: jan.nijtmans branch: core-8-branch, size: 125390
2023-09-11
14:43
TIP #666 implementation: Change ptrdiff_t → Tcl_Size in Tcl 8.7 (and 9.0) file: [36cfd03c21] check-in: [989de6a72a] user: jan.nijtmans branch: core-8-branch, size: 127813
2023-09-05
07:02
Merge 8.7 - Fix [b5ac3e3786] - Tcl_GetUniChar oob read file: [e87ecd1a1c] check-in: [06dbbb7dbc] user: apnadkarni branch: main, size: 116706
06:42
Merge 8.6 - Fix [b5ac3e3786] - Tcl_GetUniChar oob read file: [a30479229c] check-in: [fed73e58ba] user: apnadkarni branch: core-8-branch, size: 128458
05:48
Fix [b5ac3e3786] - Tcl_GetUniChar oob read file: [b699d4f79b] check-in: [fc13863a82] user: apnadkarni branch: bug-b5ac3e3786, size: 84588
2023-07-26
11:29
Rebase to 8.7 file: [ad00461de7] check-in: [6ed8dddae4] user: jan.nijtmans branch: tip-666, size: 127736
2023-07-09
12:54
missed a few file: [b558fd6c0d] check-in: [6fb182d222] user: jan.nijtmans branch: tip-665, size: 125912
12:41
Rebase to 8.7 file: [d0381d8886] check-in: [7bf8d24ff3] user: jan.nijtmans branch: tip-665, size: 125917
2023-07-06
16:13
off-by-one. Minor optimization file: [49839218e9] check-in: [627b07acdd] user: jan.nijtmans branch: bug-c5bcbf3494, size: 128381
15:07
Proposed fix for [c5bcbf3494]: Output of surrogates seems to repeat following character. Also use more ***_SURROGATE() macro's file: [f2c2bc931d] check-in: [ef717df5a5] user: jan.nijtmans branch: bug-c5bcbf3494, size: 128379
2023-06-26
07:24
Merge unchained branch [22400aa71b] and resolve conflicts. file: [6f36c109ee] check-in: [961f58e148] user: pooryorick branch: pyk-objinterface, size: 113573
2023-06-18
21:30
Merge trunk-encoding-defaultstrict [c499122331]. file: [e28766a1c6] check-in: [22400aa71b] user: pooryorick branch: unchained, size: 112697
2023-06-02
13:59
Merge 8.7 file: [2b5cd0eb3d] check-in: [486d398306] user: jan.nijtmans branch: main, size: 116629
12:00
New (internal) macro TclAttemptInitStringRep() file: [0e11258ee0] check-in: [b0b7c9d7b6] user: jan.nijtmans branch: core-8-branch, size: 128060
2023-05-22
10:13
Merge 8.7 file: [3896ca1761] check-in: [f1dbd8559e] user: jan.nijtmans branch: main, size: 116538
2023-05-20
15:40
Minor refactor to combine alloc/realloc file: [9e9a5bd5ec] check-in: [6f8be92c87] user: apnadkarni branch: bug-c9663296fd, size: 116540
14:10
Merge "unchained" branch [6b0efb4663] and resolve conflicts. file: [ccc8dfcd99] check-in: [1b29063091] user: pooryorick branch: pyk-objinterface, size: 113613
2023-05-19
23:07
Merge trunk file: [909d809573] check-in: [ce1ff6df2b] user: apnadkarni branch: bug-c9663296fd, size: 116466
16:47
More refactoring into common code file: [b8588b035e] check-in: [617dcb269e] user: apnadkarni branch: bug-c9663296fd, size: 116458
12:08
Merge trunk [c405bdd1f0]. file: [ffa19f3d3b] check-in: [6b0efb4663] user: pooryorick branch: unchained, size: 112737
11:26
Merge "unchained" branch commit [05b72c0b3f] and resolve conflicts. file: [e5d61fcf6d] check-in: [2840dda8db] user: pooryorick branch: pyk-objinterface, size: 113534
2023-05-16
05:25
New function, TclDuplicatePureObj(), doesn't duplicate the string representation when duplicating an object, unless necessary. Remove TclListObjCopy() in favor of TclDuplicatePureObj(), allowing internal representation to change after the copy rather than before. file: [ba95d20256] check-in: [40af0258ec] user: pooryorick branch: main, size: 116669
2023-05-11
21:47
Merge trunk [05eeae5d67] and resolve conflicts. file: [140b56d059] check-in: [ea8f3cd359] user: pooryorick branch: unchained, size: 112738
21:18
More tweaks, finetuning file: [cd579ee3c4] check-in: [683f629ce8] user: jan.nijtmans branch: tip-668, size: 114756
16:35
TIP #668 implementation: Consolidate all Tcl_Attempt* functions. file: [3acb485af4] check-in: [fa605de79a] user: jan.nijtmans branch: tip-668, size: 114519
15:30
Restore warning-free compilation with C++ compiler file: [f441f80c57] check-in: [9a4d14e5dc] user: jan.nijtmans branch: main, size: 116670
2023-05-10
15:37
Rebase to latest 8.7 file: [18c4cbb94e] check-in: [11d97e377e] user: jan.nijtmans branch: tip-666, size: 127349
2023-05-05
12:36
Merge trunk file: [fdfad1c157] check-in: [0579cbaaff] user: apnadkarni branch: bug-c9663296fd, size: 116829
2023-05-04
17:52
Refactor reallocation in preparation for experimentation with different growth factors file: [b4b61f9580] check-in: [3f801dc599] user: apnadkarni branch: bug-c9663296fd, size: 116758
13:06
Merge 8.7 file: [3339981180] check-in: [b06ffa0e0e] user: jan.nijtmans branch: main, size: 116661
12:53
Fix [9c397da4a9]: AppendPrintfToObjVA(): support 64-bit pointers file: [460dfe751b] check-in: [32db95fa6a] user: jan.nijtmans branch: core-8-branch, size: 127994
06:36
Rebase to latest 8.7 file: [d3ac42b101] check-in: [1c4604133e] user: jan.nijtmans branch: tip-665, size: 125284
2023-05-03
16:26
remove "forceUniChar" from TclStringCat() since it isn't used anymore. file: [27513773de] check-in: [05b72c0b3f] user: pooryorick branch: unchained, size: 112658
15:51
Backport "Comments only. Fix blatantly obsolete ones". And a few more improvements from the same files. file: [b6856eb33c] check-in: [797753b302] user: jan.nijtmans branch: core-8-branch, size: 127909
13:18
Fix bug-c9663296fd (in progress) file: [4e7d6d26e5] check-in: [1277a45c56] user: apnadkarni branch: bug-c9663296fd, size: 117236
11:31
Merge [842b3b3949]. file: [05b10a041e] check-in: [c3278e757b] user: pooryorick branch: unchained, size: 112708
10:01
Comments only. Fix blatantly obsolete ones file: [07ba0a1800] check-in: [842b3b3949] user: apnadkarni branch: main, size: 116590
2023-05-02
19:58
Fix issue [b3628609ad73a105], by allowing TclStringCat to assume that each Tcl_Obj.bytes value is complete, i.e. concatenating such values does not change the interpretatin of any byte in any of the concatenated values. file: [44eb29881f] check-in: [29108f928e] user: pooryorick branch: unchained, size: 112891
12:47
Fix issue [b3628609ad73a105], by allowing TclStringCat to assume that each Tcl_Obj.bytes value is complete, i.e. concatenating such values does not change the interpretatin of any byte in any of the concatenated values. file: [e662c81f6c] check-in: [2ddc0c3fa9] user: pooryorick branch: pyk-b3628609ad, size: 115834
2023-05-01
20:28
More progress file: [8478bf2bb2] check-in: [f3015fa249] user: jan.nijtmans branch: tip-665, size: 124795
19:42
Remove internal use of TCL_UTF_MAX=3 as much as possible, without compromizing existing TIP's file: [32cf114d51] check-in: [86503e53c7] user: jan.nijtmans branch: tip-665, size: 124868
2023-04-28
23:57
Remove all code related to TCL_NO_DEPRECATED, and some related to TCL_MAJOR_VERSION. file: [9c105f68a5] check-in: [a2e5794d46] user: pooryorick branch: unchained, size: 113632
19:19
Remove TclUtfToUCS4(), TclUniCharToUCS4(), and TclUCS4Prev(). file: [cef86f47b7] check-in: [0d4245ab9f] user: pooryorick branch: unchained, size: 114462
17:34
Remove all code related to TCL_UTF_MAX=3. file: [896bcb492e] check-in: [d0c75e3b88] user: pooryorick branch: unchained, size: 114458
06:43
Limit memset() to "TCL_UTF_MAX=3' builds. file: [e72f178aed] check-in: [c72b11eac7] user: pooryorick branch: main, size: 116772
2023-04-27
20:54
Add bytearray checking to TclCheckEmptyString(), and then use TclCheckEmptyString() in Tcl_AppendObjToObj and TclStringCat() to reduce string generation. file: [c98efb3fb0] check-in: [90d2fcee22] user: pooryorick branch: main, size: 116745
20:42
Fix for [f5eadcbf9a6b1b4c], passing pointer to uninitialized memory leads Tcl_UniCharToUtf() to corrupt data. file: [66c0e06100] check-in: [480c856482] user: pooryorick branch: main, size: 116707
20:34
memset(0xff) instead of memset(0) to accomodate tests that fill buffer with 0xff. file: [8159bd4891] check-in: [1e52f2b6c3] user: pooryorick branch: bug-f5eadcbf9a6b1b4c, size: 116699
13:52
Simplify Tcl 9 compatibility macro's. No change in functionality. file: [49b753384c] check-in: [c0aad60d0c] user: jan.nijtmans branch: core-8-branch, size: 127420
2023-04-26
19:29
Reduce number of needed type-casts. No change in functionality file: [2574de96db] check-in: [c7e3f3a76e] user: jan.nijtmans branch: tip-660-continued, size: 116346
2023-04-25
20:34
Fix for issue [f5eadcbf9a], passing pointer to uninitialized memory leads Tcl_UniCharToUtf() to corrupt data. file: [a5885afdfb] check-in: [db9f715fd5] user: pooryorick branch: bug-f5eadcbf9a6b1b4c, size: 116696
2023-04-24
16:28
Fix [a814ee5bbd] - string compare/equal -length for long strings file: [81d5c740a8] check-in: [e831429a4d] user: apnadkarni branch: main, size: 116338
12:55
Fix [a550f9710b] (format bigdata) file: [a3bcfef97c] check-in: [0cb8f90d77] user: apnadkarni branch: main, size: 116345
2023-04-23
11:28
Add bytearray checking to TclCheckEmptyString(), and then use TclCheckEmptyString() in Tcl_AppendObjToObj and TclStringCat() to reduce string generation.

jn: See discussion on mailing list "On the changing the sourcing of scripts to using strict profiles by default" for explanation why this commit is wrong, just as [e6fe76ae6b] and [4a7b807856] (which are similar commits, disguised as different ones). file: [b67084936d] check-in: [a61fef8429] user: pooryorick branch: pyk-whatever, size: 115919

2023-04-22
22:49
Make Tcl_AppendObjToObj avoid string generation in a couple more circumstances, and edit some documentation and comments. file: [ed6dbcad6d] check-in: [e6fe76ae6b] user: pooryorick branch: main, size: 115673
2023-04-21
22:10
Fix issue [b3628609ad73a105] by scrapping most of TclStringCat() in favor of Tcl_AppendObjToObj().

jn: See https://github.com/tcltk/tcl/actions/runs/4740740589/jobs/8416919499 for one of the reasons for rejection. Also, I share Ashok's remark file: [10b9d071bb] check-in: [b699959d62] user: pooryorick branch: pyk-b3628609ad, size: 106780

20:32
Make Tcl_AppendObjToObj more efficient and avoid unnecessarily generating a string representation when the object to append to is the empty string. file: [cd982b313a] check-in: [4a7b807856] user: pooryorick branch: main, size: 115499
20:18
Reduce diff between 8.7 and 9.0. Add some testcases file: [9938fe3f9a] check-in: [2ee8fe15f5] user: jan.nijtmans branch: core-8-branch, size: 127412
2023-04-20
16:53
Merge 9.0 file: [856677c7b4] check-in: [aa3e7e529f] user: jan.nijtmans branch: tip-626, size: 115013
2023-04-19
13:21
Fix [3c04fcdd1a] - join truncates large lists file: [d1cf7df40c] check-in: [c4ebde4cb9] user: apnadkarni branch: main, size: 115881
2023-04-16
17:31
size_t -> ptrdiff_t to match Tcl 9 unsigned->signed change file: [d31f30e632] check-in: [23c8313c59] user: apnadkarni branch: tip-660-tcl8, size: 126958
2023-04-14
15:01
Merge trunk file: [3939d1a58a] check-in: [e36ab1e9ba] user: apnadkarni branch: tip-660, size: 115828
09:12
Merge 9.0 file: [3a01a2e790] check-in: [f041e13465] user: jan.nijtmans branch: tip-626, size: 115005
2023-04-13
13:13
Allow Tcl build without the Tcl 8 compat API. Derived from "disabletcl8api" branch (thanks, Rolf), but using the already existing -DTCL_NO_DEPRECATED (in Makefile) or CHECKS=nodep (makefile.vc) Since there are Github Action builds with -DTCL_NO_DEPRECATED/CHECKS=nodep, we cannot use the Tcl 8 compat API in the core code itself any more. file: [9e94e2ef09] check-in: [fc9c3d7c3e] user: jan.nijtmans branch: main, size: 115002
2023-04-12
20:39
Correct the documentation of Tcl_SetObjLength. file: [863e7affb2] check-in: [1209aeff8a] user: pooryorick branch: main, size: 114929
14:25
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [8ece670a9f] check-in: [d65da06a77] user: pooryorick branch: main, size: 115041
13:30
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [bca934f4b2] check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 126956
09:35
Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: [759ab7928d] check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 84375
2023-04-08
08:22
Merge 9.0 file: [51a9e5922f] check-in: [33a8c620c8] user: apnadkarni branch: tip-660, size: 115934
2023-04-07
23:14
Editorial fix in Tcl_Panic() message. file: [cd58c02cff] check-in: [e825ea0680] user: pointsman branch: main, size: 115126
2023-04-06
09:52
Eliminate TCL_SIZE_CMP() for now, not a good idea for Tcl 9.0 file: [a31c2c7807] check-in: [d00062f436] user: jan.nijtmans branch: optional-signed-size, size: 115188
2023-04-05
10:45
Export Tcl_GetSizeFromObj in stubs file: [56367e270c] check-in: [de9fdf0738] user: apnadkarni branch: tip-660, size: 115933
2023-04-04
20:50
more progress file: [a686af8f6e] check-in: [4e36871191] user: jan.nijtmans branch: optional-signed-size, size: 115502
2023-04-02
21:49
Merge 9.0. Add some more utility macro's file: [026c5c32fe] check-in: [4bedba476d] user: jan.nijtmans branch: optional-signed-size, size: 115287
2023-04-01
11:35
Fix gcc warnings from prior 9.0 merge file: [0492b4845d] check-in: [c03ada3a6d] user: apnadkarni branch: tip-660, size: 115927
2023-03-31
21:02
Rebase to latest trunk. More progress file: [a3e4960db5] check-in: [642a10ed40] user: jan.nijtmans branch: optional-signed-size, size: 115511
2023-03-30
22:24
Merge 9.0 file: [40f226c5ac] check-in: [6396c6443a] user: jan.nijtmans branch: tip-626, size: 115128
22:22
Merge 8.7 file: [2e8fff29e7] check-in: [7c9d2dc7a3] user: jan.nijtmans branch: main, size: 115125
22:02
Merge 8.6 file: [b468e1e69c] check-in: [166e8656a7] user: jan.nijtmans branch: core-8-branch, size: 127029
18:01
TIP 660. No compiler warnings. Tests suite pass on Win and Ubuntu file: [9886d935e0] check-in: [eb81a25271] user: apnadkarni branch: tip-660, size: 115873
15:19
Fix [0cb3554903]: macOS 13 SDK deprecates sprintf(). But better not use it on other platforms either. file: [abf691bf4a] check-in: [ec56f33813] user: jan.nijtmans branch: bug-0cb3554903, size: 84403
2023-03-27
11:35
More (internal) usage of TclGetString() and TclGetStringFromObj() macro's file: [7be8dda435] check-in: [86bf13933a] user: jan.nijtmans branch: core-8-branch, size: 126971
2023-03-24
20:58
Merge 8.7 file: [2b97e96c7f] check-in: [6301de2138] user: jan.nijtmans branch: main, size: 115067
20:47
Merge 8.6 file: [55e320637c] check-in: [87cd711c2a] user: jan.nijtmans branch: core-8-branch, size: 126978
20:19
Fix [15e74a2fe6]: Fix various typos file: [70f9e38060] check-in: [c44138ed03] user: jan.nijtmans branch: core-8-6-branch, size: 84345
2023-03-22
19:40
Merge 9.0 file: [e7108f2326] check-in: [f809c32f0e] user: jan.nijtmans branch: tip-626, size: 115065
12:02
Merge 8.7 file: [3292503650] check-in: [f8d60e395f] user: jan.nijtmans branch: main, size: 115062
2023-03-20
18:45
Candidate fix for [f3cb2a32d6] Add initialization to allocation of string rep buffer to resolve valgrind reports on use of uninitialized memory file: [a80a91d6bf] check-in: [24e82d736e] user: dgp branch: bug-f3cb2a32d6, size: 126973
2023-03-06
19:58
Proposed fix for [f3cb2a32d6]: uninitialized value in format-2.18 file: [da7634cb72] check-in: [05e83f801a] user: jan.nijtmans branch: bug-f3cb2a32d6, size: 126905
2023-03-05
00:43
Merge 9.0 file: [60dd308900] check-in: [38f5d517dd] user: jan.nijtmans branch: tip-626, size: 115073
00:26
More -1 -> TCL_INDEX_NONE file: [bbe34bdd00] check-in: [7a2fc29ce0] user: jan.nijtmans branch: main, size: 115070
2023-02-27
20:36
Experiment: Use -DTCL_SIGNED_SIZE to switch Tcl_Size from size_t to ptrdiff_t file: [00bb67c834] check-in: [3ea98e212f] user: jan.nijtmans branch: optional-signed-size, size: 115262
2023-02-15
08:10
Merge 9.0 file: [a00ab10f32] check-in: [24d64bf0f1] user: jan.nijtmans branch: tip-626, size: 115037
2023-01-28
18:50
Fix "format %c 0x10000041", should give the same answer as in Tcl 8.6 (Handling of TCL_COMBINE flag should not be visible at script level) file: [58c6b59f1f] check-in: [12c9df10a3] user: jan.nijtmans branch: main, size: 115034
2023-01-19
15:04
Merge 9.0 file: [033e10cf90] check-in: [c74698a3cd] user: jan.nijtmans branch: tip-626, size: 114971
2023-01-18
17:06
Merge 8.7 file: [b0a099d18d] check-in: [1ec1783f5d] user: jan.nijtmans branch: main, size: 114968
16:54
Merge 8.6 file: [f8c44adb7b] check-in: [6dac80a981] user: jan.nijtmans branch: core-8-branch, size: 126888
2022-11-24
20:31
Sync with trunk file: [a162036d9e] check-in: [866c464f9e] user: griffin branch: tip-636-tcl9-644, size: 114473
14:38
Merge 9.0 file: [cd6d5d3e74] check-in: [334190e9b7] user: jan.nijtmans branch: tip-626, size: 114471
14:05
Use Tcl_GetByteArrayFromObj(... in stead of Tcl_GetBytesFromObj(NULL,.... Add some more error-checking for invalid byte-arrays file: [1d26d3062b] check-in: [3e18a46195] user: jan.nijtmans branch: main, size: 114468
01:18
Support multiple indicies in abstract list lindex operation. Catch up with trunk. file: [0a1bf3a54e] check-in: [cf418732cb] user: griffin branch: tip-636-tcl9-644, size: 114479
2022-11-19
16:29
Merge 9.0 file: [e922b9026e] check-in: [32aebe8054] user: jan.nijtmans branch: tip-626, size: 114477
2022-11-13
21:46
Merge 9.0 file: [7f11025dae] check-in: [f4ff6ec315] user: jan.nijtmans branch: tip-626, size: 114457
06:23
Merge trunk file: [d98f09cbc3] check-in: [eb20cd1d93] user: apnadkarni branch: tip-644, size: 114474
2022-11-11
21:51
Merge 8.7 file: [6edbf6eccb] check-in: [4b1fe64736] user: jan.nijtmans branch: main, size: 114454
2022-11-09
16:29
Rebase to latest trunk file: [6fd319a6f8] check-in: [9c26ed6942] user: jan.nijtmans branch: tip-644-alt, size: 114462
13:45
Merge trunk. Also update Tcl_ObjType.version to match TIP 644 file: [356134f8c2] check-in: [67db36998a] user: apnadkarni branch: tip-644, size: 114475
2022-11-06
11:19
Rebase TIP #626 to latest 9.0. Change Tcl version number from 9.0 to 9.1a0 file: [68f78f7240] check-in: [efcf7c37fe] user: jan.nijtmans branch: tip-626, size: 114458
05:20
Sync with trunk file: [2189fc4ada] check-in: [6a10d9194c] user: griffin branch: tip-636-tcl9-644, size: 114480
2022-11-04
22:47
Implement abstractlist with tip-644 file: [94876eb8b3] check-in: [3aa22fe8ab] user: griffin branch: tip-636-tcl9-644, size: 114462
2022-11-03
12:26
Bug [0f98bce669]. Fix limits for string replace. file: [7310689b8f] check-in: [997d8c2052] user: apnadkarni branch: main, size: 114455
2022-11-02
22:33
TIP 636 for Tcl 9 file: [84217cdc89] check-in: [b78cb72678] user: griffin branch: tip-636-tcl9, size: 114437
16:28
Bug #0f98bce669 - string cat support for > 2**31 characters. Tests pending file: [41005dd890] check-in: [de686f44d7] user: apnadkarni branch: main, size: 114437
15:56
Bug #0f98bce669 - string repeat support for > 2**31 characters file: [95bc040ca2] check-in: [adec5fcc5c] user: apnadkarni branch: main, size: 114242
2022-11-01
08:26
Don't bother to provide a TCL_OBJTYPE_SIZE macro file: [4c3e3cac65] check-in: [04e8efd4ac] user: jan.nijtmans branch: tip-644-alt, size: 114002
2022-10-24
11:47
Another possible approach file: [5511dcaf86] check-in: [dc7f554cb0] user: jan.nijtmans branch: tip-644-alt, size: 114017
2022-10-11
15:07
TIP 644 - Make Tcl_ObjType extensible file: [b15bf98be4] check-in: [6d1d103cf6] user: apnadkarni branch: tip-644, size: 114015
2022-09-26
15:06
Merge 9.0 file: [fc9cefaf9e] check-in: [e868215b25] user: jan.nijtmans branch: tip-626, size: 113998
2022-09-24
06:12
merge [trunk] file: [14d5fba29b] check-in: [89288053a9] user: bch branch: bch_sign_and_width, size: 114110
2022-09-22
12:40
Merge 8.7 file: [53ad4b585e] check-in: [55a6ac3c05] user: jan.nijtmans branch: main, size: 113995
12:32
Merge 8.6 file: [8e3e8e07cc] check-in: [6320599e4f] user: jan.nijtmans branch: core-8-branch, size: 126430
2022-09-21
18:38
Update docs and comments to agree with TIP 623. file: [6f0462890e] check-in: [87b0acccb6] user: dgp branch: core-8-6-branch, size: 84340
17:50
merge [trunk] file: [1eeaef5369] check-in: [ab16261020] user: bch branch: bch_sign_and_width, size: 113946
2022-07-14
10:53
Same bug-fix as [b79df322a9], but then for Tcl_AppendUnicodeToObj() file: [52f3624d36] check-in: [f3a9189fb4] user: jan.nijtmans branch: core-8-branch, size: 126278
2022-07-13
07:33
Fix build with -DTCL_NO_DEPRECATED file: [092baf8933] check-in: [9ec432e29c] user: jan.nijtmans branch: core-8-branch, size: 126273
2022-07-12
13:30
Fix TCL_UTF_MAX == 3 build file: [9cd69da856] check-in: [6c065977dc] user: jan.nijtmans branch: core-8-branch, size: 126195
12:31
Fix [b79df322a9]. Tcl_GetUnicode/Tcl_NewUnicodeObj crash. Add tests file: [0562545755] check-in: [f562dcb464] user: apnadkarni branch: core-8-branch, size: 126126
12:23
Fix [b79df322a9] follow-up: Tcl_NewUnicodeObj truncates strings file: [46a7b41dc4] check-in: [0e4cbe7bef] user: jan.nijtmans branch: bug-b79df322a9, size: 125979
2022-07-05
21:57
Merge 9.0 file: [79c154537d] check-in: [83b4c4aca0] user: jan.nijtmans branch: tip-626, size: 113834
2022-07-04
11:21
TIP #619: New TCL_COMBINE flag for Tcl_UniCharToUtf() file: [6b3cbf329a] check-in: [3bb6f6602c] user: jan.nijtmans branch: main, size: 113831
2022-06-30
11:31
Fix [b79df322a9]: Tcl_NewUnicodeObj truncates strings file: [f830bdb9b8] check-in: [936c4f4b1c] user: jan.nijtmans branch: core-8-branch, size: 125905
2022-06-23
14:05
Merge 9.0 file: [e10a1c9f66] check-in: [24a5f73f89] user: jan.nijtmans branch: tip-626, size: 114012
13:16
Merge 8.7. Update documentation file: [d6fb0f4293] check-in: [91447bb515] user: jan.nijtmans branch: main, size: 114009
2022-06-14
14:22
Merge 8.6 file: [c685b4feb4] check-in: [ea2c8b8ec1] user: jan.nijtmans branch: core-8-branch, size: 125880
2022-06-09
20:25
Merge 9.0 file: [1ad423c55b] check-in: [631cce8656] user: jan.nijtmans branch: tip-619, size: 113807
2022-05-25
22:20
Many int-> size_t file: [56d303f352] check-in: [7062de3ba7] user: jan.nijtmans branch: tip-626, size: 113988
2022-05-19
15:05
Merge 9.0 file: [256ddd6402] check-in: [60d39427c4] user: jan.nijtmans branch: tip-619, size: 113795
15:04
Merge 9.0 file: [93b0420672] check-in: [27d6e8f628] user: jan.nijtmans branch: tip-616, size: 113985
11:00
Elaborate TIP #481 implementation: Make clear that Tcl_GetUnicodeFromObj and Tcl_GetStringFromObj panic if lengthPtr points to an int and length > INT_MAX. Also if sizeof(int) == sizeof(size_t), prefer the size_t variant of the functions file: [ce1996a589] check-in: [19af4bcc3f] user: jan.nijtmans branch: main, size: 113973
2022-05-17
16:27
Merge 9.0 file: [c5859b6772] check-in: [bc06da9fc7] user: jan.nijtmans branch: tip-619, size: 113631
13:27
Merge 9.0 file: [c8d5ba88cd] check-in: [e563372259] user: jan.nijtmans branch: tip-616, size: 113821
11:17
Merge 8.7 file: [7d5c4b204b] check-in: [74c6a378ca] user: jan.nijtmans branch: main, size: 113809
09:32
Rename macro's TclListObjGetElements -> TclListObjGetElementsM and TclListObjLength -> TclListObjLengthM (prevent conflict with TIP #616) file: [b083fa3798] check-in: [eaf93525a5] user: jan.nijtmans branch: core-8-branch, size: 125868
2022-05-16
07:20
Merge 9.0 file: [918937c41e] check-in: [bb7df394c9] user: jan.nijtmans branch: tip-616, size: 113819
2022-05-15
23:06
merge [trunk] file: [ba497f4669] check-in: [ef75766f09] user: bch branch: bch_sign_and_width, size: 113922
2022-05-01
22:41
merge [trunk] file: [ec920789e7] check-in: [3b9626d07b] user: bch branch: bch_sign_and_width, size: 113919
2022-04-26
17:16
Merge 9.0 file: [ed8eabb175] check-in: [729eb5af44] user: jan.nijtmans branch: tip-622, size: 113807
16:02
Merge 9.0 file: [b25f6a865c] check-in: [65fb279cf5] user: jan.nijtmans branch: tip-619, size: 113626
15:59
Merge 9.0 file: [4fadb6df0e] check-in: [dda26bfcce] user: jan.nijtmans branch: tip-616, size: 113816
12:22
Tcl_GetIndexFromObjStruct -> Tcl_GetIndexFromObj. Don't use braces around (Tcl_GetBytesFromObj) file: [fd3e59ae28] check-in: [b76b65a1af] user: jan.nijtmans branch: main, size: 113804
2022-04-20
20:24
merge [trunk] file: [c2a0deee5e] check-in: [3550542d19] user: bch branch: bch_sign_and_width, size: 113895
2022-04-14
12:05
Merge 8.7 file: [d9b6f61a14] check-in: [f8cdc915ce] user: jan.nijtmans branch: full-utf-for-87, size: 125866
2022-04-08
09:37
Merge 9.0 file: [2c20dbb5ef] check-in: [a1d061ebc8] user: jan.nijtmans branch: tip-619, size: 113602
09:13
Merge 8.6 file: [c76a2cfac1] check-in: [c4999e5dce] user: jan.nijtmans branch: core-8-branch, size: 112921
09:10
Fix [05ff16e799]: signed integer overflow in ExtendStringRepWithUnicode() file: [66f304a482] check-in: [4958391d5a] user: jan.nijtmans branch: core-8-6-branch, size: 84188
2022-04-01
13:13
Merge 9.0 file: [3241c419cf] check-in: [4edde5dc8a] user: jan.nijtmans branch: tip-616, size: 113792
13:12
Merge 9.0 file: [97db51bd97] check-in: [4ce1a22a7f] user: jan.nijtmans branch: tip-619, size: 113575
10:33
Merge 9.0 file: [cf1061b785] check-in: [a46b82b5b8] user: jan.nijtmans branch: tip-622, size: 113783
10:29
Add UTF-16 versions of Tcl_GetCharLength/Tcl_GetRange/Tcl_GetUniChar to the stub table. Should have been part of TIP #542. Needed for Tk's "glyph_indexing_2" branch file: [e984d71d28] check-in: [9e1c0d7636] user: jan.nijtmans branch: main, size: 113780
2022-03-31
09:44
Oops file: [409ef9e516] check-in: [79cf8dfd4b] user: jan.nijtmans branch: tip-619, size: 110467
07:08
Merge 9.0. Restore some testcases working correctly with TCL_UTF_MAX=3 file: [9dcdb768c4] check-in: [29baa0e4f8] user: jan.nijtmans branch: tip-619, size: 110467
2022-03-30
12:25
Merge 9.0 file: [80d008b823] check-in: [0c8bec9859] user: jan.nijtmans branch: tip-616, size: 110684
12:16
Merge 9.0 file: [89d66ca5f1] check-in: [b8cda9c82e] user: jan.nijtmans branch: tip-622, size: 113785
12:13
Fix limit-checking on first/last arguments for Tcl_GetRange(). Was not correctly forward-merged from core-8-branch (there it's correct) file: [a09a446fd9] check-in: [876c0a74be] user: jan.nijtmans branch: main, size: 110672
11:56
Change UTF-16 version of Tcl_GetRange() not to use the tclStringObj type any more file: [315d7a5a91] check-in: [fb73b2740d] user: jan.nijtmans branch: full-utf-for-87, size: 125852
2022-03-29
22:17
Merge 9.0. Fix CONTINUATION macro, and testcases file: [e3c1f92f4f] check-in: [38c85a4afd] user: jan.nijtmans branch: tip-619, size: 110307
19:40
Add UTF-16 versions of Tcl_NumUtfChars/Tcl_UtfAtIndex to the stub table. Should have been part of TIP #542. Needed for Tk's "glyph_indexing_2" branch file: [0ac85477b3] check-in: [87bc45e9d1] user: jan.nijtmans branch: main, size: 110709
2022-03-25
08:20
Put back Tcl_AppendUnicodeToObj() file: [f338679d5e] check-in: [b0051f1af1] user: jan.nijtmans branch: tip-622, size: 113868
2022-03-24
23:29
bugfix: Handle NULL characters in Tcl_GetCharLength() file: [95ffc6afe1] check-in: [2dcfc940e5] user: jan.nijtmans branch: full-utf-for-87, size: 126321
22:55
Bugfix for TclGetCharLength(): Make sure objPtr->bytes is filled file: [35054c7850] check-in: [36e99f8654] user: jan.nijtmans branch: tip-622, size: 113863
14:28
Add UTF-16 versions of Tcl_GetRange/Tcl_GetUniChar file: [9920d0b7ad] check-in: [019a79d8e8] user: jan.nijtmans branch: tip-622, size: 113839
13:58
Add TclGetUniChar() to the compatibility set file: [fc6179f510] check-in: [e75009fecd] user: jan.nijtmans branch: full-utf-for-87, size: 126293
13:18
Fix internal usage of Tcl_GetRange/Tcl_UtfAtIndex file: [44ea91e59e] check-in: [51e84a3825] user: jan.nijtmans branch: full-utf-for-87, size: 124869
12:43
Add TclGetRange() to the compatibility set file: [d6a7a1b553] check-in: [004fcfa041] user: jan.nijtmans branch: full-utf-for-87, size: 124870
10:48
When compiled with TCL_NO_DEPRECATED, remove the UTF16 compatibility layer. So, we make sure that it is never used internally for the Core. This means that extensions using the compatibility layer won't work any more in this mode; extensions should be compiled using TCL_UTF_MAX=4 then they work again. file: [51fa843fb0] check-in: [a68880dccd] user: jan.nijtmans branch: full-utf-for-87, size: 123247
2022-03-23
16:33
Fix for UpdateStringOfUTF16String() file: [fa76f218b2] check-in: [bdeaacdce5] user: jan.nijtmans branch: full-utf-for-87, size: 122920
16:19
Put back TclNumUtfChars() macro as TclNumUtfCharsM() file: [646e05106f] check-in: [790f6f1d5a] user: jan.nijtmans branch: full-utf-for-87, size: 122920
13:31
Fix crash in (compabitility) "string" objType file: [e016c41e85] check-in: [26ed86a3c8] user: jan.nijtmans branch: full-utf-for-87, size: 123003
2022-03-22
20:07
Merge 8.7 file: [8d0acac2b2] check-in: [40b724b4a8] user: jan.nijtmans branch: full-utf-for-87, size: 123042
17:06
Put back TclNumUtfChars (as TclNumUtfCharsM) macro for speedup file: [3ad00de888] check-in: [a52cd29e90] user: jan.nijtmans branch: tip-622, size: 111807
15:38
Feature-complete file: [5a95591120] check-in: [d2ae10faca] user: jan.nijtmans branch: full-utf-for-87, size: 123031
11:25
More progress file: [f055edabd2] check-in: [8a7b81816e] user: jan.nijtmans branch: full-utf-for-87, size: 123023
08:16
Add UTF-16 versions of Tcl_UniCharLength/Tcl_NumUtfChars/Tcl_UtfAtIndex. Needed for Tk's glyph_indexing_2, and possibly other extensions sticking at TCL_UTF_MAX=3 file: [c761b59e78] check-in: [d9384cad48] user: jan.nijtmans branch: tip-622, size: 111811
2022-03-16
22:21
Handle Tcl_GetCharLength file: [2113f65278] check-in: [2cce141084] user: jan.nijtmans branch: full-utf-for-87, size: 123137
14:55
Merge 8.7. First working version, feature complete file: [257cbe2905] check-in: [a9a14d5e6c] user: jan.nijtmans branch: full-utf-for-87, size: 121920
2022-03-15
13:59
Merge 9.0. Don't combine surrogates when appending UTF-32 strings file: [3c10aaa5b1] check-in: [80bff79ed3] user: jan.nijtmans branch: tip-619, size: 110404
2022-03-14
23:14
Some restructuring. Now compiles/runs fine with TCL_UTF_MAX=3 file: [c70a7e9aac] check-in: [7772cd8a61] user: jan.nijtmans branch: full-utf-for-87, size: 119090
16:06
More progress file: [510338c707] check-in: [48ab8b7472] user: jan.nijtmans branch: full-utf-for-87, size: 116662
2022-03-13
23:12
Merge 8.7. More progress file: [8f9386d16f] check-in: [38d0c3aade] user: jan.nijtmans branch: full-utf-for-87, size: 116446
2022-03-12
23:21
Start defining "utf32string" type file: [a98156ac97] check-in: [b46d5c684f] user: jan.nijtmans branch: full-utf-for-87, size: 114541
22:30
More progress file: [dc8a5462fa] check-in: [2e24803530] user: jan.nijtmans branch: full-utf-for-87, size: 112918
2022-03-11
22:43
2 more functions file: [a1bf6095e2] check-in: [f3580d9f09] user: jan.nijtmans branch: full-utf-for-87, size: 112905
22:11
Handle TclUniCharNcmp() file: [102324ee2d] check-in: [715b107f62] user: jan.nijtmans branch: full-utf-for-87, size: 112906
2022-03-08
22:26
initial work at using signed-storage for cases where values can actually be signed. file: [b551aebda0] check-in: [5030ee02cf] user: bch branch: bch_sign_and_width, size: 110820
17:35
merge 8.7

Closing this branch. The work on branch full-utf-for-8.7 is more likely to reach the solution we seek. file: [803b87b1ba] check-in: [46d18fc696] user: dgp branch: dgp-ucs4, size: 114539

17:12
Backport fix and test for typecasting bug in Tcl_GetUniChar(). file: [91480c72bd] check-in: [e7356da76c] user: dgp branch: core-8-6-branch, size: 84174
09:59
Merge 9.0 file: [cc8098a482] check-in: [a7ba5388fd] user: jan.nijtmans branch: tip-616, size: 110717
08:27
Merge 8.7 file: [26e7cd4027] check-in: [f1e19261f7] user: jan.nijtmans branch: main, size: 110705
08:23
This typecast is wrong (and was already wrong). Correct it, and add testcase to prove it file: [1d38fa1d17] check-in: [51b9da64b4] user: jan.nijtmans branch: core-8-branch, size: 112907
00:01
Merge 8.7 file: [09ffc73bc8] check-in: [3528d7188f] user: dgp branch: dgp-ucs4, size: 114529
2022-03-07
23:59
Starting in Tcl 8.7, Tcl_GetUniChar() returns int, not Tcl_UniChar (TIP 389). Make typecasts of returned values match the new signature. file: [9e0ff7049d] check-in: [421d89a270] user: dgp branch: core-8-branch, size: 112897
23:52
Start sketch of offering UCS4 interfaces in Tcl 8.7. file: [a8802e1309] check-in: [f71034e070] user: dgp branch: dgp-ucs4, size: 114536
2022-03-06
15:51
Merge 8.6 file: [5aeda28c82] check-in: [1a8ae15079] user: jan.nijtmans branch: core-8-branch, size: 112905
15:49
Fix [112e7aa36d]: signed integer overflow in Tcl_SetObjLength(), Tcl_AttemptSetObjLength() file: [edba4bf04d] check-in: [2699f682ae] user: jan.nijtmans branch: core-8-6-branch, size: 84170
2022-02-24
22:35
Merge 9.0 file: [f003f03fba] check-in: [bb8e96bb20] user: jan.nijtmans branch: tip-616, size: 110715
22:31
Merge 8.7 file: [e6f4387ec2] check-in: [56e377a7ea] user: jan.nijtmans branch: main, size: 110703
22:20
3 more files with TCL_UTF_MAX checks file: [b3d382f87a] check-in: [70eb0efb69] user: jan.nijtmans branch: core-8-branch, size: 112845
2022-02-10
09:45
Merge 8.7 file: [825b6020ab] check-in: [d7e83e77e8] user: jan.nijtmans branch: main, size: 110705
09:37
Merge 8.6 file: [00d43da985] check-in: [c03b7afd75] user: jan.nijtmans branch: core-8-branch, size: 112847
09:26
Use TclListObjLength/TclListObjGetElements in stead of Tcl_ListObjLength/Tcl_ListObjGetElements everywhere. This is slightly more efficient if the refered list already has the correct type file: [474c6cef25] check-in: [30cd3187fc] user: jan.nijtmans branch: core-8-6-branch, size: 84110
08:42
Same with TclListObjGetElements file: [91278732d7] check-in: [5f2ed67ee3] user: jan.nijtmans branch: tip-616, size: 110717
08:34
Tcl_ListObjLength -> TclListObjLength file: [5f5c6d7b57] check-in: [8186be0b8d] user: jan.nijtmans branch: tip-616, size: 110718
2022-01-29
00:16
merge [argx_rejig] file: [b8acd9fad3] check-in: [f834558929] user: bch branch: mistake, size: 110741
2022-01-27
22:26
3 more API's file: [98df29f9af] check-in: [7413e9f3e3] user: jan.nijtmans branch: tip-616, size: 110719
2022-01-26
08:37
More WIP file: [eff9a71ad6] check-in: [3f003f3286] user: jan.nijtmans branch: tip-616, size: 110716
2022-01-24
11:53
Tcl Dicts > 2^31 elements too file: [a1d240097b] check-in: [6f6602a104] user: jan.nijtmans branch: tip-616, size: 110722
08:18
TIP #616: Tcl lists > 2^31 elements. WIP file: [1afa33cd14] check-in: [ff0a9cf127] user: jan.nijtmans branch: tip-616, size: 110707
2022-01-21
16:16
In case troubles are found in Tcl_GetRange(), this branch brings back Tcl_GetRange() to how it was in Tcl 8.6.10. file: [e42b2b7e3d] check-in: [5b0676e5ca] user: jan.nijtmans branch: bug-e9a2715d91, size: 83659
14:44
Undo part of [26539e78a7]. Although Tcl_GetRange() does it's own parameter check, it's caller doesn't have to do it any more. However, put back these check, better not depend on the improved behavior of Tcl_GetRange (yet). This gives the freedom to bring back Tcl_GetRange() to how it was in Tcl 8.6.10, if desired file: [508fb05671] check-in: [78bfdd485f] user: jan.nijtmans branch: core-8-6-branch, size: 84111
2022-01-18
16:14
Merge 8.7 file: [3da0abe505] check-in: [86dd2bcab2] user: jan.nijtmans branch: main, size: 110706
15:52
Merge 8.6 file: [df440db3f3] check-in: [de79810eea] user: jan.nijtmans branch: core-8-branch, size: 112848
2022-01-17
17:26
Possible fix for [e9a2715d91]: Tcl 8.6.11: Incompatible Tcl_GetRange() file: [a24f15040b] check-in: [ed61de701e] user: jan.nijtmans branch: bug-e9a2715d91, size: 84101
17:10
Merge 8.7 file: [a5e8507575] check-in: [e8e2a9f506] user: jan.nijtmans branch: main, size: 110636
17:02
Merge 8.6 file: [4b097c6b7d] check-in: [ea38112364] user: jan.nijtmans branch: core-8-branch, size: 112742
16:44
Tcl_NewObj() -> TclNewObj() file: [e4d8bf5130] check-in: [df30948549] user: jan.nijtmans branch: core-8-6-branch, size: 83995
13:37
Merge 8.7 file: [a2e557a744] check-in: [fe9317ddb0] user: jan.nijtmans branch: main, size: 110567
11:21
Merge 8.6 file: [c1e35fbae5] check-in: [636d27ef56] user: jan.nijtmans branch: core-8-branch, size: 112673
10:35
Follow-up to [767e070d35]: Tcl_GetRange and Tcl_GetUniChar do not validate index inputs. Now that Tcl_GetRange() checks its arguments, the callers of this function don't have to do that any more. This also shows a off-by-one error in the Tcl_GetRange() check file: [0d0b9e2adf] check-in: [147f3b129a] user: jan.nijtmans branch: core-8-6-branch, size: 83926
2022-01-14
10:29
Merge 8.7. Fix (windows MSVC OPTS=symbols) build error file: [c27d3af368] check-in: [a80b314df5] user: jan.nijtmans branch: main, size: 110636
10:10
Merge 8.6 file: [c52b9ea977] check-in: [9b26217141] user: jan.nijtmans branch: core-8-branch, size: 112742
2022-01-13
12:22
Fix [816913a65e]: GrowStringBuffer(): signed integer overflow. And a few similar situations in other place file: [bb8b832768] check-in: [a03e9793d4] user: jan.nijtmans branch: bug-816913a65e, size: 83995
2021-12-21
17:23
Merge 8.7 file: [73155d54c4] check-in: [a03edf1949] user: jan.nijtmans branch: strict-index-experiment, size: 112715
16:18
New macro TclNewIndexObj(). For Tcl 8.7 it's the same as TclNewIntObj(), but in Tcl 9.0 not any more. Merge 8.6 file: [49304971b1] check-in: [cc79d9889f] user: jan.nijtmans branch: core-8-branch, size: 112739
2021-12-16
21:26
Merge 8.6 file: [a4977ae739] check-in: [96119ec205] user: jan.nijtmans branch: core-8-branch, size: 112735
21:25
Fix [d1434179b5]: avoid signed integer overflow in AppendUtfToUtfRep() file: [182856bbb1] check-in: [8340945434] user: jan.nijtmans branch: core-8-6-branch, size: 83992
2021-12-15
16:58
Addendum to [41b1406f51]: change '<=' in range-check to '<' file: [437785621e] check-in: [8f432c79cf] user: jan.nijtmans branch: core-8-6-branch, size: 83974
2021-12-13
13:01
Merge 8.7 file: [36b3443d19] check-in: [431e660796] user: jan.nijtmans branch: main, size: 110633
12:59
Merge 8.6 file: [2aa4691522] check-in: [1d30b9892d] user: jan.nijtmans branch: core-8-branch, size: 112718
11:39
Fix [41b1406f51]: AppendUtfToUtfRep(): undefined behavior involving pointers file: [0d019c8da6] check-in: [3f70533e6d] user: jan.nijtmans branch: core-8-6-branch, size: 83975
2021-11-07
14:52
Dodge a few macro games. file: [226be3d4ab] check-in: [0e4cc79075] user: dgp branch: dgp-properbytearray, size: 110612
2021-11-06
18:12
Eliminate more branch diffs. file: [732426b396] check-in: [7d93edb658] user: dgp branch: dgp-properbytearray, size: 110630
17:55
Eliminate more branch diffs with trunk that have no apparent connection to TIP 568. file: [31d4a1bafb] check-in: [afbf82e475] user: dgp branch: dgp-properbytearray, size: 110624
2021-10-31
16:21
Merge 8.7 file: [77cb9e87b7] check-in: [e837834cb3] user: jan.nijtmans branch: strict-index-experiment, size: 112677
2021-10-26
08:54
Merge 9.0 file: [44dbd17726] check-in: [62c63b4818] user: jan.nijtmans branch: pyk-objinterface, size: 111594
2021-10-24
15:55
Fix memory errors in lsearch, add the first few string routines to Tcl_ObjType, modify StringIndexCmd to use to use the Tcl_ObjType interface. Valgrind reports no memory errors. file: [519fcd6092] check-in: [cb6b5b14dd] user: pooryorick branch: pyk-objinterface, size: 111524
2021-10-19
14:42
IntRep -> InternalRep. Internal changes only. file: [eb55c02f0b] check-in: [40343f5fb6] user: jan.nijtmans branch: core-8-6-branch, size: 83954
2021-10-18
15:02
Add the first few string functions to the Tcl_ObjType interface, move function declarations out of tclInt.h. file: [2fe6fb08c6] check-in: [09c4094c6e] user: pooryorick branch: pyk-objinterface, size: 110740
2021-10-08
12:36
Merge trunk file: [408db55140] check-in: [2b008d21a1] user: jan.nijtmans branch: dgp-properbytearray, size: 110603
08:40
Merge 8.7 file: [528a430ba7] check-in: [916029c89c] user: jan.nijtmans branch: main, size: 110607
2021-10-06
19:33
Change "IntRep" to "InternalRep", as discussed in the Tcl Core mailing list file: [3bd8568225] check-in: [0509fa5750] user: jan.nijtmans branch: internalrep, size: 112697
2021-08-23
10:01
Add FALLTHRU markers, to help GCC emit less false warnings file: [69e0e4a36b] check-in: [85f10205a7] user: jan.nijtmans branch: core-8-5-branch, size: 80491
2021-04-23
19:26
merge trunk file: [18f61a431b] check-in: [b86fc048cb] user: dgp branch: dgp-properbytearray, size: 110533
2021-04-21
06:54
Merge 8.7 file: [8bb6eebc8f] check-in: [98f163f0e6] user: jan.nijtmans branch: main, size: 110537
06:21
Enhance TclStringCat(). In stead of forcing incoming obj's to Unicode representation, teach it how to handle single continuation bytes and surrogate-pairs. file: [58ca3fc05c] check-in: [2ce693447e] user: jan.nijtmans branch: bug-7f1162a867, size: 113216
2021-04-20
13:45
Fixes for Valgrind issues similar to [ec06d0db3225afca]. file: [d26bcbd96d] check-in: [ec5b3d21f9] user: pooryorick branch: core-8-branch, size: 112627
11:15
Merge 8.7 file: [40004d7389] check-in: [96b6edd8ee] user: jan.nijtmans branch: main, size: 110434
10:29
Fix for issue [ec06d0db3225afca]. file: [3a362617c8] check-in: [c7100a073b] user: pooryorick branch: core-8-branch, size: 112524
2021-04-15
06:39
Merge 8.7 file: [3adf4631af] check-in: [249f885bcc] user: jan.nijtmans branch: main, size: 110597
2021-04-14
19:15
Restore expectation for Tcl_AppendObjToObj() file: [2f32440d06] check-in: [ac4d764e38] user: jan.nijtmans branch: bug-7f1162a867, size: 112687
17:12
merge trunk file: [1c4adb8fe3] check-in: [cf68fd3906] user: dgp branch: dgp-properbytearray, size: 110397
08:35
Merge 8.7 file: [3de1b7c99c] check-in: [aa97f285c7] user: jan.nijtmans branch: main, size: 110401
2021-04-13
11:51
Fix testcase utf-1.18 file: [2c98e34429] check-in: [81bc5145d7] user: jan.nijtmans branch: bug-7f1162a867, size: 112491
2021-04-12
09:30
Merge 8.7 file: [61bfcfe5ed] check-in: [fd66e6e20e] user: jan.nijtmans branch: main, size: 110389
2021-04-09
13:01
Fix TclStringCat() functions. This makes allmost all testcases pass, one left to go: utf-1.18 file: [3d05d334f7] check-in: [a7df881994] user: jan.nijtmans branch: bug-7f1162a867, size: 112479
10:57
Rename macro to ISCONTINUATION() file: [627a7c8152] check-in: [184e71413b] user: jan.nijtmans branch: bug-7f1162a867, size: 111930
09:14
new macro ISCONTBYTEORLOWERSURROGATE() file: [e9439c2edf] check-in: [f67812666d] user: jan.nijtmans branch: bug-7f1162a867, size: 111984
07:33
Fix append-3.4, append-3.7 and utf-1.18 testcases file: [89213be625] check-in: [d98eed4419] user: jan.nijtmans branch: bug-7f1162a867, size: 111683
2021-03-15
14:01
merge trunk file: [630a85db33] check-in: [9949dc3d16] user: dgp branch: dgp-properbytearray, size: 109158
12:31
Merge 8.7 (this is the TIP #575 implementation for Tcl 9.0) file: [bb49ce37b9] check-in: [3fed9809e1] user: jan.nijtmans branch: main, size: 109162
11:52
Implement TIP #575: Switchable Tcl_UtfCharComplete()/Tcl_UtfNext()/Tcl_UtfPrev() file: [662b722f1a] check-in: [4abf5fb992] user: jan.nijtmans branch: core-8-branch, size: 111252
2021-03-11
14:43
merge trunk file: [53e3b00bb0] check-in: [1517cf05c6] user: dgp branch: dgp-properbytearray, size: 109155
2021-03-10
15:48
Merge 8.7 file: [4b3a2af8d9] check-in: [62a4501023] user: jan.nijtmans branch: main, size: 109159
15:47
Merge 8.6 file: [138f5e4749] check-in: [bcaebc9bb7] user: jan.nijtmans branch: core-8-branch, size: 111249
2021-02-16
16:31
merge trunk file: [e61bddf6de] check-in: [5ada5ae596] user: dgp branch: dgp-properbytearray, size: 109128
12:17
Merge 8.7 file: [8fd095f4a5] check-in: [6d6e1bc54f] user: jan.nijtmans branch: tip-575, size: 111225
12:14
Merge 8.7 file: [e67f86cd34] check-in: [7dcf2aa4a8] user: jan.nijtmans branch: main, size: 109132
12:07
Fix bug in previous commit: Don't update stringPtr->numChars when doing a "string reverse", because TclUtfToUCS4() doesn't count surrogate pairs as 2 file: [500ae31569] check-in: [859adaff91] user: jan.nijtmans branch: core-8-6-branch, size: 83949
12:00
Merge 8.6 file: [25fb9a941e] check-in: [80ca3616d8] user: jan.nijtmans branch: core-8-branch, size: 111222
11:11
Fix [22324bcbd]: string reverse is broken for Emoji. Thanks to Chrisian Werner for bug report and POC patch. file: [44c709d68a] check-in: [6e5efe220f] user: jan.nijtmans branch: core-8-6-branch, size: 84026
2021-02-15
12:08
Merge 8.7 file: [16704e415d] check-in: [6a6cafb81f] user: jan.nijtmans branch: tip-575, size: 110668
2021-01-21
14:05
Merge TIP 481 (resolve conflicts) file: [9c64d353f3] check-in: [61fcaefc06] user: jan.nijtmans branch: dgp-properbytearray, size: 108574
2021-01-11
10:03
Merge 8.7, resolve conflicts file: [7832b339b0] check-in: [015ff38790] user: jan.nijtmans branch: main, size: 108578
2020-12-13
16:59
Merge 8.7 file: [977c550262] check-in: [0631cdce81] user: jan.nijtmans branch: tip-575, size: 109935
2020-12-11
08:25
Merge 8.7 file: [5afa51a15e] check-in: [504174b35e] user: jan.nijtmans branch: tip-481, size: 110665
2020-12-08
15:42
Merge 8.7 file: [3063df09d9] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 107893
15:31
Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet file: [64af5efde6] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 109932
2020-11-26
03:26
use new TIP 494 64bit/#define in code comment to be consistent w/ code file: [9363563def] check-in: [5dda536a26] user: bch branch: main, size: 107898
2020-11-25
09:52
Merge 8.7 file: [25c5578344] check-in: [5b4e732208] user: jan.nijtmans branch: tip-481, size: 110674
2020-10-14
06:08
Merge 8.7 file: [7d92401aa9] check-in: [a5f7cc9ba9] user: jan.nijtmans branch: tip-575, size: 109940
2020-10-13
15:54
Merge 8.7 file: [d442f744b4] check-in: [b054ba1d5f] user: jan.nijtmans branch: trunk, size: 107886
15:45
Merge 8.6 file: [24aa9c0b44] check-in: [bfda87dfca] user: jan.nijtmans branch: core-8-branch, size: 109937
14:59
More usage of TclNewObj() in stead of Tcl_NewObj() and TclNewIntObj() in stead of Tcl_NewIntObj() file: [128437bfe2] check-in: [cfbd35f083] user: jan.nijtmans branch: core-8-6-branch, size: 83387
09:07
Merge 8.6 Eliminate some (correct but actually harmless) warnings only happening on win64 file: [a59769f067] check-in: [f14b6f4907] user: jan.nijtmans branch: core-8-branch, size: 109933
2020-10-12
09:27
Merge 8.7 file: [0d6e5722d7] check-in: [ff7bcb2801] user: jan.nijtmans branch: strict-index-experiment, size: 109883
2020-09-28
10:49
Merge 8.7 file: [04156792f5] check-in: [07a4a82fd2] user: jan.nijtmans branch: trunk, size: 107882
10:39
Merge 8.6 file: [153564ef4a] check-in: [ef2427283a] user: jan.nijtmans branch: core-8-branch, size: 109903
2020-09-18
09:43
Merge 8.7. Undo signature change for Tcl_GetIntForIndex file: [b7c91db254] check-in: [6b2676abbb] user: jan.nijtmans branch: strict-index-experiment, size: 109832
08:33
New macro TclNewIndexObj() which does the same as TclNewWideIntObjFromSize() but optimized the same way as TclNewIntObj(). file: [b872143a8f] check-in: [d701aa51d5] user: jan.nijtmans branch: trunk, size: 107831
2020-09-17
14:12
Merge 8.7 file: [4c5911c975] check-in: [92d5c95fd8] user: jan.nijtmans branch: trunk, size: 107787
13:48
Eliminate many usages of Tcl_NewObj (-> TclNewObj) and Tcl_NewIntObj (-> TclNewIntObj or Tcl_NewWideIntObj) file: [81f831aa8c] check-in: [ef22eb8ac3] user: jan.nijtmans branch: core-8-branch, size: 109852
2020-09-11
14:23
More usage for TclNewWideIntObjFromSize(), TCL_IO_FAILURE -> TCL_INDEX_NONE where appropriate file: [38cec81bfc] check-in: [61832a1b89] user: jan.nijtmans branch: trunk, size: 107801
2020-08-11
06:08
Merge 8.6 file: [78dc34f5dd] check-in: [bf77bc0365] user: jan.nijtmans branch: core-8-branch, size: 109866
2020-06-18
09:31
msgcat: Don't use "string first/last" file: [19fae1a231] check-in: [64f9fb3f9a] user: jan.nijtmans branch: strict-index-experiment, size: 110062
2020-06-04
15:15
Merge 8.7. Use more TCL_INDEX_NONE in documentation/headers/code. file: [ab7cd1000c] check-in: [baad702302] user: jan.nijtmans branch: trunk, size: 107899
2020-05-24
22:35
Merge jn-index-reform branch file: [509d4f6500] check-in: [2d1fc5b3d1] user: jan.nijtmans branch: strict-index-experiment, size: 110033
2020-05-04
12:31
New internal function TclGetUCS4() only available when TCL_UTF_MAX=4. This fixes all "knownBug" testcases related to tip389. file: [5db1cd6503] check-in: [41517f0841] user: jan.nijtmans branch: core-8-6-branch, size: 83383
2020-04-30
17:21
Work In Progress. Much trickiness about sorting out expectations. file: [fff4642f7e] check-in: [581d6b939a] user: dgp branch: bug-e617e8a71a, size: 111225
2020-04-24
10:49
Merge 8.7 file: [697b786ef4] check-in: [aa56ee88d9] user: jan.nijtmans branch: trunk, size: 107927
2020-04-18
13:53
Missing Tcl_UniChar initializations allow 4-byte Tcl_UtfToUniChar to act on uninitialized mem and get into big trouble.

This bug fix is abandoned. A better solution was adopted instead. file: [f04c3aff3a] check-in: [517b1c87da] user: dgp branch: bug-c574e50a3b, size: 80291

2020-04-17
05:49
Merging forward the Utf changes. Needs some repair yet. file: [efd25157c5] check-in: [36303870fc] user: dgp branch: dgp-fixme, size: 109875
2020-04-16
20:38
Merge 8.5. Failing tests for now. To be remedied shortly. file: [66712b6d5b] check-in: [6596c4af31] user: dgp branch: core-8-6-branch, size: 81584
18:14
Create and use macro TclUtfPrev for Tcl_UtfPrev. file: [e0252da4c9] check-in: [3ba6c74d19] user: dgp branch: core-8-5-branch, size: 80454
2020-04-14
14:30
Merge 8.7 file: [2ccf3ff80f] check-in: [bd5cc21d39] user: jan.nijtmans branch: trunk, size: 107930
10:17
Merge 8.6 file: [34811a63f5] check-in: [250fd8a281] user: jan.nijtmans branch: core-8-branch, size: 109878
2020-04-13
21:36
Merge 8.5. Failing tests highlight ticket [1b1f5f0b53]. file: [cf1bd8c9d1] check-in: [50b6d532c4] user: dgp branch: core-8-6-branch, size: 81587
2020-04-09
22:27
Bulletproof the calls to Tcl_UtfPrev in Tcl_AppendLimitedToObj. file: [cf1b605e89] check-in: [05bb517053] user: dgp branch: core-8-5-branch, size: 80457
2020-03-31
14:19
Merge jn-index-reform file: [3a1d7bd9f3] check-in: [16f8ccae83] user: jan.nijtmans branch: strict-index-experiment, size: 109930
2020-03-30
12:04
Merge 8.7 file: [27b2ecb8c3] check-in: [beb27c9e8c] user: jan.nijtmans branch: trunk, size: 107831
11:37
Optimize TclStringFirst/TclStringLast: Let it return a Tcl_Obj * in stead of an int, so its callers don't need to do the conversion any more. file: [d92b66f9eb] check-in: [cb795a476e] user: jan.nijtmans branch: core-8-branch, size: 109772
2020-03-27
15:46
Since we allocate an extra byte (for terminating NUL), overflow protection has to keep the needed string length strictly less than INT_MAX.

EDIT: Sorry, that was wrong, for a slightly tricky reason. The objPtr->length field is type int, so must be limited to INT_MAX. That's the limit to protect. The memory allocation routines accept (unsigned int) argument as the number of bytes to allocate, so they can accept a request for INT_MAX + 1. file: [a4aea3fd96] check-in: [2eca3128d3] user: dgp branch: mistake, size: 81480

10:33
Fix [767e070d35]: Tcl_GetRange and Tcl_GetUniChar do not validate index inputs file: [41c76b3f25] check-in: [89f3dff179] user: jan.nijtmans branch: bug-767e070d35, size: 81481
2020-03-09
13:08
Merge 8.7 file: [6d01760a57] check-in: [8a76d170c1] user: jan.nijtmans branch: trunk, size: 107647
12:31
More TCL_UNUSED file: [fea257a137] check-in: [bfd792d6c8] user: dgp branch: core-8-branch, size: 109496
2020-02-28
12:46
Merge 8.7 file: [efb60ff41d] check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 107827
2020-02-13
22:06
Merge 8.7 file: [f19fd89a63] check-in: [c59e305ca6] user: jan.nijtmans branch: cplusplus, size: 109676
2020-01-20
14:19
Merge 8.7 file: [cb7e65f394] check-in: [3d7b2dce60] user: jan.nijtmans branch: trunk, size: 107732
2020-01-08
23:00
merge 8.7 file: [ca12c512a5] check-in: [7c9f4a0cee] user: dgp branch: utf-max, size: 109581
13:19
Merge 8.7 file: [5eb31e6a80] check-in: [a8d369c3a1] user: jan.nijtmans branch: trunk, size: 107749
13:16
Merge 8.6 file: [a88e96ab48] check-in: [544c17046b] user: jan.nijtmans branch: core-8-branch, size: 109591
2019-12-13
15:41
Merge 8.7 file: [91e8ff80c9] check-in: [24728eab4a] user: jan.nijtmans branch: utf-max, size: 109565
15:39
Merge 8.7 file: [5f739372dd] check-in: [a4ec5ee9ad] user: jan.nijtmans branch: cplusplus, size: 109670
13:06
Merge 8.7 file: [1b070d630c] check-in: [742a212258] user: jan.nijtmans branch: trunk, size: 107733
2019-12-08
16:33
Fix Valgrind problem reported as follow-up in [fc4393e9b0]. Since it happens only for TCL_UTF_MAX>3 it's not actully a 'bug' in 8.6, but it might be a corner-case not handled well in 8.7 file: [91c04f69e1] check-in: [62c2c904c3] user: jan.nijtmans branch: core-8-6-branch, size: 80648
2019-11-18
14:40
Some code cleanup. Build with zlib dll on Win32 when using makefile.vc (shared-build only) file: [2160a148d8] check-in: [d83d101308] user: jan.nijtmans branch: utf-max, size: 109562
2019-11-01
11:25
Re-base to core-8-branch file: [d1373b2aad] check-in: [0dd430544f] user: jan.nijtmans branch: digit-bit-60, size: 109575
2019-09-25
13:42
Merge 8.7 file: [8701a247ba] check-in: [be233f3e67] user: jan.nijtmans branch: utf-max, size: 109572
2019-09-03
20:32
Mark more unused parameters file: [a4a6b7500b] check-in: [c07dbdd62a] user: jan.nijtmans branch: cplusplus, size: 109667
2019-08-29
13:28
Merge tip-548 file: [b8703d6d47] check-in: [c933888049] user: jan.nijtmans branch: cplusplus, size: 109645
2019-08-28
11:45
Merge 8.7 file: [1c046c9717] check-in: [590a4ca494] user: jan.nijtmans branch: trunk, size: 107730
11:15
Merge 8.6 file: [5f01ade415] check-in: [8f92213e5f] user: jan.nijtmans branch: core-8-branch, size: 109572
09:59
Add /* FALLTHRU */ markers in various places (silencing possible GCC warnings). Eliminate some more "register" keywords. Eliminate (or silence) some unused function parameters. file: [452823711e] check-in: [7c9c59b504] user: jan.nijtmans branch: core-8-6-branch, size: 80658
2019-08-13
21:00
Eliminate dependency in test-suite on Unicode functions. Merge tip-548. Fix build with -DTCL_NO_DEPRECATED file: [4ff5aa2278] check-in: [67ec088a1c] user: jan.nijtmans branch: utf-max, size: 109535
2019-08-12
20:38
Merge branch tip-548. No longer define addtional stub-entries for functions that will be removed (because of deprecation) anyway file: [7e3440aa03] check-in: [50d822dbab] user: jan.nijtmans branch: utf-max, size: 109516
2019-08-02
12:15
Merge 8.7. Continue implementation for win32 file: [ec03e35c50] check-in: [ff6fa30271] user: jan.nijtmans branch: cplusplus, size: 109608
2019-08-01
11:55
Merge tip-548 file: [13c1283ed4] check-in: [8819e7a6a3] user: jan.nijtmans branch: utf-max, size: 109539
2019-07-24
08:29
Merge 8.7 file: [fbdc45fa22] check-in: [613d2ea48f] user: jan.nijtmans branch: trunk, size: 107693
2019-07-23
06:47
Eliminate the use of C++ keywords as variable names. Nothing more than rename the variables in something else. file: [d56bee14fc] check-in: [6c003af490] user: jan.nijtmans branch: core-8-branch, size: 109535
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: [d47618dfdc] check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 109606
2019-05-31
12:50
TIP 537 implementation: Enable 64-bit indexes in regexp matching file: [d0a7f7b7a2] check-in: [6e8aae14c1] user: jan.nijtmans branch: trunk, size: 107629
2019-05-29
23:08
Merge 8.5 file: [1f0e32043b] check-in: [a5dc393eae] user: jan.nijtmans branch: core-8-6-branch, size: 80621
22:48
Update some libtommath functions to the latest trunk versions. Small step forward in the upgrade to (upcoming) libtommath 1.2. Advantage: simplify Tcl code accessing those functions. file: [11c697ef16] check-in: [5bc72628bd] user: jan.nijtmans branch: core-8-5-branch, size: 80324
2019-05-24
20:10
end-of-line spacing file: [ccb338e464] check-in: [b770ca8973] user: jan.nijtmans branch: core-8-6-branch, size: 80633
2019-05-23
18:44
More bits and pieces of logging code file: [a85c569839] check-in: [b52c723e54] user: dkf branch: tip-390, size: 109621
2019-05-22
21:50
More simplifications, taking deprecations into account file: [0df47e5ee6] check-in: [b95de9a625] user: jan.nijtmans branch: utf-max, size: 109475
07:32
More WIP: eliminate all usage of (platform-specific) Tcl_WinTCharToUtf()/Tcl_WinUtfToTChar() to its proposed portable replacements: Tcl_Utf16ToUtfDString()/Tcl_UtfToUtf16DString() This allows for Tcl_WinTCharToUtf()/Tcl_WinUtfToTChar() to be declared deprecated. file: [211be787b1] check-in: [a33e22b6ba] user: jan.nijtmans branch: utf-max, size: 109471
2019-05-17
14:22
Merge 8.7 file: [8346ccf7c4] check-in: [592c6ff5b4] user: jan.nijtmans branch: utf-max, size: 109500
2019-05-14
19:28
Merge 8.7 file: [2312316e33] check-in: [26ddaf45e0] user: jan.nijtmans branch: trunk, size: 107635
19:26
Merge 8.6 file: [f31e84b20c] check-in: [2c56cc8106] user: jan.nijtmans branch: core-8-branch, size: 109471
19:13
Merge 8.5 file: [756d73b413] check-in: [3f4bd3bf4e] user: jan.nijtmans branch: core-8-6-branch, size: 80637
18:42
DIGIT_BIT -> MP_DIGIT_BIT, since DIGIT_BIT is deprecated in future libtommath versions. So, better stop using it at all. Also add some other defines/typdefs for future libtommath compatibility. file: [e157e79561] check-in: [464bb2de83] user: jan.nijtmans branch: core-8-5-branch, size: 80336
2019-05-10
07:50
Merge trunk file: [048affed9a] check-in: [f0009090a2] user: jan.nijtmans branch: regexp-api-64bit, size: 107614
07:46
merge 8.7 file: [00f515f82a] check-in: [f3302db091] user: jan.nijtmans branch: utf-max, size: 109485
2019-04-19
00:38
merge 8.7 file: [d35dfbf035] check-in: [ddaa30125b] user: dkf branch: trunk, size: 107620
2019-04-09
19:21
Merge 8.7. Complete implementation for MSVC and for UNIX. file: [3a8b6b893b] check-in: [b392834e2c] user: jan.nijtmans branch: digit-bit-60, size: 109433
2019-04-08
14:02
typo fix file: [2b8fe4e5bf] check-in: [d3a48e8450] user: dgp branch: dgp-string-insert, size: 109456
13:54
extend comment file: [7694281cf8] check-in: [55e4917f08] user: dgp branch: dgp-string-insert, size: 109454
2019-03-31
22:03
Enhance documentations. Move TCL_INDEX_NONE from tclInt.h to tcl.h, since it's too useful. file: [ada8838c42] check-in: [b1a506218e] user: jan.nijtmans branch: regexp-api-64bit, size: 107588
2019-03-18
22:17
Merge 8.7 file: [74f357d033] check-in: [b9ad5fe740] user: jan.nijtmans branch: trunk, size: 107594
22:14
enlarge a few small buffers, which could overflow using Unicode characters > /UFFFF. Eliminate some end-of-line spacing file: [293ba9c693] check-in: [41c373ad8f] user: jan.nijtmans branch: core-8-branch, size: 109430
2019-03-17
22:01
More WIP. Seems to be *almost* working. file: [e5cefd0895] check-in: [ab13cbd74c] user: jan.nijtmans branch: utf-max, size: 109459
2019-03-16
21:10
Merge 8.7 Move up some stub entries related to Tcl_UniChar Use TCL_UTF_MAX=4 for full Unicode in stead of TCL_UTF_MAX=6 (TCL_UTF_MAX: 3 is default) file: [6a7bcbe651] check-in: [81502a66ed] user: jan.nijtmans branch: utf-max, size: 109457
2019-03-12
20:39
Even better support for -DTCL_UTF_MAX=6. Ongoing improvements (TIP being planned) file: [cb4ac928a3] check-in: [fdcb2a7323] user: jan.nijtmans branch: utf-max, size: 109467
2019-03-11
20:56
Merge 8.7 file: [9a2c584339] check-in: [13fd8a4647] user: jan.nijtmans branch: trunk, size: 107604
20:25
Fix [590e687905]: utf-1.11 test-case fails file: [7ff771ac42] check-in: [07c460f447] user: jan.nijtmans branch: core-8-branch, size: 109440
2019-03-08
23:54
Merge trunk. Further WIP for TIP #497, far from finished .... file: [2a74bd6c11] check-in: [9fcbdde251] user: jan.nijtmans branch: tip-497, size: 106676
22:51
Merge 8.7 file: [4106daac08] check-in: [fe02c8898e] user: jan.nijtmans branch: trunk, size: 107589
2019-03-02
16:04
Backport [bd94500678e837d7] from 8.7, preventing endless loops in UTF-8 conversions when handling surrogates. Only effective when compiling with -DTCL_UTF_MAX=4|6 (default: 3). Meant for benefit of Androwish. file: [6699048f14] check-in: [9e1984c250] user: jan.nijtmans branch: core-8-6-branch, size: 80622
2019-03-01
21:59
Merge 8.7 file: [073c0fcf1f] check-in: [3e48d44568] user: jan.nijtmans branch: trunk, size: 107529
21:05
More use of TclHasIntRep() macro. Add vfs build director to fossil ignore-glob file: [2da93da41a] check-in: [6df74d3d53] user: jan.nijtmans branch: core-8-branch, size: 109425
2019-02-27
21:58
Merge 8.7 file: [e8f02c5ddb] check-in: [727e74f081] user: jan.nijtmans branch: trunk, size: 107509
21:29
Fix [bd94500678e837d7]: SEGFAULT by conversion of unicode (out of BMP) to byte-array file: [3750ef3fb4] check-in: [efe8f3e6b0] user: jan.nijtmans branch: core-8-branch, size: 109405
2019-02-26
19:37
More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) and (unsigned) type-casts, which don't make sense any more. file: [21bcf8a7f1] check-in: [2c7db3fa01] user: jan.nijtmans branch: mistake, size: 109376
2019-02-19
20:17
Merge 8.7 file: [9c9c94de64] check-in: [2b82daafb8] user: jan.nijtmans branch: trunk, size: 107474
20:16
Merge 8.6 file: [f4dbc052ce] check-in: [1b17625b60] user: jan.nijtmans branch: core-8-branch, size: 109394
20:12
Fix some comments: "upper" -> "high" (when talking about surrogates) file: [b48c1ddbe2] check-in: [1d9b7f26b0] user: jan.nijtmans branch: core-8-6-branch, size: 80593
19:38
Minor optimizations file: [9a85b8fcc2] check-in: [0e2621fc4b] user: jan.nijtmans branch: bug-bd94500678, size: 109423
2019-02-05
21:35
More size_t-related consolidations. Now regexp can handle strings >2GB and more. Remove many type-casts which are not necessary any more. file: [4d98d5258c] check-in: [4b4fe25e7d] user: jan.nijtmans branch: trunk, size: 107462
2019-02-04
22:45
Merge trunk file: [8881d78796] check-in: [a6db8815ce] user: jan.nijtmans branch: tip-502-for-9, size: 107475
2019-02-01
20:36
Another (big) round of int -> size_t enhancements. So Tcl can handle string >2GiB in more places. file: [97e786f319] check-in: [8534448b44] user: jan.nijtmans branch: trunk, size: 107971
2019-01-24
21:07
Merge trunk file: [28f9e33dec] check-in: [28d2c77936] user: jan.nijtmans branch: tip-502-for-9, size: 107967
20:10
Another round of int -> size_t modifications, so strings > 2Gb are handled correctly on 64-bit platforms. file: [221f9d3d19] check-in: [0c0ff65606] user: jan.nijtmans branch: trunk, size: 107954
2019-01-20
01:36
Merge trunk. All callers of TclIndexDecode and related functions now adapted for enhanced index range. file: [bb710e8ff3] check-in: [87b7cb4d1c] user: jan.nijtmans branch: tip-502-for-9, size: 107955
2018-12-26
15:04
Many internal int -> size_t increases, so string lengths > 2Gb can be handled correctly in many more places. file: [179f898259] check-in: [2549977bc4] user: jan.nijtmans branch: trunk, size: 107942
2018-12-13
21:01
Merge 8.7, and make all test-cases pass. file: [c95781ac93] check-in: [6415cac417] user: jan.nijtmans branch: trunk, size: 107866
20:01
Fix 2 TIP #502 corner-cases. Those corner-cases where (probably) always wrong on 32-bit systems, but now we have a TIP describing how it's expected to behave! Thanks to Emiliano for noticing and reporting it. Added 6 test-cases for completeness, 2 of them failed before this fix. Also optimize TclStringLast() a bit, implementing the pre-condition tests as in TclStringFirst(). file: [60f83484b4] check-in: [f2b18389ce] user: jan.nijtmans branch: core-8-branch, size: 109395
2018-12-12
20:14
Merge 8.7 file: [6f2a724cec] check-in: [4c2ed52f8f] user: jan.nijtmans branch: trunk, size: 107334
19:38
If compiled with -DTCL_NO_DEPRECATED, remove Tcl_NewIntObj/Tcl_NewLongObj/Tcl_DbNewLongObj from stub table, as they will be gone in 9.0 (converted to a macro) Use Tcl_WideInt's directly in more places, diminishing the possibility of inadvent overflow. file: [0bece9cda8] check-in: [72e64ef096] user: jan.nijtmans branch: core-8-branch, size: 108975
2018-11-19
14:14
Repair a few typos file: [f344289853] check-in: [5615a6c6ac] user: dgp branch: jn-use-macros, size: 107324
2018-11-18
10:29
Now that we have TCL_AUTO_LENGTH/TCL_IO_FAILURE macro's, use them to make code and documentation more readable.

Shifted to feature branch as a temporary measure since it doesn't build. file: [67866514de] check-in: [d828309515] user: jan.nijtmans branch: jn-use-macros, size: 107326

2018-11-16
20:44
merge 8.7 file: [04bf5a1358] check-in: [d167840eb0] user: dgp branch: trunk, size: 107192
20:37
merge 8.6 file: [df3e4e43fb] check-in: [d00889251a] user: dgp branch: core-8-branch, size: 108971
2018-11-06
12:59
merge core-8-branch file: [6617967c12] check-in: [445db2cb18] user: dkf branch: mistake, size: 107171
2018-10-18
15:31
merge 8.7 file: [40409af68a] check-in: [000ee6e038] user: dgp branch: tip-445, size: 108950
2018-10-11
18:54
Merge 8.7 file: [f20666f398] check-in: [37418eb6d5] user: jan.nijtmans branch: tip-481, size: 109694
2018-10-08
22:22
Re-base to 8.7 file: [4d25480c49] check-in: [e007a2ab3c] user: jan.nijtmans branch: tip-481, size: 109590
2018-09-13
20:52
merge trunk file: [dc4e403ad8] check-in: [8e81b9d9b8] user: jan.nijtmans branch: memory-API, size: 107182
20:52
merge 8.7 file: [43a9dec279] check-in: [0caf13a0cf] user: jan.nijtmans branch: trunk, size: 107393
20:33
Eliminate the use of macro's like LLONG_MAX|MIN, since they assume that Tcl_WideInt equals "long long". Also eliminate uses of Tcl_WideAsLong() and friends, as - often - simple type cases make things more clear. file: [7ab0ea12a1] check-in: [f89b8af179] user: jan.nijtmans branch: core-8-branch, size: 108961
2018-09-05
14:54
Merge trunk. Also rename TCL_NO_LENGTH -> TCL_AUTO_LENGTH file: [8b3c0ea730] check-in: [6488c06992] user: jan.nijtmans branch: memory-API, size: 107191
2018-09-04
14:37
Merge 8.7 file: [9d7c7cf60b] check-in: [cbb275cb09] user: jan.nijtmans branch: trunk, size: 107402
14:37
Fix [540bed4bde]: binary format can result in "integer value too large to represent". Implemented a new utility function TclGetWideBitsFromObj(), which handles the overflowing of integers using bignums. This function can be used in a _LOT_ of other places, preventing code duplication. Done that as well. Those changes have no effect on other commands, only two new "binary format" test-cases for this specific situation: binary-44.5 and binary-44.6 file: [7c9ee1e7b1] check-in: [c531497fcb] user: jan.nijtmans branch: core-8-branch, size: 108970
2018-09-01
22:01
Change ckalloc and friends to Tcl_Alloc and friends. Add two defines, TCL_IO_FAILURE and TCL_NO_LENGTH (experimental, still open to be renamed following discussion) file: [2f8d1883de] check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 107793
2018-08-30
21:28
Merge 8.7, and improve TIP implementation (using utility function in more places) file: [44c93aff0d] check-in: [47b67cd37d] user: jan.nijtmans branch: tip-514, size: 108970
2018-08-19
09:33
Re-base branch "all-wideint" to core-8-branch. Still WIP file: [8538e18011] check-in: [4932848e36] user: jan.nijtmans branch: tip-514, size: 108394
09:13
Still WIP. All test-cases pass now in 32-bit file: [f4e0f52cd6] check-in: [a655e95f95] user: jan.nijtmans branch: all-wideint, size: 109023
2018-08-14
07:27
Merge 8.7. Also provide a new function for handling ByteArrays file: [78d0f41993] check-in: [2e99b95206] user: jan.nijtmans branch: tip-481, size: 110201
2018-08-02
23:08
Merge 8.7 file: [52cf30541a] check-in: [0c87f5e4b5] user: jan.nijtmans branch: trunk, size: 108004
22:37
Purge end-of-line spacing file: [1198989c8c] check-in: [0ce23bd179] user: jan.nijtmans branch: core-8-branch, size: 109572
2018-07-30
19:00
merge trunk file: [dda010ecc2] check-in: [6e3719d0e0] user: jan.nijtmans branch: memory-API, size: 107777
2018-07-26
19:10
merge 8.7 file: [96698c5c48] check-in: [48caefe5a1] user: sebres branch: trunk, size: 108011
18:58
merge 8.6: bug [d051b77fc1] fixed file: [13414d77c8] check-in: [4e57a1242b] user: sebres branch: core-8-branch, size: 109579
18:56
amend after merge: 8.6th provide additionally an error-code (so missing `errCode = "OVERFLOW"`) file: [951453d5ae] check-in: [64c3676a57] user: sebres branch: core-8-6-branch, size: 80594
18:51
merge 8.5 - bug [d051b77fc1] fixed file: [e09f8da9cc] check-in: [de522f0a45] user: sebres branch: core-8-6-branch, size: 80570
16:14
[ba921a8d98] Make sure [string cat] includes all data from all bytearrays. file: [79f47698aa] check-in: [9819e2fe99] user: dgp branch: core-8-branch, size: 109491
15:57
closes [d051b77fc18d7340]: fixed segfault by integer overflow (if width by format like "%4000000000g" overflows to negative values by scan of length) file: [d5fd925496] check-in: [16846911c7] user: sebres branch: core-8-5-branch, size: 80321
2018-07-22
20:44
Fix for [ba921a8d98e02a96] - concatenating binary array with empty string yields the empty string. file: [9c2311113a] check-in: [f274e1f1ba] user: pooryorick branch: core-8-branch, size: 109023
2018-07-04
21:11
merge trunk file: [7c6c381215] check-in: [05cecae336] user: jan.nijtmans branch: memory-API, size: 107275
20:56
Merge 8.7 file: [ef14b8d97d] check-in: [4d8ee0f939] user: jan.nijtmans branch: trunk, size: 107502
20:20
Make Tcl_GetUnicode() a macro. Mark many other stub-entries which are no longer are in use (because they were converted to macros) as deprecated, since they will be removed in Tcl 9.0 file: [46dd0a615a] check-in: [b2835364c2] user: jan.nijtmans branch: core-8-branch, size: 109070
2018-07-03
19:24
More size_t API changes (*.decls files are complete now) file: [daa9b7f21a] check-in: [c49c6efd43] user: jan.nijtmans branch: memory-API, size: 108002
2018-07-02
19:39
Use size_t in more API's, e.g. *RegExp* types file: [8433ca6acf] check-in: [a494b98da4] user: jan.nijtmans branch: memory-API, size: 107965
2018-07-01
10:31
New macro TclGetByteArrayFromObj() which can handle size_t file: [c24b376dff] check-in: [c62e09171f] user: jan.nijtmans branch: memory-API, size: 107935
09:11
New macro TclGetUnicodeFromObj() which can handle size_t file: [11e32de1b2] check-in: [426d67c6bb] user: jan.nijtmans branch: memory-API, size: 108261
06:21
Starting to update all callers of TclGetStringFromObj() to use size_t variables file: [dfa2e61eb0] check-in: [97c2217f81] user: jan.nijtmans branch: memory-API, size: 108061
2018-06-29
20:28
Another round of size_t'isms, this time also for Tcl_DString file: [76ba2e1e68] check-in: [70159a633b] user: jan.nijtmans branch: memory-API, size: 108049
2018-06-28
21:42
More API changes using size_t. Internal changes not complete yet (WIP) file: [546522c34e] check-in: [1bfecd9172] user: jan.nijtmans branch: memory-API, size: 107998
20:30
More using TCL_Z_MODIFIER where possible file: [38c04b1365] check-in: [3cdf0d20c9] user: jan.nijtmans branch: memory-API, size: 107995
2018-06-27
19:09
merge trunk file: [11fff13278] check-in: [2cc2d71f0a] user: jan.nijtmans branch: memory-API, size: 108024
2018-06-24
20:27
Merge 8.7 file: [884d00077a] check-in: [1c88810e71] user: jan.nijtmans branch: trunk, size: 108229
2018-06-18
15:59
Merge 8.6. And add more documentation and test-cases regarding the behavior of Tcl_UniCharToUtf() file: [8ed065ea88] check-in: [3cb0cedeb6] user: jan.nijtmans branch: core-8-branch, size: 108991
15:54
Fix [53cad613d8]: TIP 389 implementation makes Tk tests font-4.12 and font-4.15 fail. One more situation in which high surrogate causes problem file: [a881d2cd7b] check-in: [c45de6cdb4] user: jan.nijtmans branch: core-8-6-branch, size: 80506
2018-06-16
12:32
Change signature of Tcl_GetRange() to use size_t. Merge trunk. file: [f785e906e1] check-in: [8e3bd50a3b] user: jan.nijtmans branch: memory-API, size: 108065
2018-06-08
12:50
resolves some warnings by compiling with new gcc-versions (>= 7.x): - '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] - passing argument 1 of 'Tcl_CreateExitHandler' from incompatible pointer type [-Wincompatible-pointer-types] file: [ba3226dc2a] check-in: [9ea4420be8] user: sebres branch: core-8-5-branch, size: 80257
2018-05-27
12:49
Merge 8.7. Modify various other functions to use size_t in stead of int arguments file: [9efc2a405c] check-in: [6d05288cf7] user: jan.nijtmans branch: memory-API, size: 107892
2018-05-25
06:55
merge trunk file: [95f21d9ee3] check-in: [e9340634d6] user: jan.nijtmans branch: memory-API, size: 107920
2018-05-24
12:46
merge 8.7 file: [52d060459a] check-in: [620705ca16] user: dgp branch: tip-445, size: 108863
2018-05-23
20:09
merge trunk file: [ef7082d76f] check-in: [1a6fcb9bdc] user: jan.nijtmans branch: memory-API, size: 107885
19:41
merge trunk file: [928c7a3232] check-in: [c78f328143] user: jan.nijtmans branch: novem, size: 108419
2018-05-13
13:55
merge 8.7 file: [15e78ad983] check-in: [aba84558d8] user: jan.nijtmans branch: trunk, size: 108112
07:17
General code style cleanup. file: [493f1fec6f] check-in: [ea1fc89541] user: dkf branch: core-8-branch, size: 108874
2018-05-11
11:26
merge 8.7 file: [6bdce712ba] check-in: [5dd49e9ab7] user: dgp branch: tip-445, size: 108744
2018-05-08
15:22
merge 8.7 file: [0a449d8cf9] check-in: [966bdc055f] user: dgp branch: trunk, size: 107993
15:00
merge 8.6 file: [f05f05c4e0] check-in: [714db5afb8] user: dgp branch: core-8-branch, size: 108755
2018-05-07
14:33
merge core-8-6-branch file: [5a811b0b84] check-in: [cb43f6d65a] user: pooryorick branch: core-8-branch, size: 108627
2018-05-05
16:38
Avoid generating string representation when comparing the empty string. file: [c2a0df6df8] check-in: [14d9d1de63] user: pooryorick branch: pyk-emptystring-core-8-6, size: 80362
11:39
merge trunk file: [7a1a877a62] check-in: [609ff1ffd8] user: pooryorick branch: pyk-emptystring, size: 102973
2018-04-25
13:02
merge 8.7 file: [8f55cafd87] check-in: [c16d974b49] user: dgp branch: tip-445, size: 102834
2018-04-20
10:18
merge 8.7 file: [3ae16cbf1b] check-in: [149309017e] user: jan.nijtmans branch: trunk, size: 102083
10:16
TIP #389 implementation. file: [38c4b46476] check-in: [e109760b1c] user: jan.nijtmans branch: core-8-branch, size: 102845
2018-04-15
22:01
Merge trunk file: [527c32e8d3] check-in: [ee95a2c1be] user: jan.nijtmans branch: memory-API, size: 100748
2018-04-11
16:17
merge 8.7 file: [4149f96408] check-in: [fdf9328219] user: dgp branch: tip-389, size: 102855
2018-04-06
19:14
Merge 8.7. Update two macros to TIP 445. file: [a4a23150bd] check-in: [671aed379d] user: dgp branch: tip-445, size: 101725
2018-04-05
17:59
merge trunk file: [e88ac09b25] check-in: [e45bb42625] user: dgp branch: novem, size: 101281
17:59
merge 8.7 file: [762ef51f42] check-in: [8c34e3aa19] user: dgp branch: trunk, size: 100974
17:22
Plug memleak in [format] applied to bignums. file: [9b146d72d7] check-in: [225c752bdc] user: dgp branch: core-8-branch, size: 101736
15:38
merge trunk file: [f288a64474] check-in: [df11ae7d89] user: dgp branch: novem, size: 101262
15:38
merge 8.7 file: [2e4af53e80] check-in: [68c23a4642] user: dgp branch: trunk, size: 100955
15:37
[string cat] was failing to NUL terminate string reps. Stopped "string" values triggering false valgrind alarms when tests make use of [tcl::unsupported::representation]. file: [1f688db11b] check-in: [6360678926] user: dgp branch: core-8-branch, size: 101717
2018-03-30
21:10
merge 8.7 file: [4f2bc2fbdf] check-in: [2430760def] user: dgp branch: tip-389, size: 102795
19:37
merge 8.7 file: [9e114826ec] check-in: [c8f51180e2] user: dgp branch: tip-445, size: 101665
2018-03-24
10:22
Update TZ info to tzdata2018d. file: [cedc6e9f1c] check-in: [c0a51531fd] user: jima branch: novem, size: 101221
2018-03-20
19:58
merge 8.7 file: [e16741d88c] check-in: [1f55c24720] user: dgp branch: trunk, size: 100914
16:10
Test and fix for botch in binary string replace. file: [f2d496f401] check-in: [a0dec2ad25] user: dgp branch: core-8-branch, size: 101676
2018-03-15
14:55
merge trunk file: [1f47aa9d18] check-in: [4a5c8f2780] user: dgp branch: novem, size: 101181
14:37
merge 8.7 file: [07e93f6a2d] check-in: [d1e80d709a] user: dgp branch: tip-389, size: 102755
14:23
merge 8.7 file: [39272f5367] check-in: [4f13fe6bce] user: dgp branch: tip-445, size: 101625
2018-03-14
16:17
merge 8.7 file: [7b2d54eca1] check-in: [961ccb69d2] user: dgp branch: trunk, size: 100874
15:17
New routine TclStringReplace() serves as a common implementation for both compiled and direct eval paths of [string replace]. One routine to debug, optimize, convert to new data structures, etc.

This routine will also make a good core engine for [string insert].

With this refactoring done, the value of the INST_STR_REPLACE instruction is no longer clear. Until now, the value of compiling to it was that it routed you through the "better" of the two implementations. An instruction that does nothing different from what invocation to the direct eval fallback would do does not have obvious value. file: [d06f65aea0] check-in: [190272213a] user: dgp branch: core-8-branch, size: 101636

2018-02-27
21:55
Merge trunk file: [b990c81bfe] check-in: [bbb2d60708] user: jan.nijtmans branch: memory-API, size: 96163
2018-02-23
18:20
merge trunk file: [5ad97902f0] check-in: [e719d71c96] user: dgp branch: novem, size: 96696
18:10
merge 8.7 file: [a025d2edff] check-in: [8b6f45e051] user: dgp branch: trunk, size: 96389
18:08
merge 8.7 file: [9f74e5d30b] check-in: [8d012d639c] user: dgp branch: amg-string-insert, size: 107662
18:01
merge 8.7 file: [5eabaf0a34] check-in: [9d0eb0566c] user: dgp branch: tip-445, size: 97140
17:49
Don't let presence of a string rep prevent optimizations on "pure" bytearrays. file: [ceb3105bce] check-in: [7f4d49a687] user: dgp branch: core-8-branch, size: 97151
2018-02-22
21:17
merge trunk file: [f3aae0abc7] check-in: [709a045dbb] user: jan.nijtmans branch: memory-API, size: 96267
2018-02-15
18:27
merge 8.7 file: [8230929c8d] check-in: [ced3f8220a] user: dgp branch: amg-string-insert, size: 107766
18:24
merge 8.7 file: [4b10eca601] check-in: [fb5189741a] user: dgp branch: tip-445, size: 97244
2018-02-14
21:02
merge trunk file: [625881368f] check-in: [399a998d7a] user: jan.nijtmans branch: novem, size: 96800
20:59
fix test-cases, account for differences between Tcl 8.7 and 9.0 file: [4d02686b12] check-in: [8668416b0a] user: jan.nijtmans branch: trunk, size: 96493
20:43
merge core-8-branch file: [ea7cc76352] check-in: [5cfe15b5d6] user: jan.nijtmans branch: trunk, size: 96640
15:33
merge 8.7 file: [875c361645] check-in: [1a4479ca01] user: dgp branch: z_modifier, size: 97255
2018-02-09
20:57
merge 8.7 file: [b04351d2a2] check-in: [d200f0036e] user: dgp branch: amg-string-insert, size: 107328
2018-02-06
21:11
merge 8.7 file: [771a221a06] check-in: [f7dba39527] user: dgp branch: tip-445, size: 96806
21:08
merge trunk file: [8cce0fc7b4] check-in: [a233811733] user: jan.nijtmans branch: memory-API, size: 95989
21:01
merge trunk file: [19160116f3] check-in: [0774eefae7] user: jan.nijtmans branch: novem, size: 96418
20:54
merge core-8-branch file: [d0a45288cf] check-in: [30f95df8b0] user: jan.nijtmans branch: trunk, size: 96202
19:10
Rework TclStringReverse to consistent standard form. file: [555ac2f1dd] check-in: [40a7339d29] user: dgp branch: dgp-string-tidy, size: 96817
18:33
TclStringLast fixed. file: [c4a36775f7] check-in: [514c7bb735] user: dgp branch: dgp-string-tidy, size: 96711
17:26
Rename TclStringFind to TclStringFirst. Repair its operations on bytearrays. Stop trying to operate on utf-8 until we nail that down better. file: [bd7a2c8685] check-in: [d37a7eed5d] user: dgp branch: dgp-string-tidy, size: 97350
2018-02-05
16:34
Revise the TclStringCat() interface to follow a common pattern. file: [65ceff8c0f] check-in: [77b878eb09] user: dgp branch: dgp-string-tidy, size: 96995
16:10
Revise TclStringRepeat() interface so that in place operations are done only by caller request. Establish a re-usable pattern. file: [a6d60a00de] check-in: [87c1b5cb88] user: dgp branch: dgp-string-tidy, size: 97047
13:41
Improved overflow prevention. file: [dbf8ae4d93] check-in: [45d6ea17ab] user: dgp branch: dgp-string-tidy, size: 97016
13:33
Improved overflow prevention. file: [f16028f371] check-in: [37bc8a96c8] user: dgp branch: dgp-string-tidy, size: 97025
2018-01-29
11:36
merge trunk file: [9c955d5add] check-in: [3faa71ab4f] user: jan.nijtmans branch: memory-API, size: 96206
2018-01-26
16:20
merge core-8-branch. Also add range checks to Tcl_GetUniChar() and Tcl_Range(), as suggested by Don Porter. file: [0f07448430] check-in: [c33b158bd6] user: jan.nijtmans branch: tip-389, size: 98131
2018-01-25
19:36
merge 8.7 file: [0b7ce1bc7f] check-in: [aedd087091] user: dgp branch: amg-string-insert, size: 107548
2018-01-18
13:32
merge 8.7 file: [fafa7f3276] check-in: [bac2c99230] user: dgp branch: tip-445, size: 97001
2018-01-17
13:16
merge trunk (most of the API removals already were on "novem") file: [edc884a987] check-in: [36a7ab983d] user: jan.nijtmans branch: novem, size: 96603
2018-01-15
11:41
merge core-8-branch file: [4a209a206b] check-in: [962da37427] user: jan.nijtmans branch: z_modifier, size: 97450
2018-01-12
11:18
merge core-8-branch file: [8e2e5cd74c] check-in: [3451858e13] user: jan.nijtmans branch: trunk, size: 96397
2018-01-11
15:59
merge core-8-branch. Remove left-over debugging code. Test-case string-5.21 still fails. file: [d5957d9d33] check-in: [ad24e66451] user: jan.nijtmans branch: tip-389, size: 97607
15:45
merge core-8-6-branch file: [ae8ea18980] check-in: [a0d51b9a0e] user: jan.nijtmans branch: core-8-branch, size: 97012
15:44
Fix behavior of Tcl_GetRange() and "string range" regarding surrogates, when Tcl is compiled with -DTCL_UTF_MAX=4. Partial fix for bug [11ae2be95dac9417]. Also, fix typo. file: [7c9a7ab3c8] check-in: [27a52735df] user: jan.nijtmans branch: core-8-6-branch, size: 79472
14:11
Add test-cases for bug [11ae2be95dac9417], and make a start fixing it. Almost works. file: [11e3ac6576] check-in: [6758341b2f] user: jan.nijtmans branch: tip-389, size: 97606
2017-12-23
20:18
merge core-8-branch file: [a0e8103418] check-in: [4cc6fab374] user: jan.nijtmans branch: tip-389, size: 96644
2017-12-19
15:46
merge core-8-branch file: [bc8363c7d0] check-in: [6cdd6bd319] user: jan.nijtmans branch: z_modifier, size: 97092
2017-12-15
19:55
merge trunk file: [749d4e7189] check-in: [878d1b77fd] user: jan.nijtmans branch: memory-API, size: 95848
2017-12-06
21:01
merge trunk file: [a265441fc1] check-in: [46c4fb0467] user: dgp branch: novem, size: 96245
13:29
merge 8.7 file: [546a9e4e8b] check-in: [95532b94be] user: dgp branch: tip-445, size: 96643
13:28
Adapt the bytearray accommodation of Tcl_CharLength() for 8.7+. file: [140d2a3eba] check-in: [240811f822] user: dgp branch: trunk, size: 96039
13:28
Adapt the bytearray accommodation of Tcl_CharLength() for 8.7+. file: [13fcd91ae3] check-in: [12edbbe920] user: dgp branch: core-8-branch, size: 96654
12:17
Don't do same test twice file: [69a822b650] check-in: [e0f3431c35] user: jan.nijtmans branch: z_modifier, size: 97031
12:10
merge 8.7 file: [31d2d59961] check-in: [48920a9cbe] user: jan.nijtmans branch: z_modifier, size: 97078
2017-12-01
15:03
merge trunk file: [15bc050250] check-in: [e008d0adce] user: jan.nijtmans branch: memory-API, size: 95787
11:33
merge core-8-branch file: [3ad44667ae] check-in: [dabd924a87] user: jan.nijtmans branch: tip-389, size: 96583
2017-11-30
17:59
merge trunk file: [8c0ce28818] check-in: [859b772cb4] user: dgp branch: novem, size: 96184
17:52
merge 8.7 file: [5c5b0f1355] check-in: [1e5dc1b17c] user: dgp branch: tip-445, size: 96582
17:29
merge 8.7 file: [fb965884b3] check-in: [f625f52639] user: dgp branch: trunk, size: 95978
17:21
[5808081213] Permit all bytearrays (including impure ones) to report length without shimmering file: [6d960ff781] check-in: [2fc5bec969] user: dgp branch: core-8-branch, size: 96593
17:10
[5808081213] Permit all bytearrays (including impure ones) to report length without shimmering file: [d43998962e] check-in: [2381208744] user: dgp branch: core-8-6-branch, size: 79114
15:03
merge trunk file: [8012bbcd3f] check-in: [6554f79bed] user: jan.nijtmans branch: novem, size: 95905
13:23
merge core-8-branch file: [44cb7bb539] check-in: [12e64c66a1] user: jan.nijtmans branch: trunk, size: 95699
13:14
Fix [8e1e31eac0]: lsort treats NUL chars strangely. Also fix various initializations, which only make a difference when TCL_UTF_MAX == 4. Add new test-cases which demonstrate the fix. For TCL_UTF_MAX == 4, surrogates will now be handled as expected as well when sorting. file: [381d2dd217] check-in: [b6438b69ad] user: jan.nijtmans branch: core-8-branch, size: 96314
2017-11-21
10:16
merge trunk file: [2ba171df08] check-in: [971efdefda] user: jan.nijtmans branch: memory-API, size: 95513
2017-11-17
16:08
merge core-8-branch. Fix some Tcl_UniChar initialization, in case TCL_UTF_MAX == 4 file: [4d92a16872] check-in: [37b4aab687] user: jan.nijtmans branch: tip-389, size: 96304
11:12
merge trunk file: [c1e849ae80] check-in: [1f9599f5f7] user: jan.nijtmans branch: novem, size: 95910
10:50
TIP #422, Tcl 9.0 part: Don't Use stdarg.h/va_list in Public API file: [7df8bc2554] check-in: [717b28b47a] user: jan.nijtmans branch: trunk, size: 95704
2017-11-16
11:17
re-base "novem-more-memory-API" to trunk. TIP not submitted yet, but upcoming. file: [7b23464df5] check-in: [3cb46ea71b] user: jan.nijtmans branch: memory-API, size: 96128
2017-11-13
11:47
merge novem file: [22e8847f30] check-in: [b066227b02] user: jan.nijtmans branch: novem-more-memory-API, size: 96048
2017-11-09
13:36
merge 8.7 file: [8e35ee4389] check-in: [cbada9ca30] user: dgp branch: tip-445, size: 96308
12:52
merge trunk file: [1011282a24] check-in: [54f289e311] user: jan.nijtmans branch: novem, size: 96525
12:50
merge core-8-6-branch file: [41acf5c9e5] check-in: [ef4cc04bc1] user: jan.nijtmans branch: core-8-branch, size: 96319
12:48
Make "scan %c" and the internal function ExtendUnicodeRepWithString() work as expected for TCL_UTF_MAX == 4 when handling characters > U+ffff. No effect when TCL_UTF_MAX == 3 or TCL_UTF_MAX == 6 file: [509df6abdf] check-in: [baceb17559] user: jan.nijtmans branch: core-8-6-branch, size: 78835
2017-11-07
16:31
merge 8.7 file: [cb2c6dac34] check-in: [82237d44ae] user: jan.nijtmans branch: z_modifier, size: 96781
12:15
Somewhat simplified implementation of TIP #389, in which the "string length" if characters > U+FFFF is considered to be 2, not 1. file: [94c0554108] check-in: [d224d38a6d] user: jan.nijtmans branch: tip-389, size: 96309
09:33
Re-base TIP #422 implementation to trunk. Remove Tcl_VarEvalVA() as well. TIP #422 is adapted accordingly. file: [bb246b5ae5] check-in: [24db7a9013] user: jan.nijtmans branch: tip-422, size: 95682
2017-11-06
00:17
merge 8.7 file: [85d5779e4f] check-in: [b7ea80156a] user: dgp branch: tip-445, size: 96286
2017-11-05
14:24
merge trunk file: [8874bd7fe3] check-in: [9a1ca33625] user: jan.nijtmans branch: novem, size: 96503
2017-11-04
00:34
Fix for the weird [string first] behaviour. file: [210cfafb04] check-in: [7af9c67f01] user: dkf branch: string-first-unicode-bug, size: 96297
2017-11-01
14:46
TIP 422 implementation (rebase of branch novem-remove-va to trunk). file: [481c9e1f28] check-in: [e090a04f00] user: dgp branch: tip-422, size: 95456
2017-10-27
08:45
First implementation of TIP #481: Extend size range of various Tcl_Get*() functions file: [f3862c08dc] check-in: [3d8b34236d] user: jan.nijtmans branch: tip-481, size: 96700
2017-10-16
12:05
merge trunk file: [aa6a4e6acb] check-in: [81c802c91a] user: jan.nijtmans branch: z_modifier, size: 96555
11:55
Add support for 'L' length modifier (either long double or mp_int) and 'a'/'A' modifiers (floating point in hex notation) file: [77ab02e880] check-in: [3d16d7c07b] user: jan.nijtmans branch: z_modifier, size: 96487
2017-10-13
16:39
merge trunk file: [aeaea5408b] check-in: [a49c3597fe] user: dgp branch: novem, size: 96277
16:38
merge trunk file: [fe05bcaccf] check-in: [73893dacd8] user: dgp branch: tip-445, size: 96060
16:15
Plug some memleaks. file: [29ba094dd1] check-in: [5fdcbcbaeb] user: dgp branch: trunk, size: 96071
14:46
Fix missing line (after manual merge-conflict). Fix compiler warning on linux64. file: [a9c5966bd4] check-in: [d97fba48fc] user: jan.nijtmans branch: z_modifier, size: 96205
14:07
Merge trunk. And merge jn-0d-radix-prefix branch in too (too small to be considered separately) file: [7a732abd3f] check-in: [0c4174b197] user: jan.nijtmans branch: z_modifier, size: 96164
2017-09-18
01:38
Rename Tcl_StringReplace() to Tcl_ReplaceObj() for consistency with other public string object functions, most notably Tcl_ConcatObj() file: [6934c9ea66] check-in: [e5bf34271e] user: andy branch: amg-string-insert, size: 106539
01:29
Improve comments file: [2f15086516] check-in: [659068fa85] user: andy branch: amg-string-insert, size: 106537
2017-09-17
21:09
Improve comment to describe return value file: [bf1b089871] check-in: [6d502aa4ca] user: andy branch: amg-string-insert, size: 106401
2017-09-16
19:50
Merge trunk file: [f7df2ff627] check-in: [601141ff84] user: andy branch: amg-string-insert, size: 106162
2017-09-11
13:21
merge novem file: [5baaded06c] check-in: [a0bd6b43c0] user: jan.nijtmans branch: novem-more-memory-API, size: 95732
2017-09-10
13:35
merge novem file: [3e33014a88] check-in: [4fa9cc2903] user: jan.nijtmans branch: novem-more-memory-API, size: 95702
2017-09-08
12:48
Rebase to trunk file: [c155e8a892] check-in: [5e999389ca] user: jan.nijtmans branch: z_modifier, size: 96004
2017-09-05
12:41
merge trunk file: [b1ecd0412b] check-in: [37388a0d90] user: dgp branch: tip-445, size: 95992
2017-09-04
14:03
merge trunk file: [8ef17ad1f9] check-in: [55e5374f6b] user: jan.nijtmans branch: novem, size: 96209
2017-09-01
13:49
Merge core-8-6-branch file: [502a378781] check-in: [314f32710e] user: jan.nijtmans branch: trunk, size: 96003
13:48
Handle Unicode surrogates correctly in Tcl_AppendFormatToObj() and BuildCharSet(). Only makes a difference for TCL_UTF_MAX=4, when surrogates are used in the format string ... highly unlikely corner-case. file: [9e16eded34] check-in: [9d12b1026e] user: jan.nijtmans branch: core-8-6-branch, size: 78813
00:52
merge trunk file: [946cfdc1a4] check-in: [c3fbabfb73] user: dgp branch: tip-445, size: 95989
2017-08-30
15:22
Merge trunk file: [cf06cd2994] check-in: [0def7d0317] user: andy branch: amg-string-insert, size: 106159
15:20
Rename TclStringReplace() to Tcl_StringReplace() and add to the stubs table. Documentation not yet started. file: [bd37662072] check-in: [678e846973] user: andy branch: amg-string-insert, size: 106151
2017-08-29
09:19
Merge trunk file: [d674f98232] check-in: [f2f6504adb] user: jan.nijtmans branch: novem, size: 96206
2017-08-25
13:46
Merge trunk file: [92fd238889] check-in: [c841475a89] user: jan.nijtmans branch: tip-389-impl, size: 96797
2017-08-20
19:55
Tweak string index boundary conditionals for tiny performance improvement and to make existing tests cover more code paths file: [c36443cf98] check-in: [025ea6e5be] user: andy branch: amg-string-insert, size: 106149
03:20
Correct NULL dereference, and optimize short-circuit logical operation file: [52df78a1df] check-in: [fa3278ec35] user: andy branch: amg-string-insert, size: 106145
02:44
Work toward dgp's suggestion that the underlying engine handle both [string insert] and [string replace]. Ref: https://sourceforge.net/p/tcl/mailman/message/36002472/ file: [9de8a5e34f] check-in: [0cfeecb740] user: andy branch: amg-string-insert, size: 106113
2017-08-18
22:06
merge core-8-6-branch file: [690a519b50] check-in: [75da8b29f8] user: jan.nijtmans branch: trunk, size: 96000
2017-08-17
18:32
Correct bug in getting second Unicode character sequence file: [138ad54a5d] check-in: [87dadea232] user: andy branch: amg-string-insert, size: 101545
18:15
Clip (don't reject) out-of-bounds indexes, per sebres's suggestion and to match [linsert] file: [71956eb91e] check-in: [581e438bb7] user: andy branch: amg-string-insert, size: 101545
2017-08-15
08:23
Correct bug in shared pure byte array case file: [4ae1ac9cfc] check-in: [597e9993b3] user: andy branch: amg-string-insert, size: 101949
07:50
Begin implementation of [string insert] file: [b8f90722d7] check-in: [cbfded0f59] user: andy branch: amg-string-insert, size: 101943
2017-07-03
12:32
merge core-8-6-branch file: [b8e38b5d6b] check-in: [4467b7768e] user: jan.nijtmans branch: rfe-6c0d7aec67, size: 78810
2017-06-29
13:18
merge trunk file: [b8f3c9ad30] check-in: [65f7b12c0e] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 96334
11:29
merge trunk file: [c712f448e2] check-in: [e6b9d7a231] user: dgp branch: tip-445, size: 95981
2017-06-28
13:45
merge trunk file: [66756acf4a] check-in: [6921b83aca] user: jan.nijtmans branch: novem, size: 96198
13:44
merge core-8-6-branch file: [23657e1079] check-in: [474ea18601] user: jan.nijtmans branch: trunk, size: 95992
13:32
Eliminate use of (expensive) Tcl_UtfToUpper() from "format": Just generate the expected uppercase characters right away from the start. No change in functionality, just code optimization. file: [f04956de4b] check-in: [bb9d202e4c] user: jan.nijtmans branch: core-8-6-branch, size: 78802
11:02
Implement %a and %A for floating point numbers file: [1071c11e5c] check-in: [35812670ab] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 96474
2017-06-27
12:00
Merge trunk. Don't use expensive ToUpper() for hex 0X???? formatting, just generate uppercase directly. file: [c4ceeb5c70] check-in: [2004acdea6] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 96420
10:13
Implement "format %o" as prefixing with "0o" in stead of "0" (Kevin Kenny's suggestion). Seems ready to be TIPed (just some more testing) file: [54d70ffa6a] check-in: [3b3992d33d] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 96308
2017-06-26
20:14
merge trunk file: [8506455b32] check-in: [b9b632a2ca] user: dgp branch: tip-445, size: 95939
10:20
Rebase branch "jn-0d-radix-prefix" back to trunk. No new changes file: [f36a74b868] check-in: [e2b749751c] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 96006
2017-06-23
08:11
TIP #472 implementation: Add Support for 0d Radix Prefix to Integer Literals file: [92a93fe778] check-in: [4f68bf6677] user: jan.nijtmans branch: trunk, size: 95950
2017-06-16
20:35
merge trunk file: [f8ac745ee0] check-in: [f7688ef8a2] user: dgp branch: novem, size: 96156
20:28
merge trunk file: [1f0fa6d079] check-in: [2b4060cef5] user: dgp branch: tip-445, size: 95848
19:54
Another reworking, now with comments. file: [606e64962b] check-in: [e9f3293d67] user: dgp branch: trunk, size: 95859
16:23
Simplify the final loop when we know we're generating strings for all. file: [3c8756493f] check-in: [20cca1d020] user: dgp branch: trunk, size: 95527
16:07
Split loop into two cases for further simplification. file: [01ac978396] check-in: [afd6a2812b] user: dgp branch: trunk, size: 96045
15:51
Factor out and simplify loop scanning leading known empty values. file: [a57ed9b254] check-in: [1e6a22b0fc] user: dgp branch: trunk, size: 95188
14:46
Use local variables. file: [809b569478] check-in: [af5aec752d] user: dgp branch: trunk, size: 94712
14:43
Rework the logic. Equivalent function. file: [069b22723d] check-in: [aa9699939f] user: dgp branch: trunk, size: 94685
12:56
Extend cases where string rep generation can be prevented. file: [41cf40e8fc] check-in: [3f07499767] user: dgp branch: trunk, size: 94890
11:47
Better define the meaning of "first" and "last". file: [7e2881a451] check-in: [a1eb17546f] user: dgp branch: trunk, size: 94546
2017-06-14
10:04
Little variation on Brian's proposal: Only prefix decimal number with '0d' when that's necessary for correct interpretation of the number when parsed back again. file: [a0babf9db8] check-in: [20eeb7733d] user: jan.nijtmans branch: jn-0d-radix-prefix, size: 78907
07:54
Rebase to core-8-6-branch (who told that fossil doesn't know how to rebase ....) file: [ce447bbf69] check-in: [ae4471b37c] user: jan.nijtmans branch: bsg-0d-radix-prefix, size: 78851
2017-06-12
14:04
Add support of 0d in the format %# conversion flag. Add tests for same. file: [572a8980de] check-in: [b8074009fb] user: griffin branch: bsg-0d-radix-prefix, size: 93630
13:29
merge trunk file: [85420d7230] check-in: [ef7adbfe4b] user: jan.nijtmans branch: z_modifier, size: 94432
2017-06-09
12:20
merge trunk file: [0d3c5250a4] check-in: [ee2c5cf945] user: jan.nijtmans branch: tip-389-impl, size: 95236
11:48
merge novem file: [785b7d4d00] check-in: [f687ce6a36] user: jan.nijtmans branch: novem-more-memory-API, size: 94221
11:17
merge trunk file: [bb9451b762] check-in: [f0e33a9d48] user: jan.nijtmans branch: novem, size: 94728
2017-06-08
21:10
Don't test the impossible. file: [bb0ad94631] check-in: [db46268589] user: dgp branch: dgp-stringcat-delaystringrep, size: 94431
21:05
Modernize overflow checks. file: [17030bf874] check-in: [f4c7382b8a] user: dgp branch: dgp-stringcat-delaystringrep, size: 94461
20:57
More streamlining file: [6712322a3a] check-in: [8d50922091] user: dgp branch: dgp-stringcat-delaystringrep, size: 94377
20:40
More streamlining. file: [7c869a81bb] check-in: [04d8b74d04] user: dgp branch: dgp-stringcat-delaystringrep, size: 94378
20:31
pendingPtr == NULL implies (last == first) implies early out file: [3b67bd7866] check-in: [5ed6f019fa] user: dgp branch: dgp-stringcat-delaystringrep, size: 94541
16:44
When possible delay string rep generation until necessary. file: [d7c495f68b] check-in: [38795b0541] user: dgp branch: dgp-stringcat-delaystringrep, size: 94819
08:26
Better UTF-8 surrogate handling, only functional when TCL_UTF_MAX>3 file: [90b176d807] check-in: [5ae46a0093] user: jan.nijtmans branch: rfe-6c0d7aec67, size: 78768
2017-06-07
10:02
Stop trimming on first non empty-string. file: [f72ef1be02] check-in: [ec3978c023] user: avl branch: mistake, size: 94631
09:24
bug-716b427f76 branch continued. file: [f5a457d834] check-in: [dd3cb3bb2e] user: avl branch: mistake, size: 94619
2017-06-06
15:51
merge trunk file: [f5c13d7ef1] check-in: [1ce52fbf89] user: dgp branch: novem, size: 94272
14:46
Merge trunk file: [d5f5ff845a] check-in: [b03462a529] user: jan.nijtmans branch: tip-389-impl, size: 94780
13:48
merge trunk file: [401270c943] check-in: [2b3de0b7fe] user: dgp branch: tip-445, size: 93964
12:56
A few more tweaks to streamline and clarify. file: [e07c83dc69] check-in: [d253aace3f] user: dgp branch: bug-716b427f76, size: 93975
09:25
makes TclStringCatObjv safe accepting objc = 0 (or 1), then fast exits with new object / first; check-cycles rewritten to be still more faster. file: [4002a459f3] check-in: [c30066298d] user: sebres branch: bug-716b427f76, size: 93891
09:01
amend to [eac4656f1e8cf793] (moved to scope where numChars != 0 in Unicode case) file: [a976070b52] check-in: [0a267ebdd3] user: sebres branch: bug-716b427f76, size: 93775
08:34
small code review: don't need to check length if unchanged + the same case if 0 length file: [1fa38362c7] check-in: [eac4656f1e] user: sebres branch: bug-716b427f76, size: 93770
2017-06-05
20:03
Optimize TclStringCatObjv() for case when only one argument is non-empty. file: [86f66a1375] check-in: [4225e01eb6] user: dgp branch: bug-716b427f76, size: 93784
2017-05-31
12:51
merge trunk file: [72dfeac981] check-in: [f07a85fee0] user: jan.nijtmans branch: tip-389-impl, size: 94331
2017-05-29
15:38
merge trunk file: [3649307253] check-in: [6d946ddf77] user: jan.nijtmans branch: tip-389-impl, size: 94318
13:16
merge trunk file: [4886d4ddc5] check-in: [5985b3e0a0] user: jan.nijtmans branch: novem, size: 93823
13:14
merge core-8-6-branch file: [6d9334d07e] check-in: [a9965b7335] user: jan.nijtmans branch: trunk, size: 93526
13:10
Tcl_UtfToUniChar() -> TclUtfToUniChar() in various places: No change in functionality, just faster if ASCII only strings are involved. file: [02ac17551b] check-in: [7351fc0c9c] user: jan.nijtmans branch: core-8-6-branch, size: 78760
2017-05-23
14:57
merge trunk file: [2b6495f543] check-in: [9430d4c198] user: jan.nijtmans branch: tip-389-impl, size: 94331
2017-05-04
11:35
merge novem file: [1aa3035baa] check-in: [70b0b53b8a] user: jan.nijtmans branch: novem-more-memory-API, size: 93329
2017-04-17
12:42
merge trunk file: [b0da68e927] check-in: [f60edffb5b] user: dgp branch: tip-445, size: 93528
2017-04-12
14:33
merge trunk file: [61c5722110] check-in: [50c38d55a8] user: jan.nijtmans branch: novem, size: 93836
13:43
If %llu is considered invalid, it means that "%" TCL_LL_MODIFIER "u" cannot be used Tcl_ObjPrintf(), but only in sprintf(). That's unfortunate, clearly an oversight in TIP #237. Conclusion: new TIP must be written to correct this.

I'll read a TIP and see what case you have, but TCL_LL_MODIFIER was never meant to play any role in [format] or in Tcl_ObjPrintf(). TCL_LL_MODIFIER exists to help deal with platform differences in sprintf() calls.

Tcl_ObjPrintf() in contrast ought to be consistent in its behavior across platforms and should not need such things. If that's false, then fixes to Tcl_ObjPrintf() are in order. file: [91940e59e9] check-in: [7f1a6f68a7] user: jan.nijtmans branch: trunk, size: 93539

13:36
merge trunk file: [94406552a7] check-in: [36507326e3] user: dgp branch: tip-445, size: 93528
13:28
merge trunk file: [c82c723c8f] check-in: [21af18f4ec] user: dgp branch: novem, size: 93836
2017-04-07
14:48
Use "0o" in stead of "0" as octal prefix in more places. file: [92cdfcc736] check-in: [c48c3ddc4b] user: jan.nijtmans branch: z_modifier, size: 93540
13:46
Merge trunk. Only use hash prefix (0x, 0b, 0 ) if value is not 0, except for %p. file: [8e07703241] check-in: [9997117f12] user: jan.nijtmans branch: z_modifier, size: 93785
2017-04-06
11:53
merge trunk file: [e8499dd653] check-in: [6c868716b3] user: dgp branch: tip-445, size: 93588
07:45
merge trunk file: [415e56f758] check-in: [516e61341c] user: jan.nijtmans branch: novem, size: 93896
2017-04-05
09:09
Fix [4b12ccb336]: format/scan %llu doesn't work. Also added new test-cases showing the expected behavior. file: [d52bdc2c54] check-in: [be99031456] user: jan.nijtmans branch: trunk, size: 93599
08:41
Fix [4b12ccb336]: format/scan %llu doesn't work. Also added new test-cases showing the expected behavior. file: [7260ede851] check-in: [80252e0aed] user: jan.nijtmans branch: core-8-6-branch, size: 78833
2017-04-03
12:54
Merge core-8-6-branch. Add test-cases showing that the (undocumented) %p format (and also %zd/%td) are harmless, since they are equivalent to other already existing formats. file: [1146985adf] check-in: [c3e6a981f3] user: jan.nijtmans branch: trunk, size: 93539
11:53
Code optimization/reduction: If TCL_WIDE_INT_IS_LONG is defined, the variable useWide is always 0, so related code can be eliminated without loss of functionality. file: [d92292f595] check-in: [231e5d408e] user: jan.nijtmans branch: core-8-6-branch, size: 78773
2017-03-29
14:35
merge trunk file: [65aa274c0f] check-in: [5154e628d8] user: dgp branch: tip-445, size: 93184
2017-03-28
07:14
(experimental) new internal macro TCL_Z_MODIFIER, just like TCL_LL_MODIFIER but then for size_t. file: [6fa23dff19] check-in: [9dd6c3c9da] user: jan.nijtmans branch: z_modifier, size: 93150
2017-03-27
13:04
merge trunk file: [475e8ae64e] check-in: [443feb509f] user: jan.nijtmans branch: novem, size: 93492
2017-03-24
15:52
Supply more C99-compatible (and MSVC) format options: '%p' for pointers, 'z'/'j'/'I' for size_t/intptr_diff, 'j'/'q' for long long. Also add "I32" froom MSVC. Remove TCL_LL_MODIFIER specified as "L" for Borland: This must be wrong as "L" is meant for long double. Just assume that later Borland compilers are MSVC-compatible. file: [be9f944510] check-in: [316d711dac] user: jan.nijtmans branch: trunk, size: 93195
2017-02-03
18:49
merge trunk file: [829d9830d5] check-in: [3f498cec91] user: dgp branch: tip-445, size: 92542
14:03
merge trunk file: [dfc0eea99e] check-in: [052d6fe213] user: jan.nijtmans branch: novem, size: 92850
11:47
In TclGetNumberFromObj() macro (tclExecute.c): Don't fill in type if TCL_ERROR is returned: The caller doesn't do anything with this. Don't access (non-const) variable tclEmptyStringRep any more, use its value (&tclEmptyString) directly. Only keep it in tclPkg.c, for error checking. file: [a4d1c3f920] check-in: [54e59981c7] user: jan.nijtmans branch: trunk, size: 92553
2017-02-02
15:50
In stead of testing for tclEmptyStringRep, in many situations it is better to check whether the string ends with '\0'. file: [1b8a250575] check-in: [a829bb8887] user: jan.nijtmans branch: jn-emptystring, size: 92573
2017-02-01
15:03
merge trunk file: [dbd0b60778] check-in: [15a654c3c0] user: jan.nijtmans branch: pyk-emptystring, size: 93455
2016-12-23
09:32
merge novem file: [e4aeb031ac] check-in: [9d557545fc] user: jan.nijtmans branch: novem-more-memory-API, size: 92355
2016-12-19
18:43
merge trunk file: [6017708e87] check-in: [2dbe7ac399] user: dgp branch: tip-445, size: 92552
10:42
merge novem file: [a60caa55a7] check-in: [10c36e48f6] user: jan.nijtmans branch: novem-more-memory-API, size: 92305
09:14
merge trunk file: [af139bd7e0] check-in: [d9627dd7b6] user: jan.nijtmans branch: novem, size: 92862
2016-12-14
15:03
Implement all possible TCL_LL_MODIFIER formats in Tcl_ObjPrintf(), can be "ll", "I64" and "L", whatever the platform defines for long long integer. With test-cases. file: [b4f07ec16f] check-in: [79a28ae5ea] user: jan.nijtmans branch: trunk, size: 92565
14:14
Implement all possible TCL_LL_MODIFIER formats in Tcl_ObjPrintf(), can be "ll", "I64" and "L", whatever the platform defines for long long integer. With test-cases. file: [baf1cab923] check-in: [907c39d91a] user: jan.nijtmans branch: jn-wide-printf, size: 92556
2016-12-06
12:46
merge trunk file: [8f26e40bc1] check-in: [54d0f67188] user: dgp branch: novem, size: 92458
2016-12-02
21:08
Avoid "warning: format '%llu' expects argument of type 'long long unsigned int', but argument 2 has type 'long unsigned int'" on platforms where TCL_WIDE_INT_IS_LONG. Warning introduced by check-in [e3ba334a42] which was merged to trunk by [eac13870dc]. This fix also was made by [418b169207] which has not yet been merged to trunk. file: [2104ddda5e] check-in: [871fcf85c4] user: andy branch: trunk, size: 92161
19:01
merge trunk file: [8aa32eec65] check-in: [33041ae916] user: dgp branch: tip-445, size: 92088
15:52
implement "I64" format in Tcl_ObjPrintf as well. Still to be tested. file: [6ac52a931c] check-in: [418b169207] user: jan.nijtmans branch: jn-wide-printf, size: 92353
14:46
merge trunk file: [9c709f51c4] check-in: [e4c06b61d2] user: jan.nijtmans branch: novem, size: 92398
13:50
Implement %ll (WideInt) handling for Tcl_ObjPrintf(). Use it in some places.

Moved to feature branch temporarily. Breaks build. file: [b429274168] check-in: [e3ba334a42] user: jan.nijtmans branch: jn-wide-printf, size: 92101

2016-12-01
11:46
merge trunk file: [94e7c35058] check-in: [391ec4f295] user: jan.nijtmans branch: novem, size: 92526
11:44
compatability -> compatibility file: [2fe45d57e7] check-in: [f94307dc05] user: jan.nijtmans branch: trunk, size: 91946
11:20
More internal use of size_t. Eliminate unused "isBin" argument from TclpSysAlloc() file: [ecf658a824] check-in: [9d4cd6b1aa] user: jan.nijtmans branch: novem, size: 92527
2016-11-30
14:27
Merge trunk file: [f4d6556db9] check-in: [39918e8e32] user: jan.nijtmans branch: novem, size: 92244
03:16
merge trunk file: [3b8fb310b3] check-in: [c2b9c28871] user: dgp branch: tip-445, size: 91934
03:08
Route all [string repeat] operations through a common implementation. Code that to preserve bytearrays, eliminate unnecessary string rep generation, increase efficiency, and encapsulate access to internal rep details. file: [5168c1dc94] check-in: [e6e6fee0e1] user: dgp branch: trunk, size: 91947
2016-11-29
18:46
Where feasible, convert concatenation panics into errors. file: [ad237a3d1f] check-in: [3e5cafe2a5] user: dgp branch: trunk, size: 88100
2016-11-24
20:31
merge trunk file: [355b6b5020] check-in: [4115262f80] user: jan.nijtmans branch: novem, size: 87209
2016-11-18
12:10
merge novem file: [8ff17f665b] check-in: [21f9030029] user: jan.nijtmans branch: novem-more-memory-API, size: 87246
2016-11-16
11:17
merge trunk file: [84d81846b0] check-in: [31a3f9bee0] user: jan.nijtmans branch: novem, size: 87222
2016-11-14
12:16
merge trunk file: [f274f1a5e1] check-in: [56c05639b5] user: dgp branch: tip-445, size: 86899
2016-11-10
15:13
merge trunk file: [13fd649295] check-in: [8d4c5a08c5] user: jan.nijtmans branch: novem, size: 87267
2016-11-08
02:56
Route all [string last] operations through a common implementation. file: [106566e51c] check-in: [6622b74446] user: dgp branch: trunk, size: 86912
2016-11-07
20:04
Optimize case of all single-byte chars. file: [6eee3c9c83] check-in: [e35f61d57e] user: dgp branch: dgp-string-find, size: 84596
19:41
Consolidate the "find empty string" cases. file: [9ce4310638] check-in: [9bc07dee24] user: dgp branch: dgp-string-find, size: 84123
2016-11-04
21:29
First draft refactoring the [string first] functionality. file: [9d2e073c18] check-in: [5073110f26] user: dgp branch: dgp-string-find, size: 84174
15:52
merge trunk file: [3657601f53] check-in: [16c449a79f] user: dgp branch: tip-445, size: 82381
11:41
merge trunk file: [dec8ce322d] check-in: [70a2852312] user: jan.nijtmans branch: novem, size: 82749
11:38
Make packages msgcat and tcltest work unmodified in "novem". Make more test-cases work unmodified in "novem". file: [65c9c9d944] check-in: [9abb38ee0b] user: jan.nijtmans branch: trunk, size: 82394
2016-11-01
16:29
merge trunk file: [ea7de9ebce] check-in: [2d438eeb1d] user: dgp branch: novem, size: 82751
16:18
merge trunk file: [c250537b5a] check-in: [ed328bc1b1] user: dgp branch: tip-445, size: 82383
15:42
Replace indexing with pointer increments. file: [6e41119c58] check-in: [78ef6f929b] user: dgp branch: dgp-string-cat, size: 82396
15:07
Expand all the cases of the [string cat] engine. file: [bbfbcae8a6] check-in: [9bfada5e22] user: dgp branch: dgp-string-cat, size: 82356
2016-10-31
18:10
Reduce copies in the pure binary implementation of [string cat]. file: [d608ff01e6] check-in: [210148adc5] user: dgp branch: dgp-string-cat, size: 79423
16:15
Complete the "pure binary" implementation of the [string cat] engine. file: [ba7a1a5ec1] check-in: [6108355177] user: dgp branch: dgp-string-cat, size: 79202
2016-10-28
20:33
WIP file: [9436fd70d0] check-in: [8f63620a09] user: dgp branch: dgp-string-cat, size: 78829
14:28
merge trunk file: [a1f0c078b5] check-in: [8fe04e59f6] user: dgp branch: dgp-string-cat, size: 77651
14:27
Add warning commentary making important assumptions explicit. file: [1826f7ee33] check-in: [329ff4fad8] user: dgp branch: trunk, size: 76824
14:26
Add warning commentary making important assumptions explicit. file: [2bc8eed7a9] check-in: [f4bf80dafb] user: dgp branch: core-8-6-branch, size: 78683
14:23
Add warning commentary making important assumptions explicit. file: [43901957be] check-in: [27b3f0c88b] user: dgp branch: core-8-5-branch, size: 80252
14:06
merge trunk file: [7e047e4474] check-in: [f9b8e6269b] user: dgp branch: dgp-string-cat, size: 77547
14:06
Add obvious optimization to Tcl_GetCharLength(). file: [1288aa07d0] check-in: [a3157e22e5] user: dgp branch: trunk, size: 76720
2016-10-27
19:39
Start bringing all `string cat` operations into one place so it can be coded correctly one time instead of badly multiple times. file: [d114c592cc] check-in: [30418debb6] user: dgp branch: dgp-string-cat, size: 77350
2016-10-13
17:04
merge trunk file: [5114c9c136] check-in: [071bc9cadb] user: dgp branch: tip-445, size: 76510
17:03
merge trunk file: [8e259d6349] check-in: [237090c178] user: dgp branch: novem, size: 76878
16:56
Merge INST_STR_REPLACE fixes and improvements. file: [5aa2a20417] check-in: [85150d4e86] user: dgp branch: trunk, size: 76523
16:43
Stop invading the String internals to work around a bug. Fix it instead. file: [5c3c32bfd6] check-in: [f32a003e9a] user: dgp branch: core-8-6-branch, size: 78579
2016-08-30
13:57
merge trunk file: [ce48d4d081] check-in: [2a530e021b] user: jan.nijtmans branch: tip-389-impl, size: 76974
2016-08-22
07:58
Fix improper use of TclCheckEmptySTring. file: [8fdcdb72e6] check-in: [0461352597] user: pooryorick branch: pyk-emptystring, size: 77072
2016-07-28
21:49
merge pyk-listdictstringrep file: [afc8ad1be0] check-in: [3351777fb6] user: pooryorick branch: pyk-trunk, size: 78141
2016-07-26
18:36
Converting to stringType no longer loses the existing internal representation of a value. file: [705edb7064] check-in: [acf65fb1a4] user: pooryorick branch: pyk-listdictstringrep, size: 77255
2016-07-11
09:16
Remove unnecessary macro. Use an enum for result values. file: [fcd3d48058] check-in: [79794b22be] user: pooryorick branch: pyk-emptystring, size: 77068
08:09
Change TclIsEmpty to TclCheckEmptyString. Check length instead of first char of bytes. file: [f318cb8d3b] check-in: [6898c26016] user: pooryorick branch: pyk-emptystring, size: 77107
2016-07-10
23:07
Avoid generating string representation for comparisons against empty string. file: [7041e5f004] check-in: [f9acd4e294] user: pooryorick branch: pyk-emptystring, size: 77046
2016-07-09
17:21
merge trunk file: [dc06fe54be] check-in: [c991627aa9] user: dgp branch: tip-445, size: 76169
2016-07-08
10:34
merge trunk file: [9ec66405fc] check-in: [706fbc1eb0] user: jan.nijtmans branch: novem, size: 76537
10:28
Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj in many places where possible. file: [1752858349] check-in: [48cb8436f1] user: jan.nijtmans branch: trunk, size: 76182
2016-07-06
09:23
merge novem file: [536fa25289] check-in: [2612497ee5] user: jan.nijtmans branch: novem-more-memory-API, size: 76476
2016-07-05
09:56
Merge trunk. Some more internal use of size_t in stead of int. file: [04ed6a811c] check-in: [8144cc0c67] user: jan.nijtmans branch: novem, size: 76538
2016-07-01
08:33
Merge trunk file: [2e8a5a8085] check-in: [9b227b619e] user: jan.nijtmans branch: novem-more-memory-API, size: 76315
2016-06-30
12:18
Make test-cases pass again file: [354fb72cf5] check-in: [c9b1ad1564] user: jan.nijtmans branch: novem-more-memory-API, size: 76318
2016-06-28
15:22
Unicode rep en Tcl_Obj length: int -> size_t file: [4bf0bb89d1] check-in: [1d1a6cacc4] user: jan.nijtmans branch: novem-more-memory-API, size: 78413
13:44
Merge trunk file: [32cce611b3] check-in: [ab33fe9082] user: jan.nijtmans branch: novem-more-memory-API, size: 78332
2016-04-08
14:25
Merge trunk. Add new bitflags to tclStringRep.h (not used yet) file: [b92fbaa8ae] check-in: [2d87e13575] user: jan.nijtmans branch: tip-389-impl, size: 76975
2016-04-05
12:13
merge trunk file: [93000ed350] check-in: [4ab24ffcab] user: dgp branch: tip-445-fork, size: 76170
12:07
merge trunk file: [6b49f62463] check-in: [9edc83a71a] user: dgp branch: novem, size: 78207
08:18
merge trunk file: [5627a642a7] check-in: [d3236cc090] user: jan.nijtmans branch: drh-micro-optimization, size: 76183
2016-03-24
21:22
merge trunk file: [76f3a21fd5] check-in: [0d1a9d63ef] user: dgp branch: tip-445, size: 76204
21:21
No longer a need to keep around 'revert to 8.5' code. file: [8c04569a47] check-in: [3d7353cc89] user: dgp branch: trunk, size: 76217
13:50
TclInitStringRep() already knows about tclEmptyStringRep. file: [52173de900] check-in: [1fb418efea] user: dgp branch: tip-445, size: 78225
2016-03-23
12:51
merge trunk file: [5f0677cce0] check-in: [08904e4bc9] user: dgp branch: novem, size: 78241
2016-03-22
20:30
Factor out string internal rep definition so fix for [1af8de570511] is less awful. file: [12d57096ae] check-in: [b3f2749a5c] user: dkf branch: core-8-6-branch, size: 78238
2015-10-24
02:37
merge changes from pspjuth that optimize conversion from unichar to utf and add optimized versions for reading a word from byte codes. file: [88fada38d0] check-in: [e99a79a326] user: kbk branch: drh-micro-optimization, size: 80690
2015-10-07
09:00
merge trunk file: [b233b809fc] check-in: [c1a52531aa] user: jan.nijtmans branch: tip-389-impl, size: 81268
2015-10-04
10:27
merge trunk file: [4c72b144ba] check-in: [e58f76013c] user: jan.nijtmans branch: novem, size: 80720
10:20
Eliminate unnessessary end-of-line spacing. No functional change. file: [24d3618256] check-in: [7caaf52e89] user: jan.nijtmans branch: trunk, size: 80724
10:10
Eliminate unnessessary end-of-line spacing. No functional change. file: [ae4e2bce2f] check-in: [c8dd06d2fa] user: jan.nijtmans branch: core-8-5-branch, size: 80148
2015-06-18
19:58
merge novem file: [bcadcbc22f] check-in: [8d9650ab81] user: jan.nijtmans branch: novem-more-memory-API, size: 80845
2015-01-17
18:40
apply contributed patch which fixes a segfault file: [94dc783890] check-in: [fa50ea7b17] user: jan.nijtmans branch: tip-389-impl, size: 81278
2014-07-10
14:23
merge trunk file: [232bd6bf98] check-in: [dc24111d06] user: jan.nijtmans branch: tip-389-impl, size: 80723
2014-05-09
13:50
merge trunk file: [48deeac674] check-in: [239fb8a769] user: jan.nijtmans branch: novem, size: 80731
2014-05-02
07:15
merge novem file: [22db293947] check-in: [08a7e90291] user: jan.nijtmans branch: novem-more-memory-API, size: 79936
2014-05-01
09:40
Merge trunk. Update Unicode tables to Unicode 7.0 beta. file: [d6f7c473e9] check-in: [13a1d81916] user: jan.nijtmans branch: tip-389-impl, size: 79814
2014-03-23
20:59
Merge the checkins of the dgp-read-bytes branch onto the trunk, up to and including checkin a1e82fb63e . Do not merge checkin bae1c688f2 which starts to take the dgp-read-bytes branch into directions apparently unfriendly to stacked channels, which tests for [chan push] on the trunk help us to detect. file: [a09be076e0] check-in: [c4c1cd81e4] user: dgp branch: dgp-trunk-read, size: 80735
2014-02-06
19:04
Revised ReadChars to restore an attempt to make sure we do not short read because of a false notion of limited storage space. The test suite does not appear to demonstrate any case where this matters. Could be an incomplete test suite, or an example of pointless code. file: [a91bcd6ae1] check-in: [8a185f4fe9] user: dgp branch: dgp-may-be-pointless, size: 80150
2014-01-27
17:35
Revise the Tcl_Append* machinery to tolerate NULL bytes to append. Then have ReadChars() use that machinery to resize buffer receiving input, rather than invent its own version. Simplify ReadChars() callers. file: [76c9527f45] check-in: [dcc87ec669] user: dgp branch: dgp-read-bytes, size: 79382
2014-01-23
23:12
merge trunk file: [144358ddad] check-in: [ddec41f466] user: jan.nijtmans branch: novem, size: 79822
2014-01-21
17:25
[2992970] Restore safety of Tcl_AppendObjToObj(x, x) for bytearrays. file: [55f7059c46] check-in: [704897a19b] user: dgp branch: trunk, size: 79826
2014-01-15
19:04
[2992970] Restore the safety of Tcl_AppendObjToObj(x, x) for bytearrays. Also moves overflow checking to TclAppendBytesToByteArray() and adds the ability to call TABTBA() with bytes==NULL, for appending unspecified bytes. That is, the string grows, but the new bytes are of undetermined value. Like Tcl_NewByteArrayObj(NULL, length) this option is useful for manipulating buffers. The TABTBA growth algorithm is also enhanced a bit, copying over a fuller implementation from GrowStringBuffer() in tclStringObj.c file: [afb330ee7c] check-in: [e5267e9dcd] user: dgp branch: bug-2992970, size: 79825
2013-09-26
13:13
merge novem

WARNING: No checks of build-ability done yet. file: [355a402de6] check-in: [2688d65077] user: dkf branch: novem-64bit-sizes, size: 80120

2013-05-06
07:35
merge trunk file: [9dc7dcf5ca] check-in: [19ff9b95e1] user: jan.nijtmans branch: novem, size: 79190
2013-03-06
13:41
merge novem file: [b3086362a4] check-in: [71ed38908b] user: jan.nijtmans branch: novem-remove-va, size: 78611
2013-02-25
13:38
Merge trunk. Upgrade all tables to Unicode 6.3 (not released yet) file: [a33bac8eee] check-in: [adf88dd045] user: jan.nijtmans branch: tip-389-impl, size: 79218
2013-02-11
15:53
Still to be TIP'ed. In this branch objTypes are not registered to Tcl any more, and still can do everything. It proves that Tcl_ConvertToType and the toAnyProc in thc Tcl_ObjType struct can be safely removed. Conversion to any specific type must be done by the "Tcl_GetXXXFromObj" type functions. One objType which didn't have such a function yet: "end-offset". This branch replaces this type by an "index" objType with its own Tcl_GetIntForIndex function (which functions the same as the currently private TclGetIntForIndex, only faster...). In addition, it affects Tcl_GetBoolean, which now follows the same same parsing rules as Tcl_GetBooleanFromObj. file: [3fbd33c954] check-in: [271dbffaf7] user: jan.nijtmans branch: no-register-objtypes, size: 79214
09:38
Merge trunk. Various Tcl_NewIntObj/Tcl_NewBooleanObj -> Tcl_NewLongObj modifications file: [f468eb2eb7] check-in: [1b58c7107b] user: jan.nijtmans branch: novem, size: 79226
2013-02-07
13:53
Tcl_InvalidateStringRep -> TclInvalidateStringRep file: [038c55d656] check-in: [c7fb5aa3b9] user: jan.nijtmans branch: core-8-5-branch, size: 79256
2013-02-05
13:26
fix broken lset tests, now all test-cases pass! file: [ba16dba86c] check-in: [fd6c05968f] user: jan.nijtmans branch: no-shimmer-string-length, size: 80604
12:37
Enable "list" optimize, fix cmdIL-1.29 test case file: [abcd40d03b] check-in: [31e1aab3cd] user: jan.nijtmans branch: no-shimmer-string-length, size: 80605
2013-02-04
15:49
merge novem. Some more API changes int -> size_t file: [c1ecbf5f2d] check-in: [abeb8eae61] user: jan.nijtmans branch: novem-more-memory-API, size: 79337
2013-02-03
16:05
merge trunk file: [f611e88bcf] check-in: [127b30eda5] user: jan.nijtmans branch: novem, size: 79223
2013-01-31
11:41
Merge core-8-5-branch. Optimize tclCmdNameType the same way. file: [cd5cc771ac] check-in: [b4cdb58176] user: jan.nijtmans branch: no-shimmer-string-length, size: 80615
10:31
merge core-8-5-branch file: [1a76d8cd09] check-in: [f9be79d941] user: jan.nijtmans branch: trunk, size: 79230
09:42
Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly the same field, but it allows twoPtrValue.ptr2 to be used for other purposes. file: [f01c391520] check-in: [17354de1e8] user: jan.nijtmans branch: core-8-5-branch, size: 79262
07:56
Merge trunk Handle caching of string intRep in more internal objTypes file: [a635186e2f] check-in: [c5f0ac6cc3] user: jan.nijtmans branch: no-shimmer-string-length, size: 80570
2013-01-29
11:53
Prevent shimmering of "byte length" for ByteArray, Dict and List objs, by keeping the string internal representation in twoValuePtr.prt2 file: [3267366779] check-in: [621e03a369] user: jan.nijtmans branch: no-shimmer-string-length, size: 80168
10:46
Change core to use repr->twoPtrValue.ptr1 in stead of repr->otherValuePtr (which is exactly the same), but also set repr->twoPtrValue.ptr2 to NULL explicitly. This allows repr->twoPtrValue.ptr2 to be used for another purpose (experimental): Store the StringObj internal representation there when available. file: [8d694dbde7] check-in: [4918a10d3d] user: jan.nijtmans branch: no-shimmer-string-length, size: 79333
2013-01-27
23:38
New experiment (ended), regarding non-shimmering "string length" file: [7d54208c49] check-in: [9b7ff4b901] user: jan.nijtmans branch: novem-no-shimmer-string-length, size: 79553
2013-01-23
11:12
(Experiment) [string length] which does not shimmer any more. file: [b242bacb5d] check-in: [44514b9586] user: jan.nijtmans branch: no-shimmer-string-length, size: 79420
2012-12-22
19:48
merge novem remove version number from reg.dll and dde.dll file: [03b1df625c] check-in: [b9fd2ceaf2] user: jan.nijtmans branch: novem-unversioned-stub, size: 79544
2012-12-18
13:47
Remove all VA functions Tcl_AppendResultVA, Tcl_AppendStringsToObjVA, Tcl_SetErrorCodeVA, Tcl_PanicVA, and dependancy of tcl.h on <stdarg.h>. TIP required. file: [a6827a859d] check-in: [38e0d974dc] user: jan.nijtmans branch: novem-remove-va, size: 78609
2012-12-12
11:17
merge novem change length and refCount field of Tcl_Obj to size_t change numBytes parameters of Tcl_NewStringObj and Tcl_EvalEx to size_t (those are the most dangerous - but necessary - changes of dkf's 64-bit-sizes work) Since this branch can only be merged to "novem" after dkf's changes, it is meant to be a superset of it, we can already start testing. file: [aa7c4fc947] check-in: [adc78601ea] user: jan.nijtmans branch: novem-unversioned-stub, size: 79551
2012-11-21
10:18
more conversion of code, still not running test suite at all file: [40bcd3cb03] check-in: [e648a1571f] user: dkf branch: novem-64bit-sizes, size: 80118
2012-11-20
22:02
some more fixes file: [e02c074f4b] check-in: [be28a68ad4] user: dkf branch: novem-64bit-sizes, size: 80107
2012-11-19
07:14
getting closer to being able to run the test suite... file: [eb20409bf1] check-in: [71eeff3601] user: dkf branch: novem-64bit-sizes, size: 80097
2012-11-18
13:59
... and another tranche file: [2528b7ff67] check-in: [c4a1bbbad2] user: dkf branch: novem-64bit-sizes, size: 79630
07:39
Better programming practice, no literal '-1' in source code. Might even be useful for 64bit-sizes branch

add TCL_NOSIZE as internal defined for -1, and use it in a lot of places Ass this function argument should be size_t, not ssize_t (still to be TIPped), something like this will be needed anyway.

file: [46ca062b62] check-in: [11a1d1e174] user: jan.nijtmans branch: tcl_nosize, size: 79111
2012-11-16
14:15
More work done. Still I am finding places where int should be size_t and reverse. file: [29f9271085] check-in: [d348e679f7] user: jan.nijtmans branch: novem-64bit-sizes, size: 79430
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: [5a3bed39e6] check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 79217
2012-04-22
20:51
merge trunk file: [ad65af8c0a] check-in: [0d20ee5cfe] user: jan.nijtmans branch: tip-389-impl, size: 79212
2012-04-18
21:38
make some more internal tables CONST fix compilation with -DNO_CONST file: [85c0f86cc7] check-in: [8e001f8402] user: jan.nijtmans branch: core-8-4-branch, size: 57309
2012-02-09
15:23
Converted the memcpy() calls in append operations to memmove() calls. This adds safety in the case of overlapping copies, and improves performance on some benchmarks. file: [859826d267] check-in: [3bb4751c4e] user: dgp branch: trunk, size: 79224
15:00
3484402 Correct Off-By-One error appending unicode. Thanks to Poor Yorick. Also corrected test for when growth is needed. file: [8096c174c5] check-in: [f43b43900f] user: dgp branch: core-8-5-branch, size: 79256
14:57
3484402 Correct Off-By-One error appending unicode. Thanks to Poor Yorick. Also corrected test for when growth is needed. file: [44ddef1965] check-in: [f57b5ba48d] user: dgp branch: core-8-4-branch, size: 57309
2012-02-07
20:28
3484402 Correct Off-By-One error appending unicode. Thanks to Poor Yorick. Also converted some memcpy() to memmove() to reliably handle overlapping copies, and corrected test for when growth is needed. file: [9fcaaecb2c] check-in: [ba9a1d9ddb] user: dgp branch: bug-3484402, size: 57311
2011-10-07
11:58
Fix gcc warnings (discovered with latest mingw, based on gcc 4.6.1) file: [3af489fb2e] check-in: [72e8ccc7aa] user: jan.nijtmans branch: core-8-4-branch, size: 57314
2011-08-29
07:44
Merge to feature branch file: [b48e0a634f] check-in: [6652b24f63] user: jan.nijtmans branch: tip-389-impl, size: 79210
07:25
[3396731] inline string reverse: minor further improvements file: [1fe60bc774] check-in: [69c582084d] user: jan.nijtmans branch: trunk, size: 79222
2011-08-27
02:28
Repaired the lost performance in the copy loop hotspots. Now meets or beats the former trunk (and current trunk by magnitudes) in tclbench. file: [43f41b7bb5] check-in: [34daf5b5b3] user: dgp branch: revert-3396731, size: 79508
2011-08-25
16:26
3396731 Another rewrite of TclStringObjReverse() to make it adopt the nijtmans approach for reversing the objPtr->bytes rep without losing performance. file: [667ba8aa47] check-in: [61d345ff2f] user: dgp branch: revert-3396731, size: 79484
12:11
Merge to feature branch file: [f91f585533] check-in: [4ddaab72c4] user: jan.nijtmans branch: tip-389-impl, size: 78635
12:00
[Enh 3396731] Follow-up: special case for Pure-unicode representation file: [ef00dc2c67] check-in: [f9ddcf91ba] user: jan.nijtmans branch: trunk, size: 78638
2011-08-24
07:50
Upcoming TIP implementation: Full support for Unicode 6.0 file: [7b89af223a] check-in: [5721cf9ae6] user: jan.nijtmans branch: tip-389-impl, size: 77842
2011-08-23
07:08
[FRQ 3396731] inline string reverse file: [2ccc4ebe0a] check-in: [8ebe975003] user: jan.nijtmans branch: trunk, size: 77845
2011-05-12
15:00
Set the defaults of all growth algorithm parameters based on one master value. file: [b049ca847c] check-in: [e0b726da8e] user: dgp branch: bug-3293874, size: 78374
2011-04-28
13:45
Improved reaction to out of memory. file: [6403f9be95] check-in: [4363a1c212] user: dgp branch: trunk, size: 78378
2011-04-27
18:49
TclFreeIntRep() cleanup. file: [e5fea575ce] check-in: [53b79ea68a] user: dgp branch: mistake, size: 78145
18:23
Backport fix for [Bug 2857044]. file: [0f8f6b2c6d] check-in: [1855377cde] user: dgp branch: core-8-5-branch, size: 79261
2011-04-12
20:04
Repair corruption in [string reverse] when string rep invalidation failed to also reset the bytes allocated for string rep to zero [Bug 3285472]. file: [330cb9fbe6] check-in: [4ab8a5f225] user: dgp branch: core-8-5-branch, size: 79233
2011-04-04
13:55
More generation of error codes ([format], after, [trace], RE optimizer). file: [f33a31a5fb] check-in: [7100664240] user: dkf branch: trunk, size: 78173
2011-03-26
11:53
Reduce the number of casts used to manage Tcl_Obj internal representations. file: [758e31abe4] check-in: [b2381061a7] user: dkf branch: trunk, size: 77494
2011-03-12
15:06
Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts in rest of Tcl source code. No ABI change. API change *should* be harmless. file: [f6c7209938] check-in: [5574bdd262] user: dkf branch: trunk, size: 77506
2011-03-10
09:31
MINOR: Formatting fixes, mainly to comments, so code better fits the style in the Engineering Manual. file: [bea92996b7] check-in: [5cb634a1c1] user: dkf branch: trunk, size: 77584
2011-03-02
20:27
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them (except in zlib files). file: [18391db29c] check-in: [c64f310d38] user: dgp branch: trunk, size: 77322
16:06
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [4ef82f7ecc] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 79206
2011-03-01
18:04
Typo in last commit broke tclStringObj.c build. Fixed. file: [3f60cf68a4] check-in: [8223b1672d] user: dgp branch: core-8-4-branch, size: 57310
15:38
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [f4056989ef] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 57306
2010-12-14
16:31
small updates. file: [167876621b] check-in: [04411163ee] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77395
2010-12-08
12:07
Code cleanup. Most warnings are now gone. file: [24576d9d70] check-in: [90d463b3e7] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77394
2010-12-07
16:01
@1629 (excluding 1577 (INSTR_STR_EQ/NE/CMP merge skipped for today)). I also skipped DKF's math instruction refactoring work. Doing them are essentially backports of complex changes, do this when I am fresh tomorrow. file: [700f8fbca8] check-in: [ecb2476c6c] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 78046
10:15
@1451 file: [4b78f86c1c] check-in: [1ea47b059c] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77767
2010-12-06
14:52
@1400, undo of 177 (TclpThreadGetStacksize). file: [e050c6004f] check-in: [861c844a13] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77815
13:20
@1330 + jump interp, indexobj file: [492c11f698] check-in: [c08c831172] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77795
12:33
@1300 file: [207e3746ed] check-in: [3f09e6a910] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77787
2010-12-02
13:17
@1200 file: [b29421621a] check-in: [772aad65cb] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77790
2010-11-29
14:36
@701b file: [e0fca65367] check-in: [4b239bf4cd] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 77632
13:51
@670 file: [2fb0a778c0] check-in: [2435a4366f] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 78451
2010-11-23
15:23
Next @611, and jumping tclGetDate.yyacc grammar. file: [3229c2a67a] check-in: [b277d95385] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 74892
11:38
Next @500. file: [ea1b3a4902] check-in: [5365d7ae02] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 74449
2010-11-22
16:07
Next @380. OO Stacktraces broken. file: [7b2c655684] check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 74295
2010-10-20
11:26
merge file: [a08d79cb0f] check-in: [7f3f6b63d6] user: dgp branch: dgp-refactor, size: 77399
01:50
merge file: [50938f5dd6] check-in: [6c4e1f869f] user: kennykb branch: dogeen-assembler-branch, size: 77403
2010-10-19
22:50
* generic/tclZlib.c (Tcl_ZlibStreamGet): [Bug 3081008]: Ensure that when a bytearray gets its internals entangled with zlib for more than a passing moment, that bytearray will never be shimmered away. This increases the amount of copying but is simple to get right, which is a reasonable trade-off.
* generic/tclStringObj.c (Tcl_AppendObjToObj): Added some special cases so that most of the time when you build up a bytearray by appending, it actually ends up being a bytearray rather than shimmering back and forth to string.
* tests/http11.test (check_crc): Use a simpler way to express the functionality of this procedure.
file: [9c7b77feeb] check-in: [885ee93472] user: dkf branch: trunk, size: 77395
2010-06-07
17:36
rebranch from HEAD file: [4dd9bfbcee] check-in: [f3af08f468] user: rmax branch: rmax-ipv6-branch, size: 77121
2010-05-03
16:30
merge file: [4845e002be] check-in: [fe433b0919] user: dgp branch: dgp-refactor, size: 77120
2010-04-30
20:52
* generic/tclBinary.c (TclAppendBytesToByteArray): Add comments * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow protection responsibility on caller. Convert "len" argument to signed int which any value already vetted for overflow issues will fit into. * generic/tclStringObj.c: Update caller; standardize panic msg.
* generic/tclBinary.c (UpdateStringOfByteArray): Add panic when the generated string representation would grow beyond Tcl's size limits. [Bug 2994924]
file: [b507914443] check-in: [32f022466a] user: dgp branch: trunk, size: 77116
2010-04-29
23:32
merge file: [c964532866] check-in: [93ad5b0c95] user: dgp branch: dgp-refactor, size: 77119
15:08
* generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Make * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte array to another into an efficent operation. The problem was the (lack of) a proper growth management strategy for the byte array.
file: [f60c1df296] check-in: [45422b0ec4] user: dkf branch: trunk, size: 77115
2010-04-02
14:36
* generic/tclStringObj.c: (SetStringFromAny): avoid trampling over the tclEmptyStringRep->bytes as it is thread-shared (thx to Gustaf Neumann for the (hard) work of locating this one). file: [329cf72942] check-in: [8ccd1a96da] user: vasiljevic branch: core-8-4-branch, size: 57394
14:30
* generic/tclStringObj.c: (SetStringFromAny): avoid trampling over the tclEmptyStringRep->bytes as it is thread-shared (thx to Gustaf Neumann for the (hard) work of locating this one). file: [7a12f72b6b] check-in: [59bf516261] user: vasiljevic branch: core-8-5-branch, size: 79290
2010-03-30
08:45
Merge from HEAD to rmax-ipv6-branch file: [1e0fecc9fd] check-in: [54b695423d] user: rmax branch: rmax-ipv6-branch, size: 77169
02:29
merge file: [d9664d5642] check-in: [c3f2341ff0] user: dgp branch: dgp-refactor, size: 77168
2010-03-29
21:58
* generic/tclStringObj.c: Fix array overrun in test format-1.12 caught by valgrind testing.
file: [43d47bf931] check-in: [091499cda4] user: dgp branch: trunk, size: 77164
21:57
* generic/tclStringObj.c: Fix array overrun in test format-1.12 caught by valgrind testing.
file: [b01bdef033] check-in: [8775fff1dc] user: dgp branch: core-8-5-branch, size: 79211
2010-03-06
03:40
merge updates file: [46d9eec824] check-in: [f1f1ac161b] user: dgp branch: dgp-refactor, size: 77148
2010-03-05
14:34
Code Audit results: * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations file: [6079b26814] check-in: [4d8a4f639d] user: dkf branch: trunk, size: 77144
2010-02-25
21:53
merge updates from HEAD file: [2608e6dad6] check-in: [1b11388844] user: dgp branch: dgp-refactor, size: 77140
2010-02-24
10:32
Pure whitespace changes, changing to follow Engineering Manual style. file: [9e93311f8c] check-in: [c81eddebbb] user: dkf branch: trunk, size: 77136
2010-01-18
14:58
merge updates from HEAD file: [b471762862] check-in: [aa64c80d13] user: dgp branch: dgp-refactor, size: 77143
09:50
[Bug 2932421]: Make [format] less likely to smash intreps. file: [fc47e9d6f9] check-in: [0cdd44b844] user: dkf branch: core-8-5-branch, size: 79191
09:49
Ensure that objects are released in all cases (hard to test this particular one without a very large system, but the leak path existed) file: [33fda179ed] check-in: [f225aaa526] user: dkf branch: trunk, size: 77139
09:31
[Bug 2932421]: Make [format] less likely to smash intreps. file: [56e36c05d2] check-in: [d9c0ca8b37] user: dkf branch: trunk, size: 77078
2009-09-30
06:07
merge updates from HEAD file: [93097c4e14] check-in: [3b4e6b13b9] user: dgp branch: dgp-refactor, size: 76985
03:11
* generic/tclDictObj.c: Updated freeIntRepProc routines so * generic/tclExecute.c: that they set the typePtr field to * generic/tclIO.c: NULL so that the Tcl_Obj is not left * generic/tclIndexObj.c: in an inconsistent state. * generic/tclInt.h: [Bug 2857044] * generic/tclListObj.c: * generic/tclNamesp.c: * generic/tclOOCall.c: * generic/tclObj.c: * generic/tclPathObj.c: * generic/tclProc.c: * generic/tclRegexp.c: * generic/tclStringObj.c:
file: [3ac3b6fa85] check-in: [c712d7d7bb] user: dgp branch: trunk, size: 76981
2009-08-27
21:23
merge updates from HEAD file: [4ba3e5bde7] check-in: [0ff663548f] user: dgp branch: dgp-refactor, size: 76957
19:34
* generic/tclStringObj.c: A few more string overflow cases in [format]. [Bug 2845535]
file: [afd51de767] check-in: [5fbae24aa1] user: dgp branch: trunk, size: 76953
19:33
* generic/tclStringObj.c: A few more string overflow cases in [format]. [Bug 2845535]
file: [5c38fe362f] check-in: [7a7b843587] user: dgp branch: core-8-5-branch, size: 78984
2009-08-03
14:14
merge updates from HEAD file: [3ea0bbaf5b] check-in: [69dee2802f] user: dgp branch: dgp-refactor, size: 76762
2009-07-31
16:56
* generic/tclStringObj.c: Corrected failure to grow buffer * tests/format.test: when format spec request large width floating point values. Thanks to Clemens Misch. [Bug 2830354]
file: [8f948fe497] check-in: [462283219e] user: dgp branch: core-8-5-branch, size: 78789
16:55
* generic/tclStringObj.c: Corrected failure to grow buffer * tests/format.test: when format spec request large width floating point values. Thanks to Clemens Misch. [Bug 2830354]
file: [2e302cc704] check-in: [a3c590a7b5] user: dgp branch: trunk, size: 76758
2009-07-15
22:27
fix 64bit int <-> ptr cast warnings file: [adcae251a8] check-in: [e30aeb4cb6] user: das branch: core-8-5-branch, size: 78739
2009-07-13
13:08
merge updates from HEAD file: [2e046abbfb] check-in: [c3eade8112] user: dgp branch: dgp-refactor, size: 76711
2009-07-12
18:04
Fix [Bug 2637173] by consolidating bytearray purity check. file: [7c2f85c666] check-in: [f796a220ae] user: dkf branch: trunk, size: 76707
2009-07-01
15:29
Cast wide integer to int conversion and some signed/unsigned conversions. (silence msvc6 warnings) file: [4b9da3482d] check-in: [a36d676c25] user: patthoyts branch: core-8-5-branch, size: 78748
15:12
merge updates from HEAD file: [62d66362e9] check-in: [82a7e96ce9] user: dgp branch: dgp-refactor, size: 77363
15:06
Cast wide integer to int conversion (silence msvc6 warning) file: [29579b47cd] check-in: [c5133b9b13] user: patthoyts branch: trunk, size: 77365
2009-06-24
12:47
merge updates from HEAD file: [9a5590ffa2] check-in: [818def88d3] user: dgp branch: dgp-refactor, size: 77353
2009-06-15
18:52
* generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
file: [b0bc1f7a69] check-in: [76ca69989e] user: dgp branch: core-8-5-branch, size: 78732
18:51
* generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
file: [c4215d01bc] check-in: [e3a58fe6f2] user: dgp branch: trunk, size: 77349
2009-06-10
22:10
merge updates from HEAD file: [b12222875c] check-in: [5c093837f5] user: dgp branch: dgp-refactor, size: 77395
21:39
* generic/tclStringObj.c: Revised [format] to not overflow the integer calculations computing the length of the %ll formats of really big integers. Also added protections so that [format]s that would produce results overflowing the maximum string length of Tcl values throw a normal Tcl error instead of a panic. [Bug 2801413]
file: [7a82df6383] check-in: [603364c9eb] user: dgp branch: trunk, size: 77391
21:38
* generic/tclStringObj.c: Revised [format] to not overflow the integer calculations computing the length of the %ll formats of really big integers. Also added protections so that [format]s that would produce results overflowing the maximum string length of Tcl values throw a normal Tcl error instead of a panic. [Bug 2801413]
file: [ca69e4128f] check-in: [7bd82b7393] user: dgp branch: core-8-5-branch, size: 78774
14:44
* generic/tclStringObj.c: Corrected failures to deal with the "pure unicode" representation of an empty string. Thanks to Julian Noble for reporting the problem. [Bug 2803109]
file: [7ba90e077d] check-in: [dfc23bce03] user: dgp branch: trunk, size: 75945
2009-04-22
17:21
* generic/tclStringObj.c (UpdateStringOfString): Added cast to fix signed/unsigned mismatch breaking win32 symbol/debug build. file: [17ef710173] check-in: [425b383f6f] user: andreas_kupries branch: core-8-4-branch, size: 57349
2009-04-15
19:22
UpdateStringOfString: matchup with core-8-5-branch changes file: [d8b9a72b8a] check-in: [23808a5bdf] user: das branch: core-8-4-branch, size: 57326
19:11
* generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed to set stringPtr->allocated to 0, leading to crashes.
file: [9011491877] check-in: [9fe72d4216] user: dgp branch: core-8-4-branch, size: 57317
19:07
* generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed to set stringPtr->allocated to 0, leading to crashes.
file: [0f68295855] check-in: [48925f56c8] user: dgp branch: core-8-5-branch, size: 77353
2009-04-10
22:14
silence warning preventing symbols build with msvc6 (signed/unsigned comparison) file: [e2a78a02cf] check-in: [3352598241] user: patthoyts branch: core-8-5-branch, size: 77329
21:27
* generic/tclStringObj.c (UpdateStringOfString): Fix bug detected by compiler warning about undefined "dst".
file: [187a67a21d] check-in: [3ed35b9bbb] user: dgp branch: core-8-5-branch, size: 77312
2009-04-07
18:46
merge updates from HEAD file: [56529fcd5d] check-in: [8cc32f55f3] user: dgp branch: dgp-refactor, size: 76328
18:45
* generic/tclStringObj.c: Correction so that value of TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment claims.
file: [d305cddcfc] check-in: [24eea28193] user: dgp branch: trunk, size: 76324
18:37
* generic/tclStringObj.c: Completed backports of fixes for [Bug 2494093] and [Bug 2553906].
file: [034507c8f3] check-in: [25da06730d] user: dgp branch: core-8-4-branch, size: 57286
18:37
* generic/tclStringObj.c: Completed backports of fixes for [Bug 2494093] and [Bug 2553906].
file: [4472856d26] check-in: [b72d2c661c] user: dgp branch: core-8-5-branch, size: 77301
2009-03-30
17:47
* generic/tclStringObj.c: Added protections from invalid memory * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
file: [c19d58ac5a] check-in: [f0785bb73d] user: dgp branch: core-8-5-branch, size: 76088
17:47
* generic/tclStringObj.c: Added protections from invalid memory * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
file: [8963a377f1] check-in: [e85458edfc] user: dgp branch: core-8-4-branch, size: 56057
2009-03-21
02:54
* generic/tclStringObj.c: Test stringObj-6.9 checks that * tests/stringObj.test: Tcl_AppendStringsToObj() no longer crashes when operating on a pure unicode value. [Bug 2597185]
file: [d3bd48c913] check-in: [2ad13d8bb6] user: dgp branch: core-8-5-branch, size: 75204
02:53
* generic/tclStringObj.c: Test stringObj-6.9 checks that * tests/stringObj.test: Tcl_AppendStringsToObj() no longer crashes when operating on a pure unicode value. [Bug 2597185]
file: [fed42eaf34] check-in: [6c175deb9d] user: dgp branch: core-8-4-branch, size: 55169
2009-02-23
17:20
merge updates from HEAD file: [87009be659] check-in: [453286efe3] user: dgp branch: dgp-refactor, size: 76308
2009-02-22
04:38
* generic/tclStringObj.c: Several revisions to the shimmering patterns between Unicode and UTF string reps. Most notably the call: objPtr = Tcl_NewUnicodeObj(...,0); followed by a loop of calls: Tcl_AppendUnicodeToObj(objPtr, u, n); will now grow and append to the Unicode representation. Before this commit, the sequence would convert each append to UTF and perform the append to the UTF rep. This is puzzling and likely a bug. The performance of [string map] is significantly improved by this change (according to the MAP collection of benchmarks in tclbench). Just in case there was some wisdom in the old ways that I missed, I left in the ability to restore the old patterns with a #define COMPAT 1 at the top of the file.
file: [228cbb8276] check-in: [76f96f2a4c] user: dgp branch: trunk, size: 76304
2009-02-19
15:13
merge updates from HEAD file: [4bd66ec712] check-in: [7ee406757c] user: dgp branch: dgp-refactor, size: 75208
14:55
alternative solution to the signed/unsigned warnings file: [2d618dbed9] check-in: [a6265b9b52] user: dgp branch: trunk, size: 75204
06:35
fix signed/unsigned comparison warnings file: [9e4a50409b] check-in: [a5b3726442] user: das branch: trunk, size: 75223
02:47
merge updates from HEAD file: [b5d191f06e] check-in: [6f1abd1b1b] user: dgp branch: dgp-refactor, size: 75203
2009-02-18
20:10
* generic/tclStringObj.c: Simplify the logic of the Tcl_*SetObjLength() routines.
file: [5ef5931469] check-in: [b2511db171] user: dgp branch: trunk, size: 75199
19:47
another TODO file: [a56212fd4c] check-in: [e8f8bf65a5] user: dgp branch: trunk, size: 75895
18:43
merge updates from HEAD file: [57093e65af] check-in: [1466ff4bd2] user: dgp branch: dgp-refactor, size: 75858
18:31
* generic/tclStringObj.c: Rewrite GrowStringBuffer() so that it has parallel structure with GrowUnicodeBuffer(). The revision permits allocation attempts to continue all the way up to failure, with no gap. It also directly manipulates the String and Tcl_Obj internals instead of inefficiently operating via Tcl_*SetObjLength() with all of its extra protections and underdocumented special cases.
file: [badd0dd575] check-in: [3f462e6880] user: dgp branch: trunk, size: 75854
17:45
* generic/tclStringObj.c: Another round of simplification on the allocation macros.
file: [441a466a8d] check-in: [e352a00e67] user: dgp branch: trunk, size: 75721
06:26
* generic/tclStringObj.c: Another round of simplification on the allocation macros.
file: [f4c475f4fb] check-in: [61fb6cf251] user: dgp branch: trunk, size: 75832
2009-02-17
21:40
* generic/tclStringObj.c: Pare back the length of the unicode array in a non-extended String struct to one Tcl_UniChar, meant to hold the terminating NUL character. Non-empty unicode strings are then stored by extending the String struct by stringPtr->maxChars additional slots in that array with sizeof(Tcl_UniChar) bytes per slot. This revision makes the allocation macros much simpler.
file: [93284a937e] check-in: [8754f4357d] user: dgp branch: trunk, size: 76021
21:05
* generic/tclStringObj.c: Factor out common GrowUnicodeBuffer() and solve overflow and growth algorithm fallbacks in it.
file: [a6ae2afc1a] check-in: [cfe9911057] user: dgp branch: trunk, size: 76165
17:17
* generic/tclStringObj.c: Factor out common GrowStringBuffer().
* generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into * tests/stringObj.test: a radically simpler implementation where we just loop over calls to Tcl_AppendToObj. This fixes [Bug 2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in that T_ASTO can now allocate more space than is strictly required, like all the other Tcl_Append* routines. The incompatibility was detected by test stringObj-6.5, which I've updated to reflect the new behavior.
file: [372ce26665] check-in: [820ba0e29a] user: dgp branch: trunk, size: 76037
14:28
merge updates from HEAD file: [30d75702a8] check-in: [8b78d4ea6c] user: dgp branch: dgp-refactor, size: 79109
06:52
* generic/tclStringObj.c: Revise buffer growth implementation in ExtendStringRepWithUnicode. Use cheap checks to determine that no reallocation is necessary without cost of computing the precise number of bytes needed. Also make use of the string growth algortihm in the case of repeated appends.
file: [173300a505] check-in: [e188de7032] user: dgp branch: trunk, size: 79105
2009-02-16
04:06
* generic/tclStringObj.c: Added protections from invalid memory * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]
file: [aa9919f6bb] check-in: [1c3c3be74a] user: dgp branch: trunk, size: 78498
2009-02-15
23:13
* generic/tclStringObj.c: Factor out duplicate code from Tcl_AppendObjToObj.
file: [d9590a8ee2] check-in: [dac012d276] user: dgp branch: trunk, size: 77741
22:32
* generic/tclStringObj.c: Replace the 'size_t uallocated' field of the String struct, storing the number of bytes allocated to store the Tcl_UniChar array, with an 'int maxChars' field, storing the number of Tcl_UniChars that may be stored in the allocated space. This reduces memory requirement a small bit, and makes some range checks simpler to code.
file: [92b676a3ad] check-in: [14abdb946c] user: dgp branch: trunk, size: 77955
16:49
* generic/tclStringObj.c: Removed limitation in Tcl_AppendObjToObj where the char length of the result was only computed if the appended string was all single byte characters. This limitation was in place to dodge a bug in Tcl_GetUniChar. With that bug gone, we can take advantage of always recording the length of append results when we know it.
file: [0927da8ed8] check-in: [24a9c9e7b5] user: dgp branch: trunk, size: 78134
2009-02-14
23:07
* generic/tclStringObj.c: Revisions so that we avoid creating the strange representation of an empty string with objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in the situations where that was being created, create a traditional two-legged stork representation (objPtr->bytes = tclEmptyStringRep and stringPtr->hasUnicode = 1). In the situations where the strange rep was treated differently, continue to do so by testing stringPtr->numChars == 0 to detect it. These changes make the code more conventional so easier for new maintainers to pick up. Also sets up further simplifications.
file: [370f521fd2] check-in: [59f23bd2a8] user: dgp branch: trunk, size: 78231
2009-02-13
14:45
Remove all "register" keywords. file: [6ede3307d4] check-in: [8676898b20] user: dgp branch: trunk, size: 77079
04:01
New utility routine UnicodeLength(), to compute the length of unicode buffer arguments when no length is passed in, with built-in overflow protection included. Update three callers to use it.
file: [2b0db259cd] check-in: [42a8e6fdf2] user: dgp branch: trunk, size: 77228
03:22
* generic/tclStringObj.c: Rewrites of the routines Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj, Tcl_GetRange, and TclStringObjReverse to use the new macro, and to more simply and clearly split the cases depending on whether a valid unicode rep is present or needs to be created.
* generic/tclInt.h: New macro TclNumUtfChars meant to be a faster replacement for a full Tcl_NumUtfChars() call when the string has all single-byte characters.
file: [e4a00cbd48] check-in: [d2191985b4] user: dgp branch: trunk, size: 77231
2009-02-12
17:08
* generic/tclStringObj.c: Simplified Tcl_GetCharLength by * generic/tclTestObj.c: removing code that did nothing. Added early returns from Tcl_*SetObjLength when the desired length is already present; adapted test command to the change.
file: [7097b33680] check-in: [215d13fc4c] user: dgp branch: trunk, size: 78355
14:45
* generic/tclStringObj.c: Re-implemented AppendUtfToUnicodeRep so that we no longer pass through Tcl_DStrings which have their own sets of problems when lengths overflow the int range. Now AUTUR and FillUnicodeRep share a common core routine.
file: [d668e76dbc] check-in: [7d98b7fffc] user: dgp branch: trunk, size: 78452
04:35
Revise latest commit to better maintain stringPtr->numChars. file: [3dca8b672c] check-in: [f9db57a39e] user: dgp branch: trunk, size: 77965
03:46
* generic/tclStringObj.c: Re-implemented AppendUnicodeToUtfRep so that we no longer pass through Tcl_DStrings which have their own sets of problems when lengths overflow the int range. Now AUTUR and UpdateStringOfString share a common core routine.
file: [4dd73ed86b] check-in: [ed8007db13] user: dgp branch: trunk, size: 77885
2009-02-11
19:33
Removed casts now unnecessary after type of stringPtr->allocated changed. file: [c29ab3705b] check-in: [0bc9529c8f] user: dgp branch: trunk, size: 77041
17:27
merge updates from HEAD file: [fefef8b935] check-in: [f07460d448] user: dgp branch: dgp-refactor, size: 77072
15:28
* generic/tclStringObj.c: Changed type of the 'allocated' field of the String struct from size_t to int since only int values are ever stored in it.
file: [ad751bbacd] check-in: [93efedde3f] user: dgp branch: trunk, size: 77067
2009-02-10
23:08
- eliminate some unnessary type casts - some internal const decorations - spacing file: [78e85bf0d5] check-in: [a45c7b126b] user: nijtmans branch: trunk, size: 77075
21:04
Removed handling of (objPtr->bytes != NULL) from UpdateStringOfString, which is only called when objPtr->bytes is NULL.
file: [6fd5b8f4cf] check-in: [1f05ccc310] user: dgp branch: trunk, size: 77058
17:37
Simplify Tcl_SetObjLength by removing unreachable code.
file: [847bc06d05] check-in: [927c8dae6c] user: dgp branch: trunk, size: 77130
17:28
Simplify SetStringFromAny() by removing unreachable and duplicate code.
file: [38ac27ab6e] check-in: [f811987143] user: dgp branch: trunk, size: 77342
17:09
* generic/tclObj.c (Tcl_GetString): Added comments and validity checks following the call to an UpdateStringProc.
Simplify Tcl_AttemptSetObjLength by removing unreachable code.
file: [115fa2d54f] check-in: [78d89e677c] user: dgp branch: trunk, size: 77666
15:37
Convert all Tcl_InvalidateStringRep() calls into macros.
file: [e470239dc0] check-in: [e1cda5d2cf] user: dgp branch: trunk, size: 77877
14:59
* generic/tclStringObj.c: Reduce code duplication in Tcl_GetUnicode*. Restrict AppendUtfToUtfRep to non-negative length appends.
file: [32dda965cb] check-in: [84a1bb328a] user: dgp branch: trunk, size: 77883
14:38
* generic/tclStringObj.c (Tcl_GetUnicode*): Reduce code duplication.
file: [603c9f1820] check-in: [0fb18eb9e7] user: dgp branch: trunk, size: 77906
2009-02-05
23:12
merge updates from HEAD file: [cd1a8e9d2d] check-in: [3ec9a51e62] user: dgp branch: dgp-refactor, size: 78562
21:27
Add missing cast file: [8b3a4317b5] check-in: [9cef9aac53] user: dkf branch: trunk, size: 78557
14:10
* generic/tclStringObj.c: Added overflow protections to the AppendUtfToUtfRep routine to either avoid invalid arguments and crashes, or to replace them with controlled panics. [Bug 2561794]
file: [a51fb53a30] check-in: [1287624315] user: dgp branch: core-8-4-branch, size: 55010
13:59
* generic/tclStringObj.c: Added overflow protections to the AppendUtfToUtfRep routine to either avoid invalid arguments and crashes, or to replace them with controlled panics. [Bug 2561794]
file: [c048b8d243] check-in: [9d19b12984] user: dgp branch: core-8-5-branch, size: 75045
13:26
merge updates from HEAD file: [b6007ae83d] check-in: [409e734ff2] user: dgp branch: dgp-refactor, size: 78548
11:57
More/better/cleaner handling of the bytearray special casing for string ops. file: [c223d3e84b] check-in: [174db4e4cd] user: dkf branch: trunk, size: 78543
01:21
Improve efficiency of Tcl_AppendObjToObj's bytearray handling. file: [8efb2cfe8f] check-in: [94be40db3a] user: dkf branch: trunk, size: 76562
2009-02-04
22:48
merge updates from HEAD file: [ed366ded8b] check-in: [fdf6271dcc] user: dgp branch: dgp-refactor, size: 75514
22:39
* generic/tclStringObj.c (SetUnicodeObj): Corrected failure of Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also factored out common code to reduce duplication.
file: [f1cbca8bec] check-in: [3b1d7afdbe] user: dgp branch: core-8-4-branch, size: 54185
21:45
comment typo file: [9ad2093b1d] check-in: [0a9d076582] user: dgp branch: trunk, size: 75509
21:43
comment typo file: [5e365f1397] check-in: [f22e328814] user: dgp branch: core-8-5-branch, size: 74219
20:21
* generic/tclStringObj.c (SetUnicodeObj): Corrected failure of Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also factored out common code to reduce duplication.
file: [9f1fc4b4be] check-in: [d7975f5bcd] user: dgp branch: core-8-5-branch, size: 74218
19:59
* generic/tclStringObj.c: Added overflow protections to the AppendUtfToUtfRep routine to either avoid invalid arguments and crashes, or to replace them with controlled panics. [Bug 2561794]
file: [ced07cb24c] check-in: [50800297d9] user: dgp branch: trunk, size: 75508
14:16
merge updates from HEAD file: [ff09d1ffe4] check-in: [255c748a68] user: dgp branch: dgp-refactor, size: 75109
2009-02-03
18:10
* generic/tclStringObj.c (SetUnicodeObj): Corrected failure of Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also factored out common code to reduce duplication.
file: [74828e798d] check-in: [b0fc858575] user: dgp branch: trunk, size: 75104
2009-02-02
14:24
merge updates from HEAD file: [09428c3e72] check-in: [3b662c41d0] user: dgp branch: dgp-refactor, size: 75332
05:54
* generic/tclStringObj.c (STRING_NOMEM): Add missing cast of NULL to (char *) that upsets some compilers. [Bug 2494093].
file: [48d7940868] check-in: [75bf4b19b7] user: dgp branch: trunk, size: 75327
05:47
* generic/tclStringObj.c (Tcl_(Attempt)SetObjLength): Added protections against callers asking for negative lengths. It is likely when this happens that an integer overflow is to blame. [Bug 2553906].
file: [f40eec6d6e] check-in: [2a6367e1b9] user: dgp branch: trunk, size: 75314
2009-01-22
17:13
merge updates from HEAD file: [c3963a4c18] check-in: [eab5383f18] user: dgp branch: dgp-refactor, size: 74896
2009-01-21
21:29
* generic/tclStringObj.c: New fix for [Bug 2494093] replaces the flawed attempt committed 2009-01-09.
file: [ef429d445d] check-in: [17135c11fc] user: dgp branch: trunk, size: 74891
2009-01-09
15:35
merge updates from HEAD file: [1ef5348433] check-in: [470607e0b5] user: dgp branch: dgp-refactor, size: 74614
15:34
* generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit memory allocation requests to the sizes that can be supported by Tcl's memory allocation routines. [Bug 2494093].
file: [44f3bc105b] check-in: [3b1f4e78cd] user: dgp branch: trunk, size: 74609
15:15
* generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit memory allocation requests to the sizes that can be supported by Tcl's memory allocation routines. [Bug 2494093].
file: [317958cb8b] check-in: [ec34b68502] user: dgp branch: core-8-4-branch, size: 54426
15:12
* generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit memory allocation requests to the sizes that can be supported by Tcl's memory allocation routines. [Bug 2494093].
file: [d57b3ca60f] check-in: [5d56bba354] user: dgp branch: core-8-5-branch, size: 74461
2009-01-08
18:00
merge updates from HEAD file: [12c45f8797] check-in: [0b4ea10c4a] user: dgp branch: dgp-refactor, size: 74455
17:58
* generic/tclStringObj.c (STRING_UALLOC): Added missing parens required to get correct results out of things like STRING_UALLOC(num + append). [Bug 2494093].
file: [fd8afb23a0] check-in: [2663be2b32] user: dgp branch: trunk, size: 74450
17:57
* generic/tclStringObj.c (STRING_UALLOC): Added missing parens required to get correct results out of things like STRING_UALLOC(num + append). [Bug 2494093].
file: [841dd62403] check-in: [de416fc6a1] user: dgp branch: core-8-4-branch, size: 54267
17:55
* generic/tclStringObj.c (STRING_UALLOC): Added missing parens required to get correct results out of things like STRING_UALLOC(num + append). [Bug 2494093].
file: [a26c8fad63] check-in: [026b245cf3] user: dgp branch: core-8-5-branch, size: 74302
2008-12-17
23:25
merge updates from HEAD file: [b396cc14e1] check-in: [206cad281d] user: dgp branch: dgp-refactor, size: 74453
16:47
move variable "length" inside if() don't use ckfree((void *)...) but ckfree((char *)...) file: [76e0b28e59] check-in: [0a08bcb02d] user: nijtmans branch: trunk, size: 74453
2008-12-12
02:41
merge updates from HEAD file: [1fd6e34598] check-in: [ffe56e444b] user: dgp branch: dgp-refactor, size: 74453
2008-12-10
18:21
TIP #343 IMPLEMENTATION - A Binary Specifier for [format/scan] file: [2bcb96fe9b] check-in: [197d47d29d] user: ferrieux branch: trunk, size: 74453
2008-11-10
02:18
merge updates from HEAD file: [8ef41b5d68] check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 74299
2008-10-26
18:34
Style improvements - invoking callbacks without visual junk. file: [8d9836a330] check-in: [a1a8afc25d] user: dkf branch: trunk, size: 74294
2008-10-17
20:52
merge updates from HEAD file: [a9416e46e2] check-in: [d93600ad8e] user: dgp branch: dgp-refactor, size: 74313
2008-10-16
22:34
Add "const" to many internal const tables. No functional or API change. file: [351c782e4e] check-in: [f03d2e2d83] user: nijtmans branch: trunk, size: 74313
2008-10-15
06:17
Add "const" to many internal const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries. file: [9301220daa] check-in: [8fcbc25d98] user: nijtmans branch: trunk, size: 74307
2008-06-25
15:56
merge updates from 8.5 branch file: [0387376b5d] check-in: [affd52009d] user: dgp branch: core-stabilizer-branch, size: 74300
2008-04-08
13:18
merge updates from HEAD file: [1e087f692a] check-in: [e6bf431352] user: dgp branch: dgp-refactor, size: 74301
2008-04-07
16:06
* generic/tclStringObj.c (Tcl_AppendFormatToObj): Fix [format {% d}] so that it behaves the same way as in 8.4 and as C's printf(). * tests/format.test: Add a test for '% d' and '%+d'.
file: [b05e8962d4] check-in: [ba04dc8f19] user: dgp branch: core-8-5-branch, size: 74300
15:23
* generic/tclStringObj.c (Tcl_AppendFormatToObj): Fix [format {% d}] so that it behaves the same way as in 8.4 and as C's printf(). * tests/format.test: Add a test for '% d' and '%+d'. file: [8e2134d9b3] check-in: [0b371e1c32] user: rmax branch: trunk, size: 74297
2008-03-07
22:05
merge updates from HEAD file: [8d2e985f51] check-in: [3b6959be94] user: dgp branch: core-stabilizer-branch, size: 74272
2008-03-03
04:34
merge updates from HEAD file: [5fd4faab39] check-in: [f211098809] user: dgp branch: dgp-refactor, size: 74273
2008-02-28
17:36
* generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big] leaked an mp_int.
file: [9363f7d771] check-in: [120da645b7] user: dgp branch: trunk, size: 74268
2008-01-23
16:42
merge updates from HEAD file: [c3c6d95d56] check-in: [013cce9562] user: dgp branch: core-stabilizer-branch, size: 74230
2008-01-10
16:46
merge updates from HEAD file: [75e7bffddf] check-in: [6c7f7cedb2] user: dgp branch: dgp-refactor, size: 74231
16:09
* generic/tclStringObj.c (Tcl_AppendFormatToObj): Correct failure to * tests/format.test: account for big.used == 0 corner case in the %ll(idox) format directives. [Bug 1867855].
file: [d9ead8dd62] check-in: [8af00ef2f0] user: dgp branch: trunk, size: 74226
2007-12-13
15:22
merge stable branch onto HEAD file: [4815da9ed7] check-in: [d1f7550cd9] user: dgp branch: trunk, size: 74189
2007-12-06
06:51
merge updates from HEAD file: [26cabc685e] check-in: [6f3a8a0d9e] user: dgp branch: dgp-refactor, size: 74194
2007-11-21
06:30
Merge updates from 8.5b3 release file: [d75a82264c] check-in: [c60ad186f4] user: dgp branch: core-stabilizer-branch, size: 74193
2007-11-18
22:30
More minor cleanup file: [98b1762b38] check-in: [2746b844ca] user: dkf branch: trunk, size: 74189
2007-11-12
20:40
merge updates from HEAD file: [147b1546f3] check-in: [27f428842c] user: dgp branch: dgp-refactor, size: 74287
19:18
merge updates from HEAD file: [c68d8c639f] check-in: [72c5ac9502] user: dgp branch: core-stabilizer-branch, size: 74286
2007-11-11
19:32
[Patch 1830038]: Increased usage of macros to detect and take advantage of objTypes. file: [4bc99bf130] check-in: [11e8f31512] user: msofer branch: trunk, size: 74285
2007-04-08
14:58
Merge updates from HEAD; may not build file: [18c43c971f] check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 74303
2007-03-28
19:03
* generic/tclCmdMZ.c (STR_REVERSE): Implement the actual [string reverse] command in terms of the new TclStringObjReverse() routine.
* generic/tclInt.h (TclStringObjReverse): New internal routine * generic/tclStringObj.c (TclStringObjReverse): that implements the [string reverse] operation, making use of knowledge/surgery of the String intrep to minimize the number of allocs and copies needed to do the job.
file: [bb24ea1219] check-in: [5373afa733] user: dgp branch: trunk, size: 74298
2007-03-21
18:02
* generic/tclExecute.c: More ckalloc -> ckrealloc conversions. * generic/tclLiteral.c: * generic/tclNamesp.c: * generic/tclParse.c: * generic/tclPreserve.c: * generic/tclStringObj.c: * generic/tclUtil.c:
file: [d4ae7f9b44] check-in: [aa6b9bf6a4] user: dgp branch: trunk, size: 72390
2006-11-15
20:08
TIP#270 IMPLEMENTATION
* generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed.
* generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [6ab13eec09] check-in: [c06db721dd] user: dgp branch: trunk, size: 72482
2006-11-05
04:16
* generic/tclStringObj.c: Changed Tcl_ObjPrintf() response to an invalid format specifier string. No longer panics; now produces an error message as output.
file: [9f863ed99c] check-in: [a83e3b5958] user: dgp branch: trunk, size: 72466
2006-11-02
16:57
* generic/tclCmdAH.c: Further revisions to produce the routines * generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that * generic/tclNamesp.c: accept (objc, objv) arguments rather than * generic/tclStringObj.c: any varargs stuff.
file: [f5d9e99147] check-in: [e66b307b7d] user: dgp branch: trunk, size: 72445
15:58
* generic/tclBasic.c: Further revised TclAppendPrintToObj() and * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable * generic/tclCmdAH.c: to complete their formatting operations, rather * generic/tclCmdIL.c: than report an error message. This means an * generic/tclCmdMZ.c: interp argument for error message recording is * generic/tclDictObj.c: no longer needed, further simplifying the * generic/tclExecute.c: interface for callers. * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [bf9c229ca5] check-in: [6ed730551a] user: dgp branch: trunk, size: 74207
2006-10-31
20:19
* generic/tclBasic.c: Refactored and renamed the routines * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of * generic/tclCmdIL.c: routines TclAppendPrintfToObj, * generic/tclCmdMZ.c: TclAppendFormatToObj, TclObjPrintf, and * generic/tclDictObj.c: TclObjFormat, with the intent of making * generic/tclExecute.c: the latter list, plus TclAppendLimitedToObj * generic/tclIORChan.c: and TclAppendObjToErrorInfo, public via * generic/tclIOUtil.c: a revised TIP 270. * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [f1eb31b393] check-in: [65113c21ec] user: dgp branch: trunk, size: 74345
2006-10-23
21:01
merge updates from HEAD file: [decd49e5e0] check-in: [1f911d4cbb] user: dgp branch: dgp-refactor, size: 73622
2006-09-24
21:15
* generic/tclParse.c (Tcl_ParseCommand): also return an error if start==NULL and numBytes<0. This is coverity's bug #20
* generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length strings. This is coverity's bugs #54-5
file: [d888ef8b3e] check-in: [cbbabd2395] user: msofer branch: core-8-4-branch, size: 54268
20:46
* generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length strings. This is coverity's bugs #54-5
file: [69dc63e90f] check-in: [e31741c85d] user: msofer branch: trunk, size: 73620
2006-08-29
16:19
merge updates from HEAD file: [4aff4bf3b4] check-in: [e1feeec3e7] user: dgp branch: dgp-refactor, size: 73554
2006-08-28
16:05
* generic/tclStringObj.c: Revised ObjPrintfVA to take care * generic/tclParseExpr.c: to copy only whole characters when doing %s formatting. This relieves callers of TclObjPrintf() and TclFormatToErrorInfo() from needing to fix arguments to character boundaries. Tcl_ParseExpr() simplified by taking advantage. [Bug 1547786]
file: [34b21ce597] check-in: [915a693050] user: dgp branch: trunk, size: 73549
14:13
* generic/tclStringObj.c: Corrected TclFormatObj's failure to count up the number of arguments required by examining the format string. [Bug 1547681]
file: [d938cfa275] check-in: [366bf07353] user: dgp branch: trunk, size: 73364
2006-08-10
12:15
Various minor object file size efficiency fixes. [Bug 1530474] file: [a0113d2b64] check-in: [a09967381c] user: dkf branch: trunk, size: 73303
2006-07-20
06:17
* generic/regc_locale.c (cclass): * generic/tclExecute.c (TclExecuteByteCode): * generic/tclIOCmd.c (Tcl_ExecObjCmd): * generic/tclListObj.c (NewListIntRep): * generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, FreeBignum, Tcl_SetBignumObj): * generic/tclParseExpr.c (Tcl_ParseExpr): * generic/tclStrToD.c (TclParseNumber): * generic/tclStringObj.c (TclAppendFormattedObjs): * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned comparison and other warnings from gcc4 -Wextra.
file: [4f90aa9b88] check-in: [25ff7e8b0a] user: das branch: trunk, size: 73261
2006-04-28
16:09
Merge updates from HEAD file: [828a2b16a1] check-in: [afab2ad07a] user: dgp branch: dgp-refactor, size: 73258
2006-03-23
14:24
comment adjustment file: [2cf4071242] check-in: [23f223b411] user: dgp branch: trunk, size: 73253
2006-01-25
18:38
merge updates from HEAD file: [26c28d6df4] check-in: [24df3318d7] user: dgp branch: dgp-refactor, size: 73217
2006-01-23
11:24
* generic/tclStringObj.c: fixed incorrect handling of internal rep in Tcl_GetRange [Bug 1410553]. Thanks to twylite and Peter Spjuth.
file: [a1923cf0e0] check-in: [b23e99e48d] user: msofer branch: core-8-4-branch, size: 54201
11:18
* generic/tclStringObj.c: fixed incorrect handling of internal rep in Tcl_GetRange [Bug 1410553]. Thanks to twylite and Peter Spjuth.
file: [7df7225e60] check-in: [be0a450d63] user: msofer branch: trunk, size: 73215
2005-11-03
17:52
merge updates from HEAD file: [e400ab9b72] check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 73197
2005-11-02
11:55
ANSIfy (though only partially - function decls only - for tclExecute.c) file: [7082a90f03] check-in: [127ec44748] user: dkf branch: trunk, size: 73193
2005-10-18
20:46
merge updates from HEAD file: [6f288258b9] check-in: [2e8613842e] user: dgp branch: dgp-refactor, size: 73726
2005-10-09
20:05
* generic/tclBasic.c: * generic/tclExecute.c: * generic/tclStrToD.c: * generic/tclStringObj.c: initialise variables to avoid compiler warnings ([Bug 1320818] among others).
file: [54033f7814] check-in: [6c384e90de] user: msofer branch: trunk, size: 73725
2005-10-08
14:42
TIP#237 IMPLEMENTATION
[kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code.
file: [27acf6dd29] check-in: [83fdb360a9] user: dgp branch: trunk, size: 73630
2005-09-30
17:02
[kennykb-numerics-branch]
* generic/tclStringObj.c: Bug fix: Missing cast to large enough integral size before << operations led to broken [format %llx] results. Thanks to Robert Henry for reporting the bug.
file: [f4f1b9630a] check-in: [14a510d9c1] user: dgp branch: kennykb-numerics-branch, size: 73635
2005-09-16
19:29
[kennykb-numerics-branch]
* generic/tclInt.h: Added TclBNInitBigNumFromWideInt() * generic/tclTomMathInterface.c: so that every caller isn't required to duplicate the sign logic to use the unsigned interface.
* generic/tclBasic.c: Reduce the number of places where Tcl * generic/tclExecute.c: intrudes into the internal format details * generic/tclObj.c: of the mp_int struct. * generic/tclStrToD.c: * generic/tcLStringObj.c:
* generic/tclTomMath.h: Added mp_cmp_d to routines from * unix/Makefile.in: libtommath used by Tcl. * win/Makefile.in: * win/makefile.vc:
file: [07ff865208] check-in: [6e1addf33e] user: dgp branch: kennykb-numerics-branch, size: 73619
2005-09-15
20:58
merge updates from HEAD file: [27d7f1aaa6] check-in: [29cc0feeb2] user: dgp branch: kennykb-numerics-branch, size: 73610
20:29
merge updates from HEAD file: [2d63ff735d] check-in: [f3caf581fe] user: dgp branch: dgp-refactor, size: 72003
16:58
* generic/tclStringObj.c (TclAppendFormattedObjs): Revision to eliminate one round of string copying.
file: [e36fed674f] check-in: [1a7995155b] user: dgp branch: trunk, size: 71999
2005-09-14
21:32
* generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to support "*" fields and needed to interpret precision limits on %s conversions as a maximum number of bytes, not Tcl_UniChars, to take from the (char *) argument.
* generic/tclBasic.c: Updated several callers to use * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or * generic/tclCmdAH.c: TclObjPrintf(). * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclProc.c:
file: [cb5614f931] check-in: [fbec962a12] user: dgp branch: trunk, size: 72048
17:13
* generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to support "*" fields and needed to interpret precision limits on %s conversions as a number of bytes, not Tcl_UniChars, to take from the (char *) argument.
* generic/tclBasic.c: Updated several callers to use * generic/tclCmdMZ.c: TclFormatToErrorInfo(). * generic/tclIOUtil.c:
* library/init.tcl: Keep [unknown] in sync with errorInfo formatting rules.
file: [850e6d568a] check-in: [73c6dc5786] user: dgp branch: trunk, size: 71891
03:46
* generic/tclBasic.c: First caller of TclFormatToErrorInfo.
* generic/tclInt.h: Using stdarg.h conventions, add more * generic/tclStringObj.c: fixed arguments to TclFormatObj() and TclObjPrintf(). Added new routine TclFormatToErrorInfo().
file: [78d7f5540f] check-in: [267895cd36] user: dgp branch: trunk, size: 71055
2005-09-13
21:23
* generic/tcl.h: Explicitly standardized on the use of stdarg.h * generic/tclBasic.c: conventions for functions with variable number * generic/tclInt.h: of arguments. Support for varargs.h has been * generic/tclPanic.c: implicitly gone for some time now. All * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources, * generic/tclStringObj.c: leaving only some deprecated #define's * tools/genStubs.tcl: in tcl.h for the sake of older extensions.
* generic/tclDecls.h: make genstubs
* doc/AddErrInfo.3: Replaced all documented requirement for use * doc/Eval.3: of TCL_VARARGS_START() with requirement for * doc/Panic.3: use of va_start(). * doc/SetResult.3: * doc/StringObj.3:
file: [9f61d2cc8c] check-in: [bdf9458b14] user: dgp branch: trunk, size: 70739
2005-09-12
19:39
uninitialized vars are bad, mm'kay? file: [6bdc178af7] check-in: [948d18b8f7] user: dgp branch: kennykb-numerics-branch, size: 72513
19:12
* generic/tclCmdAH.c: Added support for the "ll" width * generic/tclStringObj.c: specifier to [format].
file: [8edeb63bc8] check-in: [a74d98295f] user: dgp branch: kennykb-numerics-branch, size: 72495
15:40
merge updates from HEAD file: [cfa8d090a8] check-in: [156f19bcaf] user: dgp branch: dgp-refactor, size: 70906
14:47
[kennykb-numerics-branch] Merge updates from HEAD.
file: [6ca001ee92] check-in: [0b3ca397c7] user: dgp branch: kennykb-numerics-branch, size: 70947
14:31
2005-09-12 Don Porter <[email protected]>
* generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make sure %ld formats force the collection of a wide value, when the value could be a different long.
file: [82532711a0] check-in: [e034ea072e] user: dgp branch: trunk, size: 70902
2005-09-09
19:27
silence compiler warnings file: [6e0c0d0236] check-in: [d68f155509] user: dgp branch: kennykb-numerics-branch, size: 70888
19:24
silence compiler warnings file: [37e0e8e40c] check-in: [9e8ea0b8c1] user: dgp branch: trunk, size: 70843
18:48
[kennykb-numerics-branch] Merge updates from HEAD.
file: [61d50feac5] check-in: [343239eeff] user: dgp branch: kennykb-numerics-branch, size: 71017
17:47
* generic/tclInt.h: New internal routine TclObjPrintf() * generic/tclStringObj.c: is similar to TclFormatObj() but accepts arguments in non-Tcl_Obj format.
file: [69d8141027] check-in: [60ba4924b2] user: dgp branch: trunk, size: 70972
17:19
added missing casts in tclStringObj.c file: [9688e32da1] check-in: [93d1ebfd11] user: kennykb branch: trunk, size: 68268
15:44
* generic/tclInt.h: New internal routines TclFormatObj() * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer sprintf()-like means to append to Tcl_Obj. Work in progress toward [RFE 572392].
* generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd directs the [format] command to be implemented in terms of the new TclAppendFormattedObjs() routine.
file: [7e3749adb7] check-in: [d61b665021] user: dgp branch: trunk, size: 68249
2005-08-16
04:26
* generic/tclExecute.c: More revisions to IllegalExprOperandType. Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs.
file: [fc90a227bc] check-in: [df1d00d8c1] user: dgp branch: kennykb-numerics-branch, size: 55432
2005-08-02
18:14
merge updates from HEAD file: [b9c45e6054] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 55391
2005-07-26
04:11
Merge updates from HEAD file: [e392860fe3] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 55391
2005-07-24
22:56
Getting more systematic about style file: [01e1fcf3d2] check-in: [83d72c558c] user: dkf branch: trunk, size: 55387
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611)
file: [361357b2ee] check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 55368
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: [e572d3a86b] check-in: [1cc2336920] user: kennykb branch: trunk, size: 55365
2005-04-10
23:14
merged with HEAD and fixed 1180368 file: [e4c3c8fae1] check-in: [7bc9ca0285] user: kennykb branch: kennykb-numerics-branch, size: 55369
2005-04-07
17:31
merge updates from HEAD file: [b2574286fd] check-in: [7d5704f18c] user: dgp branch: dgp-refactor, size: 55365
2005-04-01
18:48
opt in INST_*_SCALAR, sync with HEAD file: [7af2880745] check-in: [7bf6052c01] user: msofer branch: msofer-wcodes-branch, size: 55368
15:17
* generic/tclExecute.c: * generic/tclInt.h: * generic/tclObj.c: * generic/tclStringObj.c: defined new internal macros for creating and setting frequently used obj types (int,long, wideInt, double, string). Changed TEBC to use eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr = Tcl_NewIntObj(i)'
file: [840441f4e9] check-in: [cbef3b55b1] user: msofer branch: trunk, size: 55364
2004-09-30
00:51
merge updates from HEAD file: [9d2cc26ea0] check-in: [6cd7cf6875] user: dgp branch: dgp-refactor, size: 55389
2004-09-29
22:17
Factorize out the code for freeing an object's internal rep. file: [5fde645697] check-in: [3890ad3c7c] user: dkf branch: trunk, size: 55385
2004-02-07
05:47
Merge updates from HEAD

Note that this branch currently does not fully support the new {expand} syntax. Updates to TclEvalScriptTokens and TclCompileScriptTokens are still to come. file: [3d5ceee2b2] check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 55752

2003-12-24
04:18
All uses of 'panic' (the macro) changed to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264] file: [6aa481b716] check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 55753
2003-10-16
02:28
Merged updates from HEAD file: [c9fbc1eb7b] check-in: [44102608b1] user: dgp branch: dgp-refactor, size: 55728
2003-10-14
15:44
* generic/tclBasic.c (TclAppendObjToErrorInfo): New internal routine that appends a Tcl_Obj to the errorInfo, saving the caller the trouble of extracting the string rep.
* generic/tclStringObj.c (TclAppendLimitedToObj): New internal routine that supports truncated appends with optional ellipsis marking. This single routine supports UTF-8-safe truncated appends needed in several places throughout the Tcl source code, mostly for error and stack messages. Clean fix for [Bug 760872].
* generic/tclInt.h: Declarations for new internal routines.
* generic/tclCmdMZ.c: Updated callers to use the new routines. * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclParseExpr.c: * generic/tclProc.c: * generic/tclStringObj.c: * mac/tclMacResource.c:
* library/init.tcl: Updated ::errorInfo cleanup in [unknown] to reflect slight modifications to Tcl_LogCommandInfo(). Corrects failing init-4.* tests.
file: [d43b24ec27] check-in: [3522d44090] user: dgp branch: trunk, size: 55724
2003-02-19
16:43
* generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of always invalidating unicode rep (if the obj has a string rep). Added hasUnicode flag to String struct, allows decoupling of validity of unicode rep from buffer size allocated to it (improves memory allocation efficiency). [Bugs #686782, #671138, #635200]
* macosx/Tcl.pbproj/project.pbxproj: * macosx/Makefile: reworked embedded build to no longer require relinking but to use install_name_tool instead to change the install_names for embedded frameworks.
* macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running 'make install' to build framework (avoids bogus rebuilds of dependent frameworks because tcl headers appear changed).
* tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is utf-8: use iso8859-1 encoding explicitly.
file: [f4c761893f] check-in: [80440365ac] user: das branch: trunk, size: 54177
14:33
* generic/tclCompile.c (TclCompileExprWords): remove unused variable "range" [Bug 664743] * generic/tclExecute.c (ExprSrandFunc): remove unused variable "result" [Bug 664743] * generic/tclStringObj.c (UpdateStringOfString): remove unused variable "length" [Bug 664751] * tests/execute.test (execute-7.30): fix for [Bug 664775]
file: [19bc4a5f32] check-in: [efdc16ed56] user: msofer branch: trunk, size: 54892
2003-02-15
02:14
generic/tclStringObj.c (Tcl_GetCharLength): perf tweak file: [3db05e95fe] check-in: [3dfa905412] user: hobbs branch: trunk, size: 54952
2003-02-11
18:35
* tests/stringObj.test: * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char opt of 2002-11-11 to not stop early on \x00. [Bug #684699]
file: [7ae1715dc0] check-in: [78c313648a] user: hobbs branch: trunk, size: 54928
2003-01-24
11:59
stringObj unicode Tcl_SetObjLength fixes file: [ad1e119bc5] check-in: [dce71c6888] user: vincentdarley branch: trunk, size: 54932
2003-01-17
14:19
execution trace, command trace and stringObj bug fixes file: [c7f28bf8dd] check-in: [bf6b0dfaf9] user: vincentdarley branch: trunk, size: 52871
2002-11-13
22:11
3 small fixes file: [2bbc4ebb0b] check-in: [602e2df05f] user: vincentdarley branch: trunk, size: 52010
2002-11-12
02:26
* generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii char case. (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar. (FillUnicodeRep): Use TclUtfToUniChar.
file: [da589abaef] check-in: [0dc350572c] user: hobbs branch: trunk, size: 52002
2002-02-05
02:21
Merging with the current TOT. Very few conflicts, mostly in the generated files. file: [82c4c0de46] check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 51557
2002-01-26
01:10
* Sought out and eliminated instances of CONST-casting that are no longer needed after the TIP 27 effort.
file: [d542b1ebd6] check-in: [4bca1d26db] user: dgp branch: trunk, size: 51547
2002-01-08
17:14
* typos and formatting
file: [6bd297238c] check-in: [c8ce36dee8] user: dgp branch: trunk, size: 51549
2001-12-28
23:36
* generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): Added the [memory onexit] command, intended to replace [checkmem].
* doc/DumpActiveMemory.3: * doc/memory.n: Updated documentation for [memory] and related matters. [Bug 487677]
* mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the machinery for the [checkmem] command that is completely duplicated by code in generic/tclCkalloc.c.
* generic/tclBinary.c: * generic/tclListObj.c: * generic/tclObj.c: * generic/tclStringObj.c: Removed references to [checkmem] in comments, referencing [memory active] instead, since it is documented.
file: [87718ded11] check-in: [cf5397db43] user: dgp branch: trunk, size: 51549
2001-12-03
18:23
NRE1 patch by Miguel Sofer. Several new controlling macros for information on the stack. Parser information on the stack can now be switched to allocation on the heap. file: [f774f1322c] check-in: [fc43051481] user: andreas_kupries branch: mod-8-3-4-branch, size: 44901
2001-09-27
13:49
Backing out unwise changes file: [771d260518] check-in: [4c0c25f627] user: dkf branch: dkf-64bit-support-branch, size: 51546
2001-09-26
14:23
Now builds on Solaris8/SPARC with both SunPro CC *and* GCC. file: [75f9995bde] check-in: [4850711173] user: dkf branch: dkf-64bit-support-branch, size: 51701
2001-09-25
16:49
Woo hoo! Builds on one platform (Solaris8/SPARC with SunPro CC) file: [eaceaddafa] check-in: [dd2d80954c] user: dkf branch: dkf-64bit-support-branch, size: 51584
2001-05-19
16:11
Update to head -> S4-0-2 file: [25ec04ba1e] check-in: [1b2b2b84cf] user: msofer branch: msofer-bcEngine, size: 51549
2001-05-15
21:30
* generic/tcl.decls: * generic/tclDecls.h: * generic/tclStubInit.c: * generic/tclStringObj.c (Tcl_GetUnicodeFromObj): new function to parallel Tcl_GetStringFromObj (fix of an API oversight).
file: [94e6956b4a] check-in: [fe1162706a] user: hobbs branch: trunk, size: 51544
2001-05-11
20:47
new byte-compiled commands, Tcl_GetUnicodeFromObj and string comparison changes file: [1684b2c731] check-in: [bbd0c14230] user: hobbs branch: dev-hobbs-branch, size: 51548
2001-04-04
16:07

(TIP#27) Changed a number of Tcl API's to accept "CONST char*" in place of simple "char*". (kennykb) [Patch #404026] file: [d002d96f4e] check-in: [bda1abaf85] user: kennykb branch: trunk, size: 49899

2000-09-14
18:42
* doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.

* doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.

* generic/tclDecls.h: * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.

* generic/tcl.decls: Added stubs for the Tcl_Attempt* memory allocators and for Tcl_AttemptSetObjLength.

* generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc, which map to the Tcl_Attempt* memory allocators.

* generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc, Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc, Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and the string obj append functions.

* generic/tclStringObj.c: Modified string growth algorithm to use doubling algorithm as long as possible, and only fall back when that fails. Added Tcl_AttemptSetObjLength, and modified AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and Tcl_AppendStringsToObjVA to support this. file: [65457b8516] check-in: [66347b65e4] user: ericm branch: trunk, size: 49810

2000-08-30
01:43
* generic/tclStringObj.c: Applied patch from Gerhard Hintermayer to provide a more conservative string growth algorithm for strings larger than one megabyte; this allows more efficient use of memory for very large strings. file: [63f1e17047] check-in: [ce0e80bb0f] user: ericm branch: trunk, size: 47064
2000-05-26
08:52
* generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code. (AppendUnicodeToUnicodeRep) removed overallocation by extra sizeof(Tcl_UniChar) multiplier.
file: [327cd0535a] check-in: [0ea5ede54f] user: hobbs branch: trunk, size: 44464
2000-05-08
22:10
minor comment correction file: [2a1f4c4021] check-in: [7fc9fd97f3] user: hobbs branch: trunk, size: 44833
1999-11-19
23:32
* generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL input. [Bug: 3400]
* generic/tclStringObj.c: fixed support for passing in negative length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380]
* tests/http.test: updated http package to 2.2 * doc/http.n: * library/http2.1/http.tcl: added register and unregister commands to http:: package (better support for tls/SSL), as well as -type argument to http::geturl. [RFE: 2617] * library/http2.1/http.tcl: Correctly fixed the -timeout problem mentioned in the 10-29 change. Also added error handling for failed writes on the socket during the protocol.
* generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx that could cause seg fault. ([email protected])
* generic/tclEvent.c: fixed possible lack of MutexUnlock in Tcl_DeleteExitHandler [Bug: 3545]
file: [a4a3caea56] check-in: [662493e960] user: hobbs branch: core-8-2-1-branch, size: 44833
06:34
* generic/tclProc.c: corrected error reporting for default case at the global level for uplevel command.
* generic/tclIOSock.c: changed int to size_t type for len in TclSockMinimumBuffers.
* generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL input. [Bug: 3400]
* generic/tclStringObj.c: fixed support for passing in negative length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380]
* doc/scan.n: * tests/scan.test: * generic/tclScan.c: finished support for inline scan by supporting XPG identifiers.
* doc/http.n: * library/http2.1/http.tcl: added register and unregister commands to http:: package (better support for tls/SSL), as well as -type argument to http::geturl. [RFE: 2617]
* generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx that could cause seg fault. ([email protected])
* generic/tclEvent.c: fixed possible lack of MutexUnlock in Tcl_DeleteExitHandler [Bug: 3545]
file: [123a71e2ca] check-in: [907f606957] user: hobbs branch: trunk, size: 44829
1999-10-30
11:05
* generic/tcl.h: updated to patchlevel 2
* generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj when indexing into one (test case string-5.16) [Bug: 2871]
* tests/incr.test: * tests/set.test: * generic/tclCompCmds.c: fixed improper bytecode handling of 'eval {set array($unknownvar) 5}' (also for incr)
* generic/tclThreadTest.c: fixed mem leaks in threads
* generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA and * generic/tclResult.c: fixed Tcl_AppendResultVA to only iterates once over the va_list (avoiding a memcpy of it, which is not portable).
* generic/tclCompile.c: removed savedChar trick that appeared to be causing a segv when the literal table was released
* generic/tclEnv.c: fixed mem leak with putenv and DStrings and fixed possible ABR error in environ array
file: [93bde6c83c] check-in: [be0c860183] user: hobbs branch: core-8-2-1-branch, size: 44401
1999-10-29
03:03
* generic/tclStringObj.c: fixed Tcl_AppendResultVA so it only iterates once over the va_list (avoiding a memcpy of it, which is not portable).
* generic/tclEnv.c: fixed possible ABR error in environ array
* tests/scan.test: * generic/tclScan.c: added support for use of inline scan, XPG3 currently not included
* tests/incr.test: * tests/set.test: * generic/tclCompCmds.c: fixed improper bytecode handling of 'eval {set array($unknownvar) 5}' (also for incr)
* win/tclWinTest.c: added testvolumetype command, as atime is completely ignored for Windows FAT file systems * win/tclWinPort.h: added sys/utime.h to includes * unix/tclUnixPort.h: added utime.h to includes * doc/file.n: * tests/cmdAH.test: * generic/tclCmdAH.c: added time arguments to atime and mtime file command methods (support 'touch' functionality)
file: [cfe17a53fb] check-in: [2c17586d2a] user: hobbs branch: trunk, size: 44397
1999-09-22
04:12
1999-09-21 Jeff Hobbs <[email protected]>
* tests/env.test: * unix/Makefile.in: added support for AIX LIBPATH env var [Bug: 2793] removed second definition of INCLUDE_INSTALL_DIR (the one that referenced @includedir@) [Bug: 2805] * unix/dltest/Makefile.in: added -lc to LIBS [Bug: 2794]
* tests/timer.test: changed after delay in timer test 6.29 from 1 to 10. [Bug: 2796]
* tests/pkg.test: * generic/tclPkg.c: fixed package version check to disallow 1.2..3 [Bug: 2539]
* unix/Makefile.in: fixed gendate target - this never worked since RCS was intro'd. * generic/tclGetDate.y: updated to reflect previous changes to tclDate.c (leap year calc) and added CEST and UCT time zone recognition. Fixed 4 missing UCHAR() casts. [Bug: 2717, 954, 1245, 1249]
* generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really dump to stderr and close it [Bug: 725] and changed Tcl_Ckrealloc and Tcl_Ckfree to not bomb when NULL was passed in [Bug: 1719] and changed Tcl_Alloc, et al to not panic when a alloc request for zero came through and NULL was returned (valid on AIX, Tru64) [Bug: 2795, etc]
* generic/tclIOCmd.c: fixed potential core dump in conjunction with stacked channels with result obj manipulation in Tcl_ReadChars [Bug: 2623]
* tests/format.test: * generic/tclCmdAH.c: fixed translation of %0#s in format [Bug: 2605]
* tests/set-old.test: * generic/tclVar.c: Added fix in TclArraySet to check when trying to set in a non-existent namespace. [Bug: 2613]
* tests/linsert.test: * generic/tclCmdIL.c: fixed end-int interpretation of linsert to correctly calculate value for end, added test and docs [Bug: 2693]
* doc/switch.n: added proper use of comments to example. * generic/tclCmdMZ.c: changed switch to complain when an error occurs that seems to be due to a misplaced comment.
* generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions in regsub [Bug: 2723]
* generic/tclCmdMZ.c: changed [string equal] to return an Int type object (was a Boolean)
* generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy [Bug: 2625]
* generic/tclProc.c: moved static buf to better location and changed static msg that would overflow in ProcessProcResultCode [Bug: 2483] and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of static buffers.
* tests/stringObj.test: added test 9.11 * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly handle the 1-byte dest and mixed src case where both had had Unicode string len checks made on them. [Bug: 2678]
* unix/aclocal.m4: * unix/tcl.m4: added -bnoentry to the AIX-* case [Bug: 1909] added fix for FreeBSD-[1-2] recognition [Bug: 2070] and fix for IRIX SHLIB_LB_LIBS. [Bug: 2610]
* generic/tclPosixStr.c: fixed typo [Bug: 2592]
* win/README.binary: fixed version info and some typos [Bug: 2561]
* generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide headers (pleases HP cc)
* tests/expr.test: * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types that cause differed compilation for exprs, to correct the expr double-evaluation problem for vars. Added test cases. Related to [Bug: 732]
file: [333c3bb390] check-in: [ab656050a9] user: hobbs branch: core-8-2-1-branch, size: 43719
1999-09-02
16:26
1999-09-01 Jeff Hobbs <[email protected]>
* generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy [Bug: 2625] * generic/tclProc.c: moved static buf to better location and changed static msg that would overflow in ProcessProcResultCode [Bug: 2483] and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of static buffers. * tests/stringObj.test: added test 9.11 * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly handle the 1-byte dest and mixed src case where both had had Unicode string len checks made on them. [Bug: 2678]
file: [b214d59aef] check-in: [dc02bb24c9] user: hobbs branch: trunk, size: 43715
1999-06-16
00:47
fixed bug that cause bad memory read on Windows file: [72df14ad7e] check-in: [4a56d07c39] user: hershey branch: trunk, size: 43684
00:00
fixed bugs that kept windows from compiling. file: [c6c6583f70] check-in: [0cb1b747f4] user: hershey branch: trunk, size: 43688
1999-06-15
22:06
beefed up the string object tests file: [b5a1694335] check-in: [3f45ef233e] user: hershey branch: trunk, size: 43670
03:14
Improved the appendObj functions (uncomented the optimized code that was present in the Unicode obj). Updated the teststringobj command to look in the correct location for the amount of space allocated for the UTF string rep.

Note: one stringObj test is still failing; it reflects a change in that may not be undesirable... file: [7908d57203] check-in: [6a28946962] user: hershey branch: trunk, size: 43552

01:16
Merged String and Unicode object types. Added new functions to the puplic API: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, Tcl_AppendUnicodeToObj.

Note: some stringObj tests are still failing--the teststringobj command still needs to be updated. file: [5644dfe576] check-in: [23b23af342] user: hershey branch: trunk, size: 44357

1999-06-08
02:59
* tests/string.test: * generic/tclVar.c (Tcl_SetVar2Ex): * generic/tclStringObj.c (Tcl_AppendObjToObj): * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string index, string length, string range, and append command in cases where the object's internal rep is a bytearray. Objects with other internal reps are converted to have the new unicode internal rep.
* unix/Makefile.in: * win/Makefile.in: * win/Makefile.vc: * tests/unicode.test: * generic/tclInt.h: * generic/tclObj.c: * generic/tclUnicodeObj.c: added a new object type to store the unicode representation of a string.
* generic/tclTestObj.c: added the objtype option to the testobj command. This option returns the name of the type of internal rep an object has.
file: [21a787827b] check-in: [8fcb19ead3] user: hershey branch: trunk, size: 18921
1999-05-07
20:07
* generic/tclResult.c (Tcl_AppendResultVA): * generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy arglist using memcpy instead of assignment so it works properly on OS/390. [Bug: 1997] file: [7265878d31] check-in: [dea0868b6c] user: stanton branch: trunk, size: 18968
1999-04-28
17:06
* mac/tclMacResource.c: * generic/tclListObj.c: * generic/tclObj.c: * generic/tclStringObj.c: Changed to avoid freeing the string representation before freeing the internal rep. This helps with debugging since the string rep will still be valid when the free proc is invoked. file: [ea565f3bcb] check-in: [101102ec64] user: stanton branch: trunk, size: 18816
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: [88f4231d89] check-in: [f3b32fb71c] user: stanton branch: trunk, size: 18824
1999-03-11
19:28
Deleted: Add documentation for Tcl_GetVersion() check-in: [940e47cf48] user: redman branch: scriptics-tclpro-1-2, size: 0
1999-03-10
06:49
Integrated stubs mechanism from 8.0 into 8.1 file: [fd95aa1da6] check-in: [ddb86b8d93] user: stanton branch: core-8-1-branch-old, size: 18828
05:52
Merged stubs changes into mainline for 8.0 file: [f26de96ab6] check-in: [1969693351] user: stanton branch: trunk, size: 18133
1999-03-09
02:37
* generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion of tclDecls.h to avoid macro conflicts.

* generic/tclInt.h: * generic/regc_color.c: * generic/regcomp.c: * generic/tclCmdIL.c: * generic/tclCmdAH.c: * generic/tclIOCmd.c: * generic/tclParse.c: * generic/tclStringObj.c: * unix/tclUnixNotfy.c: Cleaned up various compiler warnings, eliminated UCHAR bugs.

* unix/tclUnixNotfy.c: * unix/tclUnixThrd.c: * generic/tclThreadTest.c: * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*(). file: [92850edbce] check-in: [a1684dfa8e] user: stanton branch: dev-8-1-stubs-branch, size: 18832

1999-03-08
20:14
First pass at integrating stubs mechanism from 8.0. file: [c89ba4d7a0] check-in: [eeba5fd9e9] user: stanton branch: dev-8-1-stubs-branch, size: 18902
1999-03-03
00:38
* unix/Makefile.in: * unix/configure.in: * unix/ldAix: Enhanced AIX shared library support.

* win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR attributes from internal functions.

* win/tclWinReg.c: Changed registry package to use stubs mechanism so it no longer depends on the specific version of Tcl.

* doc/AddErrInfo.3: * doc/Eval.3: * doc/PkgRequire.3: * doc/SetResult.3: * doc/StringObj.3: * generic/tcl.h: * generic/tclBasic.c: * generic/tclPanic.c: * generic/tclStringObj.c: * generic/tclUtil.c: * unix/mkLinks: Added va_list versions of all VARARGS functions so they can be invoked from the stub functions.

* doc/package.n: * doc/PkgRequire.3: * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx, Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" command.

* generic/tclFileName.c: * mac/tclMacFile.c: * mac/tclMacShLib.exp: * unix/tclUnixFile.c: * win/tclWinFile.c: Changed so TclGetUserHome is defined on all platforms, even though it is currently a noop on mac and windows, and renamed it to TclpGetUserHome.

* generic/tclCkalloc.c: Added stub versions of memory checking functions when compiling without TCL_MEM_DEBUG.

* doc/ByteArrObj.3: * generic/tcl.h: * generic/tclBinary.c: * generic/tclObj.c: Ported the 8.1 ByteArray type back to 8.0.

* generic/tcl.decls: * generic/tcl.h: * generic/tclBasic.c: * generic/tclDecls.h: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclIntPlatStubs.c: * generic/tclIntStubs.c: * generic/tclPlatDecls.h: * generic/tclPlatStubs.c: * generic/tclStubInit.c: * generic/tclStubLib.c: * generic/tclStubs.c: * tools/genStubs.tcl: * unix/configure.in: * unix/Makefile.in: * unix/tclConfig.sh.in: * win/makefile.vc: * win/tclWinPort.h: Added Tcl stubs implementation. There are now two new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that enable use of stubs and disable stub macros respectively. All of the public and private function declarations from tcl.h and tclInt.h have moved into the *.decls files and the *Stubs.c and *Decls.h files are generated using the genStubs.tcl script.

* generic/tclPanic.c: * generic/panic.c: renamed panic to Tcl_Panic, added macro for backwards compatibility, renamed file to tclPanic.c file: [f9eda23b90] check-in: [f404370f5a] user: stanton branch: dev-stubs-branch, size: 18137

1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: [62acd4117b] check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 18200
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: [a46aa959b7] check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 18175
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: [9d8e1138b2] check-in: [196f92fd17] user: stanton branch: trunk, size: 17497
1998-03-26
14:45
Added: Initial revision file: [720c6d9cc4] check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 17476