Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for generic/tclUtf.c
|
2026-06-30
| ||
| 12:18 | Fix [f04e9b1304]: Crash in Tcl_UtfToUpper/Lower/Title on a genuine 4-byte UTF-8 character file: b0341d422a check-in: [8fdf2f999c] user: jan.nijtmans branch: core-8-6-branch, size: 64801 | |
|
2026-06-20
| ||
| 14:47 | Minor change: Fix up some wayward tabs file: fda8833d9a check-in: [c207a9178f] user: dkf branch: main, size: 67433 | |
|
2026-05-15
| ||
| 11:10 | Fix some indents file: dd6bcbce86 check-in: [9e2610e8ef] user: dkf branch: main, size: 67433 | |
|
2026-03-22
| ||
| 12:57 | More whitespace fixes file: 73203db132 check-in: [c65a7aa504] user: dkf branch: main, size: 67437 | |
|
2026-02-23
| ||
| 09:17 | Rebase to trunk. More bool's file: 7b8f2a475c check-in: [e0b054564f] user: jan.nijtmans branch: tip-748, size: 67430 | |
|
2026-02-14
| ||
| 16:39 | General whitespace fixes. No semantic changes. file: e34094ae0e check-in: [af2708b4ef] user: dkf branch: main, size: 67419 | |
|
2026-02-09
| ||
| 09:50 | Merge trunk file: 66a7277991 check-in: [1d0362d66c] user: jan.nijtmans branch: tip-748, size: 67425 | |
| 08:54 | Implement (internal) TclpIsAtty() for Windows. More internal bool usage file: 7dd76d8027 check-in: [3bc2ec92db] user: jan.nijtmans branch: main, size: 67414 | |
|
2025-12-29
| ||
| 21:49 | Rebase to trunk file: da2879db81 check-in: [4bc0680742] user: jan.nijtmans branch: tip-748, size: 67403 | |
|
2025-12-04
| ||
| 17:12 | More signature changes to 'bool' file: b950a79d0a check-in: [4aeb62cdab] user: jan.nijtmans branch: tip-748, size: 67416 | |
|
2025-11-15
| ||
| 21:56 | merge trunk file: 04557d670e check-in: [459669e809] user: dkf branch: c-std-update, size: 67461 | |
|
2025-10-24
| ||
| 14:25 | merge trunk file: 529700fd58 check-in: [9c127a6a3a] user: dkf branch: c11-bool, size: 67456 | |
|
2025-10-12
| ||
| 19:21 | Rebase to trunk file: 242e1c8bfe check-in: [fad4806904] user: jan.nijtmans branch: tip-626, size: 67330 | |
|
2025-10-10
| ||
| 23:15 | Fix broken build, introduced [2d7ae66265|here]. More -Wconversion warning fixes file: 45ef58c92b check-in: [b8506ab1c6] user: jan.nijtmans branch: main, size: 67343 | |
| 14:11 | Tranche 3 of adoption of bool file: e3def98ff3 check-in: [6e7e183bb2] user: dkf branch: c11-bool, size: 67397 | |
|
2025-09-26
| ||
| 18:53 | merge trunk file: 02c536570b check-in: [f0dcb3e615] user: dkf branch: c-std-update, size: 67402 | |
|
2025-09-02
| ||
| 20:04 | Rebase to trunk file: 9185a04199 check-in: [1880179400] user: jan.nijtmans branch: tip-626, size: 67298 | |
|
2025-09-01
| ||
| 19:31 | Rebase to 9.1. Remove --enable-memorymodule file: cf1d8e9e28 check-in: [960eb1404b] user: jan.nijtmans branch: tip-709, size: 67296 | |
|
2025-08-31
| ||
| 20:13 | Final verdict, without test expectation changes file: 68b343c8fb check-in: [f95a112489] user: jan.nijtmans branch: tip-726-jan, size: 67284 | |
| 20:03 | Oops, 21 bits, not 17 bits file: bf568b2520 check-in: [1857668b9f] user: jan.nijtmans branch: main, size: 67337 | |
| 19:14 | Final verdict, without test expectation changes file: 47b005681c check-in: [c1ea8981ee] user: jan.nijtmans branch: tip-726-jan, size: 67271 | |
| 17:16 | Merge 9.0. Fix TIP #726 implementation, so all functions give the same answer as Tcl 9.0 for out-of-bound characters file: 38ed3dc4e0 check-in: [cc4f7b61e2] user: jan.nijtmans branch: main, size: 67324 | |
|
2025-08-30
| ||
| 14:36 | Sorry Ashok, but I object to changing a right-shift (as it originally was) to a left-shift. Will explain by mail. file: 02786df6b1 check-in: [442c3e7366] user: jan.nijtmans branch: main, size: 67194 | |
|
2025-08-29
| ||
| 13:24 | More review: Eliminate UNICODE_OUT_OF_RANGE and use right-shifts file: 25d914f0ed check-in: [453ab178cb] user: jan.nijtmans branch: tip-726-jan, size: 66751 | |
|
2025-08-17
| ||
| 11:25 | More bools and pieces file: 660196dbff check-in: [28a7d957c7] user: dkf branch: c-std-update, size: 68020 | |
|
2025-08-12
| ||
| 13:44 | remove tclUniData.c and uniParse.tcl: not used any more file: 4dff0a881e check-in: [b885c376e5] user: jan.nijtmans branch: tip-726, size: 67122 | |
| 09:06 | More booleans. file: 5d9666ea4b check-in: [8a9080996d] user: dkf branch: c-std-update, size: 67996 | |
|
2025-07-25
| ||
| 17:46 | Eliminate use of tclUniData.c file: 54eb890d30 check-in: [1dcc7678c8] user: apnadkarni branch: tip-726-plus, size: 67308 | |
| 17:34 | Implement unicode toXXXX congruent to string toXXXX file: 7a8f8523d8 check-in: [369ac8bf18] user: apnadkarni branch: tip-726-plus, size: 74377 | |
| 15:49 | Implement unicode is CLASS to match string is CLASS file: 897d8b31da check-in: [7beae32e00] user: apnadkarni branch: tip-726-plus, size: 71199 | |
|
2025-04-02
| ||
| 08:52 | Another round of -Wconversion fixes file: 528ea773a3 check-in: [357b91880a] user: jan.nijtmans branch: main, size: 67864 | |
|
2025-04-01
| ||
| 13:18 | Another round of -Wconversion fixes file: 13ea5433b6 check-in: [3b8dc10929] user: jan.nijtmans branch: tip-626, size: 67878 | |
|
2025-03-26
| ||
| 16:33 | More C4244 Windows warnings file: 4f49a2ef87 check-in: [6938f5b6c3] user: jan.nijtmans branch: tip-626, size: 67810 | |
|
2025-03-02
| ||
| 15:48 | Bunch of whitespace basic fixes. file: 05b3c3b942 check-in: [809d595b56] user: dkf branch: main, size: 67796 | |
|
2025-01-20
| ||
| 14:39 | Fixes for many many whitespace infelicities file: f66fec395b check-in: [ba7d219e65] user: dkf branch: whitespace-fix, size: 67782 | |
|
2024-12-12
| ||
| 20:31 | Convert masks to an enum file: f0b16961ba check-in: [a5b1b09552] user: dkf branch: main, size: 67784 | |
|
2024-08-29
| ||
| 08:23 | Merge [f6c559b364487a9d]: Space before tab is an extremely unlikely to be correct indentation pattern. file: 0b521f749d check-in: [8a11a89576] user: pooryorick branch: unchained, size: 68188 | |
|
2024-08-28
| ||
| 16:33 | Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: eadac966f9 check-in: [627781a6db] user: pooryorick branch: unchained, size: 68188 | |
|
2024-08-27
| ||
| 21:31 | Merge [835b1a5566c28af4]: More whitespace cleanup. file: e5098407b1 check-in: [fc7d06c8b8] user: pooryorick branch: unchained, size: 68149 | |
|
2024-08-26
| ||
| 11:01 | Merge [9b8a66aff6923a69]: Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!). file: 2c29aac647 check-in: [9f27ea7880] user: pooryorick branch: unchained, size: 68151 | |
| 09:45 | Merge [1fbff64078d7fb02]: Fix indentation/brace usage style issues. file: 866cfe06c0 check-in: [bd3faf4a67] user: pooryorick branch: unchained, size: 68161 | |
|
2024-08-25
| ||
| 13:22 | Merge [123c58d051c8c1ab]: "merge release", "Remove private characters from regexp control table, but add them back in [:cntrl:] class (so no change in regexp handling). Eliminated (size_t) type-casts. Backported from 8.7", and "Fix [d63061a1ac]: PRIVATE != CONTROL in Unicode". file: ed0e0b3980 check-in: [23e01ffee0] user: pooryorick branch: unchained, size: 68167 | |
| 12:24 | Merge [ca14b3054d49c1f4]: TIP #652. file: a6990b72fd check-in: [cc54f1c099] user: pooryorick branch: unchained, size: 68188 | |
| 08:04 | Merge [aae56979fd434db3]: Optimize Tcl_UniCharIsControl(). Don't worry about range >= U+F0000, that's for TCL_UTF_MAX>3, which is unsupported for 8.6. file: 3c786ed8ad check-in: [48dd7bab13] user: pooryorick branch: unchained, size: 68963 | |
| 07:33 | Merge [7b36a6fd46bbe54a]: Update the pkga.c/pkgua.c examples, making sure there's no misunderstanding that Tcl_UtfNcmp() expects Tcl_UniChar lengths, not byte lengths file: 4de4e04e34 check-in: [b693580597] user: pooryorick branch: unchained, size: 69062 | |
| 07:30 | Merge [f4d16ada5190a2d1]: Fix [4e38c347a4]: Changed contract for Tcl_UtfN(case)cmp in Tcl 8.7. file: adf09b4a26 check-in: [3e36f3fe56] user: pooryorick branch: unchained, size: 69052 | |
| 05:36 | Merge [c83fa73b65ca3849]: Fix [abd489a1c]: TclStringCmp() calls functions through pointer to incorrect type. file: d616d227dd check-in: [c9ab508174] user: pooryorick branch: unchained, size: 67163 | |
| 05:32 | Merge [18e32ec525fe3202]: Unneeded #undef's. Testcase/comment cleanup. file: 344117b614 check-in: [ef90889292] user: pooryorick branch: unchained, size: 67073 | |
|
2024-08-20
| ||
| 20:04 | Merge [d24c3420fa4add26], TIP #665: Remove support for internal utf-16. file: d0ebfb90da check-in: [77d9dffc85] user: pooryorick branch: unchained, size: 67308 | |
|
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: 30e5b0466c check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 67307 | |
|
2024-06-12
| ||
| 08:47 | Merge [fab05e2102] (core-8-branch): More Tcl_Size. file: ada959f162 check-in: [bcf6945c28] user: pooryorick branch: unchained, size: 66937 | |
|
2024-06-04
| ||
| 15:35 | Space before tab is an extremely unlikely to be correct indentation pattern file: 29f12485b0 check-in: [f6c559b364] user: dkf branch: main, size: 67783 | |
|
2024-05-13
| ||
| 15:41 | Clean up a lot of small whitespace issues This is the dullest commit ever. Sorry. file: c09a184b21 check-in: [3a60363aa1] user: dkf branch: main, size: 67817 | |
|
2024-05-10
| ||
| 15:40 | More whitespace cleanup file: d80dbf635c check-in: [835b1a5566] user: dkf branch: main, size: 67778 | |
|
2024-04-23
| ||
| 16:06 | Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: 3b06de4a78 check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 67824 | |
|
2024-03-20
| ||
| 20:29 | Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!) file: 5e9e721e61 check-in: [9b8a66aff6] user: jan.nijtmans branch: main, size: 67780 | |
| 20:09 | Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!) file: e9392be0f4 check-in: [3186ba81a2] user: jan.nijtmans branch: core-8-branch, size: 76905 | |
| 17:56 | optimize TclUtfToUCS4 for single code units (non high surrogates), especially for ascii; fixes performance regression [6811a0081940b76c] file: 7e5292dabd check-in: [ad35def80d] user: sebres branch: core-8-6-branch, size: 64804 | |
|
2024-03-19
| ||
| 14:56 | Fix indentation/brace usage style issues file: f42d134067 check-in: [1fbff64078] user: dkf branch: main, size: 67790 | |
|
2024-03-03
| ||
| 21:48 | Merge 8.7 file: 4eb4e6aa0e check-in: [123c58d051] user: jan.nijtmans branch: main, size: 67796 | |
| 21:42 | Merge 8.6 file: 398f88309e check-in: [2490edbb83] user: jan.nijtmans branch: core-8-branch, size: 76938 | |
| 21:30 | Fix [d63061a1ac]: PRIVATE != CONTROL in Unicode file: 2096c6cc8b check-in: [0480bdc823] user: jan.nijtmans branch: core-8-6-branch, size: 64805 | |
|
2024-02-11
| ||
| 22:05 | TIP #652 file: d706e0f20e check-in: [2e1b89ace3] user: jan.nijtmans branch: core-8-branch, size: 76959 | |
|
2024-02-07
| ||
| 14:47 | Implementation of TIP 652. file: 167a5a52d8 check-in: [f76bde9ba9] user: pooryorick branch: tip-652, size: 67817 | |
|
2024-01-30
| ||
| 17:07 | Tweaking indentation of code; really unimportant... file: 902d411682 check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 68630 | |
|
2024-01-22
| ||
| 15:43 | Merge 8.7 file: b00de11567 check-in: [aae56979fd] user: jan.nijtmans branch: main, size: 68592 | |
|
2024-01-21
| ||
| 16:31 | Merge 8.6 file: 37b7a3481d check-in: [9ebdb88b20] user: jan.nijtmans branch: core-8-branch, size: 77734 | |
| 16:26 | Optimize Tcl_UniCharIsControl(). Don't worry about range >= U+F0000, that's for TCL_UTF_MAX>3, which is unsupported for 8.6. file: 669f7ea6fc check-in: [8e673f54d3] user: jan.nijtmans branch: core-8-6-branch, size: 64826 | |
|
2024-01-15
| ||
| 10:46 | Bug [d63061a1ac]: "PRIVATE != CONTROL in Unicode". Leave out "Co" (private-use characters) from "string is control". file: e11c258454 check-in: [5219e3ff14] user: jan.nijtmans branch: bug-d63061a1ac, size: 77741 | |
|
2024-01-12
| ||
| 13:12 | Merge 8.7 file: 33bb3d3f9c check-in: [7b36a6fd46] user: jan.nijtmans branch: main, size: 68691 | |
| 11:53 | Leave out Tcl_UtfNcmp/Tcl_UtfNcasecmp from -DTCL_NO_DEPRECATED builds, because it's part of the UTF16 compatibility layer file: aa6e8b1e91 check-in: [2d72b799ff] user: jan.nijtmans branch: core-8-branch, size: 77833 | |
|
2024-01-10
| ||
| 21:01 | Fix [4e38c347a4] Changed contract for Tcl_UtfN(case)cmp in Tcl 8.7 file: d1d67541a6 check-in: [45db2932ba] user: jan.nijtmans branch: core-8-branch, size: 77661 | |
| 15:12 | Fix [4e38c347a4]: Changed contract for Tcl_UtfN(case)cmp in Tcl 8.7 file: 7ad9a56545 check-in: [f4d16ada51] user: jan.nijtmans branch: main, size: 68681 | |
| 12:41 | TIP 685 implementation: rename "string is unicode" to "string is transferable". Also rename underlying C function "Tcl_UniCharIsUnicode" to "Tcl_UniCharIsTransferable". file: 74f7693140 check-in: [5018317bb2] user: oehhar branch: tip-685, size: 75746 | |
|
2023-12-29
| ||
| 23:54 | Fix [abd489a1c]: TclStringCmp() calls functions through pointer to incorrect type file: 8bad15be72 check-in: [c83fa73b65] user: jan.nijtmans branch: main, size: 66792 | |
| 14:57 | Unneeded #undef's. Testcase/comment cleanup file: d2bc395e71 check-in: [18e32ec525] user: jan.nijtmans branch: main, size: 66702 | |
| 12:39 | Merge 8.6 file: d88d36db90 check-in: [b307c14710] user: jan.nijtmans branch: core-8-branch, size: 75723 | |
|
2023-10-13
| ||
| 13:27 | Proposed fix for [abd489a1c]: TclStringCmp() calls functions through pointer to incorrect type. Modified, swapping the wrapping-order file: 03af0b6919 check-in: [6d9d5ac6a7] user: jan.nijtmans branch: bug-abd489a1c, size: 64925 | |
|
2023-09-12
| ||
| 10:11 | Merge 8.7 file: c6ac1dcada check-in: [d24c3420fa] user: jan.nijtmans branch: main, size: 66944 | |
|
2023-05-01
| ||
| 20:28 | More progress file: 80594eb5a9 check-in: [f3015fa249] user: jan.nijtmans branch: tip-665, size: 72531 | |
| 19:42 | Remove internal use of TCL_UTF_MAX=3 as much as possible, without compromizing existing TIP's file: 8fb9ac9c00 check-in: [86503e53c7] user: jan.nijtmans branch: tip-665, size: 72576 | |
|
2023-04-28
| ||
| 17:34 | Remove all code related to TCL_UTF_MAX=3. file: 35eabcd52d check-in: [d0c75e3b88] user: pooryorick branch: unchained, size: 66945 | |
| 06:43 | Limit memset() to "TCL_UTF_MAX=3' builds. file: 76ecb3cdd4 check-in: [c72b11eac7] user: pooryorick branch: main, size: 71869 | |
|
2023-04-27
| ||
| 20:34 | memset(0xff) instead of memset(0) to accomodate tests that fill buffer with 0xff. file: 0c038d5268 check-in: [1e52f2b6c3] user: pooryorick branch: bug-f5eadcbf9a6b1b4c, size: 71815 | |
|
2023-04-25
| ||
| 20:34 | Fix for issue [f5eadcbf9a], passing pointer to uninitialized memory leads Tcl_UniCharToUtf() to corrupt data. file: e85972715f check-in: [db9f715fd5] user: pooryorick branch: bug-f5eadcbf9a6b1b4c, size: 71809 | |
|
2023-04-14
| ||
| 15:01 | Merge trunk file: b1e70b23d0 check-in: [e36ab1e9ba] user: apnadkarni branch: tip-660, size: 71148 | |
|
2023-04-12
| ||
| 14:25 | Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: bee4197cdf check-in: [d65da06a77] user: pooryorick branch: main, size: 71163 | |
| 13:30 | Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: 784c46905b check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 75938 | |
| 09:35 | Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: 0c3f0782c0 check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 63167 | |
|
2023-04-04
| ||
| 20:50 | more progress file: 6e7ba5c478 check-in: [4e36871191] user: jan.nijtmans branch: optional-signed-size, size: 71215 | |
|
2023-04-02
| ||
| 21:49 | Merge 9.0. Add some more utility macro's file: 4954dba7d7 check-in: [4bedba476d] user: jan.nijtmans branch: optional-signed-size, size: 71147 | |
|
2023-03-30
| ||
| 18:01 | TIP 660. No compiler warnings. Tests suite pass on Win and Ubuntu file: 611210fab5 check-in: [eb81a25271] user: apnadkarni branch: tip-660, size: 71148 | |
|
2023-03-22
| ||
| 19:30 | Forgot one line in previous commit, and indenting file: 721bf4662a check-in: [16b3efee0d] user: jan.nijtmans branch: main, size: 71163 | |
| 18:13 | Let's get in the 'readability' changes from the 'unchained' branch, without the need for all those partial merges. file: 73982f88a3 check-in: [3f420a07da] user: jan.nijtmans branch: main, size: 71044 | |
| 18:00 | Merge 8.7 file: dbf3095366 check-in: [f4cf3c36b4] user: jan.nijtmans branch: main, size: 71112 | |
| 17:57 | Merge 8.6 file: edad2ed8f4 check-in: [6063e17e15] user: jan.nijtmans branch: core-8-branch, size: 75938 | |
| 17:50 | Fix [0265750233]: invalid read in cmdAH-4.3.13.C1.solo.utf-8.tcl8 file: d8c3dab8b5 check-in: [2ffcb8bcf4] user: jan.nijtmans branch: core-8-6-branch, size: 63167 | |
| 17:34 | Fix [0265750233]: invalid read in cmdAH-4.3.13.C1.solo.utf-8.tcl8. file: 0850778eea check-in: [9f7e05419e] user: jan.nijtmans branch: mistake, size: 63167 | |
| 16:36 | Proposed fix for [0265750233]: invalid read in cmdAH-4.3.13.C1.solo.utf-8.tcl8. file: 63ea89e358 check-in: [4055888f8f] user: jan.nijtmans branch: bug-0265750233, size: 75916 | |
|
2023-03-09
| ||
| 21:50 | Merge 8.7 file: 9e14056004 check-in: [6c92d05c1f] user: jan.nijtmans branch: mistake, size: 71120 | |
| 21:35 | Additional fix for [f3cb2a32d6]: uninitialized value in format-2.18 This commit causes a lot of breackage .... file: 2cf67fb76e check-in: [8d939a1c22] user: jan.nijtmans branch: mistake, size: 75928 | |
|
2023-02-01
| ||
| 08:10 | (cherry-pick) Make Tcl_UniCharToUtf more readable and add test to exercise surrogate handling. (test-case was still missing, which cannot be used in Tcl 8.6) file: bac1ff6f63 check-in: [3b953fea77] user: jan.nijtmans branch: core-8-branch, size: 75898 | |
| 07:32 | (cherry-pick) Make Tcl_UniCharToUtf more readable and add test to exercise surrogate handling. file: 5b2e8be87b check-in: [f4c704bc57] user: jan.nijtmans branch: core-8-branch, size: 76021 | |
| 07:29 | (Cherry-pick) Make Tcl_UniCharToUtf more readable. file: 0db541f666 check-in: [b4571ae045] user: jan.nijtmans branch: core-8-6-branch, size: 63147 | |
| 00:34 | Merge trunk. file: 019b30b09c check-in: [e052e25beb] user: pooryorick branch: unchained, size: 71123 | |
|
2023-01-31
| ||
| 23:04 | Make Tcl_UniCharToUtf more readable and add test to exercise surrogate handling. file: 2b4eaf61a3 check-in: [fcdc24c850] user: pooryorick branch: main, size: 71072 | |
| 22:15 | Fix error introduced in [3e5e37f83b058f3d] for Tcl_UniCharToUtf, and add test. file: 4b1119fbfe check-in: [df3390187d] user: pooryorick branch: py_easier_to_read, size: 71245 | |
|
2023-01-30
| ||
| 19:37 | Update code comments for Tcl_UniCharToUtf(). file: 0803bdaf9e check-in: [aad66f6a63] user: pooryorick branch: unchained, size: 71205 | |
| 11:59 | A few more readability changes to Tcl_UniCharToUtf() jn: Please, don't do that here. Tcl_UniCharToUtf() is shared between 8.6, 8.7 and 9.0. So if you want to make it easier to read, it should be done on all 3 branches. I know you only care about "trunk", but it makes maintenance on 8.6/8.7/9.0 harder than it already is. I don't want to spend time on reviewing such kind of changes, and no-one else is doing it. Thanks for understanding (I hope)! file: 8e2aa1cbcf check-in: [b8524737fc] user: pooryorick branch: py_easier_to_read, size: 71246 | |
| 11:22 | Make Tcl_UniCharToUtf() a little easier to read. file: 87063883cc check-in: [3e5e37f83b] user: pooryorick branch: py_easier_to_read, size: 71246 | |
|
2022-11-16
| ||
| 20:52 | one more (Tcl_UniCharToUtf), and adapt documentation file: 5d60e82b79 check-in: [89bee74fab] user: jan.nijtmans branch: main, size: 71201 | |
| 20:39 | Change 5 functions signatures from int -> size_t. Those should have been part of TIP #494 (Thanks, Gustaf!) file: 1b4b9d0cc8 check-in: [2571961f21] user: jan.nijtmans branch: main, size: 71198 | |
|
2022-09-21
| ||
| 18:46 | various break-fix measures file: 69d5c7f407 check-in: [eb68153185] user: bch branch: bch_sign_and_width, size: 71189 | |
| 17:50 | merge [trunk] file: 3402756a9b check-in: [ab16261020] user: bch branch: bch_sign_and_width, size: 71191 | |
|
2022-07-12
| ||
| 09:22 | Merge 8.7 file: 363f78a471 check-in: [db6106323b] user: jan.nijtmans branch: main, size: 71183 | |
| 09:03 | Merge 8.7. Clean-up tclWinConsole.c the same way file: 191f492913 check-in: [da4d986fd1] user: jan.nijtmans branch: core-8-branch, size: 76027 | |
| 08:20 | Code cleanup (use {} in if/else statemenets) file: cb8804bd23 check-in: [ba232277ee] user: jan.nijtmans branch: core-8-6-branch, size: 63153 | |
|
2022-04-20
| ||
| 20:24 | merge [trunk] file: 6e83bd1cbf check-in: [3550542d19] user: bch branch: bch_sign_and_width, size: 71095 | |
|
2022-04-08
| ||
| 09:37 | Merge 9.0 file: e9652741f4 check-in: [a1d061ebc8] user: jan.nijtmans branch: tip-619, size: 71191 | |
|
2022-04-01
| ||
| 13:12 | Merge 9.0 file: 05030a04f9 check-in: [4ce1a22a7f] user: jan.nijtmans branch: tip-619, size: 71336 | |
| 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: 163a4e6715 check-in: [9e1c0d7636] user: jan.nijtmans branch: main, size: 71087 | |
|
2022-03-29
| ||
| 22:17 | Merge 9.0. Fix CONTINUATION macro, and testcases file: b76b499796 check-in: [38c85a4afd] user: jan.nijtmans branch: tip-619, size: 71295 | |
|
2022-03-24
| ||
| 11:34 | Implement PANIC when the UTF16 compatibility layer is used in combination with -DTCL_NO_DEPRECATED file: bb16281435 check-in: [c9d9aaf618] user: jan.nijtmans branch: full-utf-for-87, size: 76035 | |
| 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: 220088a79b check-in: [a68880dccd] user: jan.nijtmans branch: full-utf-for-87, size: 75936 | |
|
2022-03-23
| ||
| 14:32 | Fix Tcl_UniCharAtIndex() for UTF-16 compabitility layer file: 296a4ff68d check-in: [01f2ee09b4] user: jan.nijtmans branch: full-utf-for-87, size: 75870 | |
|
2022-03-22
| ||
| 23:18 | Simplyfy Tcl_UtfAtIndex file: 83af4628be check-in: [d395ff5ce6] user: jan.nijtmans branch: tip-622, size: 71046 | |
| 15:38 | Feature-complete file: a481b61bb7 check-in: [d2ae10faca] user: jan.nijtmans branch: full-utf-for-87, size: 75894 | |
| 11:25 | More progress file: 1964d095c7 check-in: [8a7b81816e] user: jan.nijtmans branch: full-utf-for-87, size: 74396 | |
| 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: f7f920bff9 check-in: [d9384cad48] user: jan.nijtmans branch: tip-622, size: 71343 | |
|
2022-03-16
| ||
| 23:08 | Handle Tcl_UtfAtIndex file: 3e516c1808 check-in: [4d35f48f7c] user: jan.nijtmans branch: full-utf-for-87, size: 74374 | |
|
2022-03-14
| ||
| 16:06 | More progress file: 1faf708527 check-in: [48ab8b7472] user: jan.nijtmans branch: full-utf-for-87, size: 73884 | |
|
2022-03-11
| ||
| 22:43 | 2 more functions file: c549181e96 check-in: [f3580d9f09] user: jan.nijtmans branch: full-utf-for-87, size: 73755 | |
| 22:11 | Handle TclUniCharNcmp() file: c920f06a63 check-in: [715b107f62] user: jan.nijtmans branch: full-utf-for-87, size: 69809 | |
|
2022-03-08
| ||
| 22:26 | initial work at using signed-storage for cases where values can actually be signed. file: 3b51e7483c check-in: [5030ee02cf] user: bch branch: bch_sign_and_width, size: 69392 | |
|
2022-03-03
| ||
| 13:05 | TIP #619 implementation. tests not working yet file: 14dbaef4ca check-in: [e791d2994c] user: jan.nijtmans branch: tip-619, size: 69633 | |
|
2022-02-24
| ||
| 22:20 | 3 more files with TCL_UTF_MAX checks file: 2a18863905 check-in: [70eb0efb69] user: jan.nijtmans branch: core-8-branch, size: 69151 | |
| 21:44 | Merge 8.7 file: 2ff9e1f3ce check-in: [0907ba571c] user: jan.nijtmans branch: main, size: 69384 | |
|
2022-02-03
| ||
| 13:13 | TIP #617: Tcl_WCharLen/Tcl_Char16Len file: 5fc32a6ed7 check-in: [2b0167c4a2] user: jan.nijtmans branch: tip-617, size: 69159 | |
|
2021-04-30
| ||
| 08:49 | Merge 8.7. Remove "string bytelength" completely. Also fix some TIP #595 leftover testcases, which were skipped file: 8f2b0ccaa6 check-in: [ef90dfbe67] user: jan.nijtmans branch: main, size: 68823 | |
|
2021-03-17
| ||
| 12:04 | Merge 8.7 file: 95bc7c89a5 check-in: [0d01d35ca0] user: jan.nijtmans branch: tip-597, size: 68595 | |
|
2021-03-15
| ||
| 12:31 | Merge 8.7 (this is the TIP #575 implementation for Tcl 9.0) file: 87a9e182f7 check-in: [3fed9809e1] user: jan.nijtmans branch: main, size: 68048 | |
| 11:52 | Implement TIP #575: Switchable Tcl_UtfCharComplete()/Tcl_UtfNext()/Tcl_UtfPrev() file: f559d46094 check-in: [4abf5fb992] user: jan.nijtmans branch: core-8-branch, size: 67820 | |
|
2021-03-11
| ||
| 12:19 | Backport Tcl_UtfCharComplete() functionality from 8.6 for TCL_UTF_MAX>3. This makes Tcl_UtfCharComplete() usable to protect Tcl_UtfNext() calls for overflow. No change for TCL_UTF_MAX=3 (default build) file: 0225383322 check-in: [0f1dccacba] user: jan.nijtmans branch: core-8-5-branch, size: 55274 | |
|
2021-03-10
| ||
| 16:17 | Merge 8.7 file: 2ecfd1c249 check-in: [3c64a79d6a] user: jan.nijtmans branch: main, size: 68564 | |
| 16:16 | Merge 8.6 file: 309a58a3e8 check-in: [9491870854] user: jan.nijtmans branch: core-8-branch, size: 68336 | |
| 16:12 | Repair Tcl_UniCharNcasecmp() in the same way as Tcl_UniCharNcmp() for fix [4c591fa487]. Also put back minor optimization for big-endian machines removed in the previous commit file: 7d9aff2106 check-in: [1b0eda88cc] user: jan.nijtmans branch: core-8-6-branch, size: 63157 | |
| 15:48 | Merge 8.7 file: 90ae9091cd check-in: [62a4501023] user: jan.nijtmans branch: main, size: 68085 | |
| 15:47 | Merge 8.6 file: dbc23d8625 check-in: [bcaebc9bb7] user: jan.nijtmans branch: core-8-branch, size: 67857 | |
| 15:39 | Fix [4c591fa487]: [string compare] EIAS violation file: 9f093c66fb check-in: [6a5a5e21f1] user: jan.nijtmans branch: core-8-6-branch, size: 62676 | |
| 12:55 | TIP #597 implementation: "string is unicode" and new wtf-8 encoding file: 37c46c7c61 check-in: [fc3656894a] user: jan.nijtmans branch: tip-597, size: 68625 | |
|
2021-03-03
| ||
| 14:31 | Backport improvements in UTF-8 handling for Tcl_UtfPrev/Tcl_UtfNext from 8.7 (through 8.6). No change for TCL_UTF_MAX=3. Adapt test-cases accordingly file: 25aa4d36c7 check-in: [4c185260b8] user: jan.nijtmans branch: core-8-5-branch, size: 54494 | |
|
2021-03-02
| ||
| 11:02 | Merge 8.7 file: bec813293d check-in: [981b059a3f] user: jan.nijtmans branch: main, size: 68078 | |
| 10:53 | Using 0xFC00 is more readable here than ~0x3FF. It's sufficient becauwe ch1 and ch2 are only 16-bit. Backported from 8.7 file: 1a3a67aab3 check-in: [6064dfa0b2] user: jan.nijtmans branch: core-8-6-branch, size: 62668 | |
| 10:38 | Merge 8.6 file: e34c706dc3 check-in: [b421cf94ac] user: jan.nijtmans branch: core-8-branch, size: 67850 | |
| 10:10 | Backport some UTF-8-related changed from 8.7 to 8.6, only for TCL_UTF_MAX > 3. No change for TCL_UTF_MAX=3. Also adapt test-cases accordingly, and add comments why the changes were done. file: 85fb86571b check-in: [e0cba87ba8] user: jan.nijtmans branch: core-8-6-branch, size: 62668 | |
|
2021-02-16
| ||
| 08:10 | Fix Tcl_UtfPrev for TCL_UTF_MAX>3, so it can jump back over Emoji. Backported from 8.7, no change for TCL_UTF_MAX=3. This way, the previous fix can be slightly more simplified, and working for TCL_UTF_MAX>3 too. file: b7dbe89f73 check-in: [5437791423] user: jan.nijtmans branch: core-8-6-branch, size: 62083 | |
|
2020-12-13
| ||
| 16:59 | Merge 8.7 file: d677f79a41 check-in: [0631cdce81] user: jan.nijtmans branch: tip-575, size: 67079 | |
|
2020-12-08
| ||
| 15:42 | Merge 8.7 file: c8ad303c5a check-in: [71493b571b] user: jan.nijtmans branch: main, size: 67689 | |
| 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: b10b993d1b check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 67461 | |
|
2020-11-18
| ||
| 14:29 | Merge 8.7 file: 1ddca5273e check-in: [0e52f34ca2] user: jan.nijtmans branch: main, size: 67690 | |
| 13:51 | More usage of TclUtfToUCS4/TclUniCharToUCS4 in stead of it's UniChar variants: This handles surrogate pairs better. file: be48f7aa0c check-in: [d843858583] user: jan.nijtmans branch: core-8-branch, size: 67462 | |
|
2020-11-05
| ||
| 17:06 | Merge 8.7 file: 4714ced6aa check-in: [23c0c45dd0] user: jan.nijtmans branch: tip-575, size: 67080 | |
|
2020-06-04
| ||
| 15:15 | Merge 8.7. Use more TCL_INDEX_NONE in documentation/headers/code. file: 5acf707511 check-in: [baad702302] user: jan.nijtmans branch: trunk, size: 67436 | |
|
2020-05-25
| ||
| 11:53 | Finish implementation of "string nextchar|nextword|prevchar|prevword". Not thourougly test yet, but seems OK at first sight. file: aebc1a920f check-in: [0a46907d56] user: jan.nijtmans branch: tip-575, size: 67687 | |
| 09:46 | Merge 8.7 file: a394c3ef5f check-in: [383de70ed5] user: jan.nijtmans branch: trunk, size: 67442 | |
| 09:32 | Fix compiled "string is <class>" for characters > U+FFFF. Add testcase exposing this bug. file: 1279a196e3 check-in: [2a3709ca18] user: jan.nijtmans branch: core-8-branch, size: 67208 | |
| 09:02 | Fix compiled "string is <class>" for TCL_UTF_MAX=4 build, for characters > U+FFFF. file: 935c0f05f5 check-in: [1eec2e52c3] user: jan.nijtmans branch: core-8-6-branch, size: 62059 | |
|
2020-05-22
| ||
| 21:28 | Split more "string" functions. New helper function TclUniCharToUCS4(), not used yet but that's the next step. file: 1c57261714 check-in: [ec03d6f62d] user: jan.nijtmans branch: tip-575, size: 67433 | |
| 14:36 | Merge 8.7 Add function Tcl_UniCharFold(). It's the same as Tcl_UniCharToLower() for now, but that will change. file: 9b9a0643d1 check-in: [c338858460] user: jan.nijtmans branch: tip-575, size: 67050 | |
|
2020-05-20
| ||
| 19:12 | Merge 8.7 file: d5326119f4 check-in: [4d5fc5a4f3] user: jan.nijtmans branch: trunk, size: 67059 | |
| 19:09 | Adapt some comments, which are not correct for Tcl 8.7 any more file: daab2dad3d check-in: [1203d7b979] user: jan.nijtmans branch: core-8-branch, size: 66825 | |
|
2020-05-18
| ||
| 20:23 | Tiny fix for TCL_UTF_MAX=4 build only: Since Tcl_UtfNext() verifies 4 bytes for lead bytes F0-F5, Tcl_UtfCharComplete() should guarantee that those 4 bytes are available, not 3. file: 2fd4a1f9d9 check-in: [f299c3c546] user: jan.nijtmans branch: core-8-6-branch, size: 61648 | |
| 11:51 | Merge 8.7 file: 989f7f2b9d check-in: [c933eb1f2d] user: jan.nijtmans branch: tip-573, size: 62334 | |
| 10:10 | Adapt Tcl_UtfPrev()/Tcl_UtfNext() to be consistant with Tcl_UtfToUniChar() file: 7ae9dd89ae check-in: [6aa676e6bc] user: jan.nijtmans branch: tip-573, size: 61033 | |
|
2020-05-13
| ||
| 22:07 | Merge 8.7. Further progress with TIP implementation. file: 5f36d4015f check-in: [afe207f116] user: jan.nijtmans branch: tip-575, size: 66452 | |
| 16:51 | Fix [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes file: 163cc43ab2 check-in: [2a7beb9d18] user: jan.nijtmans branch: core-8-6-branch, size: 61648 | |
|
2020-05-12
| ||
| 21:22 | Merge 8.7 file: 0f33a04699 check-in: [ee9f526818] user: jan.nijtmans branch: trunk, size: 67067 | |
| 21:17 | Little tweak to Tcl_UniCharAtIndex(): Protect against negative index, return -1 in that case. file: c0daf522a8 check-in: [fba6de9b22] user: jan.nijtmans branch: core-8-branch, size: 66833 | |
| 19:47 | Merge 8.7 file: 9cc185dddb check-in: [d513c9b2fd] user: jan.nijtmans branch: trunk, size: 67059 | |
| 19:41 | Merge 8.6 file: 5fc434c5c5 check-in: [1d587617b0] user: jan.nijtmans branch: core-8-branch, size: 66794 | |
| 19:20 | Revert implementation of Tcl_UniCharAtIndex() change done in this commit: [6596c4af31e29b5d]. Just look at the Tcl_UtfAtIndex() implementation for TCL_UTF_MAX=4: It's not the same. There are no test-cases for Tcl_UniCharAtIndex(), see [f45d0dc1a7], not really worth to write one, since the implementation of this function didn't change in 20 years. file: c08942135d check-in: [0418b67de2] user: jan.nijtmans branch: core-8-6-branch, size: 62224 | |
| 18:59 | First, experimental implementation of TIP #575. Barely tested, will fail. WIP file: e28fe4a740 check-in: [d15b9cb99e] user: jan.nijtmans branch: tip-575, size: 66518 | |
| 11:08 | Merge testcase cleanup. Make Tcl_UtfPrev() behave the same for any TCL_UTF_MAX value, since we didn't figure out yet how it should behave for TCL_UTF_MAX>3. file: c2b8a025c1 check-in: [b5d4bf440b] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 61613 | |
| 07:26 | Fix "knownBug" utf-4.11. Turns out a few other testcases where still not correct, now they are. Make next/prev behavior the same for all TCL_UTF_MAX values, since the exact behavior for TCL_UTF_MAX>3 should be worked out further for Tcl 8.7 first, then everything agreed upon can be backported. file: 6bc82beea3 check-in: [8aa5fcb56e] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 61680 | |
|
2020-05-11
| ||
| 12:25 | Merge 8.6. Mark testcase utf-4.11 as "knownBug": this one still doesn't give the right answer. Add testcase 4.14 with similar corner-case, this one is OK. file: bff485763b check-in: [aeb46f9ed0] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 62194 | |
| 11:26 | Merge 8.7 file: 6fd45d6640 check-in: [89e2216acf] user: jan.nijtmans branch: trunk, size: 66804 | |
| 10:18 | Merge 8.6 file: 0fec4430b8 check-in: [097c064eb4] user: jan.nijtmans branch: core-8-branch, size: 66580 | |
| 10:03 | Tweak the Tcl_UtfPrev() implementation for TCL_UTF_MAX=4. This fixes 10 testcases in 4 groups (utf-7.10, utf-7.15, utf-7.40 and utf-7.48) , where Tcl_UtfPrev() didn't jump to the beginning of the UTF-8 character, even though there was no limitation which prevented that. So, this is actually a bug-fix for the TIP #389 implementation. file: a4178ad1d0 check-in: [ae6c7e8b86] user: jan.nijtmans branch: core-8-6-branch, size: 62210 | |
| 07:42 | Merge 8.7 file: 3ceb6a9145 check-in: [fe9bc8500a] user: jan.nijtmans branch: trunk, size: 66748 | |
| 07:41 | Merge 8.6 file: 9fed91ce86 check-in: [6a7f9c3f67] user: jan.nijtmans branch: core-8-branch, size: 66524 | |
| 07:39 | occurance -> occurrence. file: 0834b8cf55 check-in: [1f06b263bc] user: jan.nijtmans branch: core-8-6-branch, size: 62212 | |
|
2020-05-10
| ||
| 20:58 | Demonstration for documentation bug, and suggestion for improved wording. More explanation will follow in the ticket. file: 194cf0d34f check-in: [94b8ef9338] user: jan.nijtmans branch: bug-81242a48c8, size: 66293 | |
| 20:15 | Merge 8.7 file: 1b799deb71 check-in: [80b28f70b4] user: jan.nijtmans branch: trunk, size: 66747 | |
| 20:11 | Merge 8.6 file: 7f66271ea1 check-in: [2cff341b8c] user: jan.nijtmans branch: core-8-branch, size: 66523 | |
| 19:28 | Tweak Invalid() function: No need for "return 0" twice in the function. For start bytes F0-F4, case TCL_UTF_MAX=4, Tcl_UtfToUniChar() reads 3 bytes but only advances 1 byte. So Tcl_UtfCharComplete() must make sure 3 bytes are available, not 1. Adapt Tcl_UtfCharComplete() accordingly. No change for TCL_UTF_MAX=[3|6] file: c5862ed2d3 check-in: [1c924d98e0] user: jan.nijtmans branch: core-8-6-branch, size: 62211 | |
|
2020-05-08
| ||
| 15:19 | Rebase to latest core-8-6-branch. file: 1102147264 check-in: [03e4d0a22a] user: jan.nijtmans branch: bug-31aa44375d, size: 61282 | |
|
2020-05-07
| ||
| 22:06 | merge 8.7 file: 9b16395cee check-in: [b7293ef281] user: dgp branch: trunk, size: 66759 | |
| 21:59 | Merge 8.6 file: 5f74755db2 check-in: [6f4a6b90ef] user: dgp branch: core-8-branch, size: 66535 | |
| 21:47 | Merge changes from parent branch file: 467388c349 check-in: [2742b2b00d] user: dgp branch: bug-31aa44375d, size: 61305 | |
| 21:28 | Merge 8.6 file: d282366dbc check-in: [c59e41ca4e] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 61589 | |
| 20:44 | merge 8.5 file: f2c0d97c09 check-in: [46d4cccefe] user: dgp branch: core-8-6-branch, size: 61720 | |
| 20:31 | Same trouble with Tcl_UtfToUniCharDstring. Test and fix. file: 6406b6da69 check-in: [1a4edbc67e] user: dgp branch: core-8-5-branch, size: 54068 | |
| 19:22 | merge 8.5 file: a7f7399b26 check-in: [488d1d5841] user: dgp branch: core-8-6-branch, size: 61723 | |
| 19:08 | Fix. Note that just because we get one positive detection of an incomplete character, we cannot conclude that the next byte also will be, or can by taken as a single byte. At least we cannot when TCL_UTF_MAX > 3 so that we have room for valid two-byte sequences after incomplete sequence detection. No need for conditional code, just use an algorithm that always works. file: 633872436b check-in: [899e66a3c0] user: dgp branch: bug-b2816a3afe, size: 54075 | |
| 18:23 | New approach to fixing the regression reported in [31aa44375d] builds on recent reforms. Older efforts aborted. file: eeafc020ea check-in: [ad31bd7310] user: dgp branch: bug-31aa44375d, size: 61319 | |
| 14:15 | For TCL_UTF_MAX==4: Make sure that Tcl_UtfNext()/Tcl_UtfPrev() never move more than 3 bytes. This is more consistant with what Tcl 8.7 does too. For TCL_UTF_MAX==6: Make sure that Tcl_UtfNext()/Tcl_UtfPrev() never move more than 4 bytes. For TCL_UTF_MAX==3: No change. Introduce ucs2_utf16 test constraint, since many test results now become the same for ucs2 and utf16. file: 4c78350590 check-in: [116d4a8943] user: jan.nijtmans branch: core-8-6-branch, size: 61728 | |
| 13:37 | Merge 8.6. Some more tweaks to Tcl_UtfPrev(), so it cannot jump back 4 bytes in "utf16" build any more. file: 9d407eb301 check-in: [6f4bdb20da] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 61597 | |
| 11:09 | Merge 8.7 file: 32dd82e7e4 check-in: [3516a881cf] user: jan.nijtmans branch: trunk, size: 66773 | |
| 10:56 | Merge 8.6 file: 80c3a3b4a5 check-in: [2de70b5bd1] user: jan.nijtmans branch: core-8-branch, size: 66549 | |
| 10:09 | Optimize Tcl_UtfToUniCharDString() file: 73e3d5ab08 check-in: [806e1e868c] user: jan.nijtmans branch: core-8-6-branch, size: 61725 | |
| 09:31 | Tighten optimization in Tcl_UtfToUniCharDString(), just as in Tcl_NumUtfChars(). Don't use "-1" in the Tcl_NumUtfChars() calculation, since that raises more questions than it solves, but that's easy to be remedied as well: Juse use >= in stead of > in the comparation. Great idea, Don! Backport more code formatting from Tcl 8.6 (e.g. use of CONST, which makes no sense any more in c-files) file: d9de658c5f check-in: [49fb3b2f1a] user: jan.nijtmans branch: core-8-5-branch, size: 54086 | |
|
2020-05-06
| ||
| 21:59 | merge 8.7 file: 547abbcb04 check-in: [f21991ce1e] user: dgp branch: trunk, size: 66348 | |
| 21:52 | merge 8.6 file: 8ca0195fe0 check-in: [4d08cde908] user: dgp branch: core-8-branch, size: 66124 | |
| 21:42 | merge 8.5 file: 9aa5c57149 check-in: [62362d0caa] user: dgp branch: core-8-6-branch, size: 61525 | |
| 21:08 | Tighten optimization in Tcl_NumUtfChars. Explain in comments. file: 6ec6093330 check-in: [dabb52db36] user: dgp branch: core-8-5-branch, size: 54053 | |
| 19:55 | merge 8.7 file: f36b3644ff check-in: [541cffe991] user: dgp branch: trunk, size: 65736 | |
| 19:48 | merge 8.6 file: 85ae6af27c check-in: [bf737b27ba] user: dgp branch: core-8-branch, size: 65547 | |
| 19:31 | merge 8.5 file: cafc8c7a54 check-in: [01956c0799] user: dgp branch: core-8-6-branch, size: 60948 | |
| 19:22 | Restore safe calls of Invalid(). file: fd1606ce1a check-in: [8d0f9fd43b] user: dgp branch: core-8-5-branch, size: 53477 | |
| 16:58 | The routine Invalid() has been revised to do something different. Update the comments to describe what it does now, and cautions that callers take into account. file: 2f13e3001c check-in: [1835c80d8f] user: dgp branch: core-8-5-branch, size: 53144 | |
| 13:31 | Merge 8.7 file: b4ca240e7a check-in: [c990c1d146] user: jan.nijtmans branch: trunk, size: 64980 | |
| 13:22 | Merge 8.6 file: 0103a8bc49 check-in: [918cfd8094] user: jan.nijtmans branch: core-8-branch, size: 64791 | |
| 13:14 | Merge 8.5. More usage of UCHAR() macro. file: 828ebbe4fc check-in: [3f3c0fda44] user: jan.nijtmans branch: core-8-6-branch, size: 60192 | |
| 13:03 | Change Invalid() parameter type to "const char *". Also call Invalid() first in Tcl_UtfNext(), so if src[1] is invalid src[2] doesn't need to be checked any more. Note: This order change, calling Invalid() first was wrong, and is corrected in later commits. Thanks, Don, for noticing this! file: 2ffd834b54 check-in: [31c95595b2] user: jan.nijtmans branch: core-8-5-branch, size: 52721 | |
| 09:44 | Merge 8.7 file: ee720bf978 check-in: [97679b4f1d] user: jan.nijtmans branch: tip-573, size: 64914 | |
|
2020-05-05
| ||
| 16:00 | More usage of TclUtfToUCS4(), so we can use the whole Unicode range better in TCL_UTF_MAX>3 builds. file: ccbd485d3f check-in: [26e57ca148] user: jan.nijtmans branch: core-8-6-branch, size: 60187 | |
| 13:23 | Add 4 test-cases that could fool Tcl_UtfPrev (but ... actually they don't). Make sure that Tcl_UtfPrev() never reads more than 3 trail bytes (or 4 when TCL_UTF_MAX > 4). Those are the same limits as for Tcl_UtfNext() and Tcl_UtfToUniChar() file: 4f3603d99e check-in: [50e98246d7] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60100 | |
| 11:54 | Merge 8.7 file: c5ed1ee11f check-in: [95e9950dad] user: jan.nijtmans branch: trunk, size: 64975 | |
| 11:44 | Fix Tcl_UtfPrev() such that it can never go back more than TCL_UTF_MAX bytes. Already done correctly on core-8-6-branch, but this was never forwarded to core-8-branch. file: 9315ba8c93 check-in: [21adba4503] user: jan.nijtmans branch: core-8-branch, size: 64786 | |
| 10:06 | Merge 8.6 file: 97b7eecfe0 check-in: [5d3edce6f4] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60084 | |
| 09:51 | Merge 8.7 file: e11eca8c98 check-in: [bd1dcc78c1] user: jan.nijtmans branch: trunk, size: 64882 | |
| 08:16 | Merge 8.6 file: de2ccc2bf4 check-in: [7d127f6d27] user: jan.nijtmans branch: core-8-branch, size: 64693 | |
| 07:39 | Merge 8.5 file: 98970568cf check-in: [822925b9b4] user: jan.nijtmans branch: core-8-6-branch, size: 60215 | |
| 07:29 | Properly protect "Invalid" function against lead bytes 0x80-0xBF. This fixes "knownBug" testcase utf-6.93.1. Rename tip389 selector to utf16, since that's what it actually is, in contrast to ucs2 and ucs4. file: 993152b84c check-in: [b0b773f640] user: jan.nijtmans branch: core-8-5-branch, size: 52716 | |
|
2020-05-04
| ||
| 14:17 | More progress/simplification file: e972014e95 check-in: [a17d905779] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60105 | |
| 13:01 | Merge 8.6 file: 60207ec948 check-in: [1256ace951] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60870 | |
| 12:31 | New internal function TclGetUCS4() only available when TCL_UTF_MAX=4. This fixes all "knownBug" testcases related to tip389. file: 2283dbc19a check-in: [41517f0841] user: jan.nijtmans branch: core-8-6-branch, size: 60226 | |
| 11:08 | Merge 8.6 file: 05701644db check-in: [76cc0911f3] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60847 | |
| 08:35 | (partial) fix for [9d0cb35bb2]: Various issues with core-8-6-branch, TCL_UTF_MAX=4. (even though TCL_UTF_MAX=4 is unsupported, it would be nice to make it work) Marked various test-cases as "knownBug", those work correctly in core-8-branch (8.7). The fix there could be backported. Low prio. file: fc6d7ce227 check-in: [af513d6a16] user: jan.nijtmans branch: core-8-6-branch, size: 60073 | |
|
2020-05-03
| ||
| 22:27 | Merge 8.6 file: ab4526735f check-in: [0de2fe18d1] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 60805 | |
| 22:16 | Re-join utf-6.93.0 and utf-6.93.1 (please disregard comment in previous commit, it was not correct). Perfectionalize TclUtfToUCS4()/TclUCS4Complete() and new (internal) function TclUCS4ToUtf(). They can help preventing bugs regarding splitting/joining surrogates. Used them in a few more places. file: aa796ca523 check-in: [161196f054] user: jan.nijtmans branch: core-8-6-branch, size: 60121 | |
|
2020-05-02
| ||
| 22:48 | Join test-cases utf-6.93.0 and utf-6.93.1, which MUST give the same answer always for whatever testConstraints. Fix one invalid use of TclUCS4Complete(), and let TclUtfToUCS4() handle (invalid) 4-byte sequences. Test-case cleanup (removal of unnecessary quoting) file: b74d0eff81 check-in: [e145652a1f] user: jan.nijtmans branch: core-8-6-branch, size: 58821 | |
| 21:54 | Seems almost correct. Still problem with "string index" for TCL_UTF_MAX>3 file: 21368c5c14 check-in: [20993bd6c0] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 59505 | |
| 10:15 | More fixes for [ed29806baf]. Not working yet. WIP file: 09e78bf6c7 check-in: [f670d1a41f] user: jan.nijtmans branch: bug-ed29806baf-8.6, size: 59677 | |
|
2020-05-01
| ||
| 15:29 | Rebase to core-8-6-branch (I don't think it's solved yet, but let's see) file: fa452f53e1 check-in: [04631bfc72] user: jan.nijtmans branch: bug-ed29806baf, size: 58569 | |
| 14:44 | Merge 8.7 file: e1d0eb44d9 check-in: [056c1aad28] user: jan.nijtmans branch: trunk, size: 64893 | |
| 14:20 | Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes. Tcl_UtfToUniChar() now never reads more than TCL_UTF_MAX bytes any more. Since the UtfToUtf encoder/decoder now uses TclUtfToUCS4() it doesn't join 2 surrogates as 2 x 3-byte sequences any more. Actually, it shouldn't, because such sequences are invalid UTF-8. Therefore, added the ucs2 constraint to testcase encoding-15.4. Let's see how TIP #573 goes, this TIP should make this change official. Other callers of Tcl_UtfToUniChar() needs to be revised for the same problem. Most callers will need to change Tcl_UtfToUniChar() -> TclUtfToUCS4() and Tcl_UtfCharComplete() -> TclUCS4Complete(), but that's not done yet. file: 016c050892 check-in: [1d9487bc7e] user: jan.nijtmans branch: core-8-branch, size: 64704 | |
| 13:38 | Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes. Tcl_UtfToUniChar() now never reads more than TCL_UTF_MAX bytes any more. The UtfToUtf encoder/decoder is adapted to do attitional checks (more tricky than in Tcl 8.7, since we want compatibility with earlier 8.6 releases). Other callers of Tcl_UtfToUniChar() needs to be revised for the same problem. Most callers will need to change Tcl_UtfToUniChar() -> TclUtfToUCS4() and Tcl_UtfCharComplete() -> TclUCS4Complete(), but that's not done yet. file: f5fdfb6efc check-in: [5f2bb912cf] user: jan.nijtmans branch: core-8-6-branch, size: 58821 | |
|
2020-04-30
| ||
| 21:23 | merge 8.7 file: 3f6b7394c0 check-in: [25e735d05d] user: dgp branch: bug-e617e8a71a, size: 68058 | |
| 19:25 | merge 8.7 file: 70acfc1299 check-in: [948dd75b36] user: dgp branch: trunk, size: 64940 | |
| 19:24 | merge 8.6 file: f60b307a2e check-in: [c1648c2e63] user: dgp branch: core-8-branch, size: 64751 | |
| 18:58 | merge 8.5 file: 6f43f892c5 check-in: [c4bcfe94fe] user: dgp branch: core-8-6-branch, size: 58884 | |
| 17:21 | Work In Progress. Much trickiness about sorting out expectations. file: 74a6d3dafe check-in: [581d6b939a] user: dgp branch: bug-e617e8a71a, size: 67780 | |
| 15:21 | Add comments so I'll know again later why this is here. file: c0c5a180c4 check-in: [de47f8d8ee] user: dgp branch: core-8-5-branch, size: 52727 | |
| 14:54 | First, prove that bug [ed29806baf] is present in 8.7 too. Let's see what test-cases fail when we no longer check the validity of the 3th trail byte. file: e043fcdbc0 check-in: [5510c6045d] user: jan.nijtmans branch: bug-ed29806baf-8.7, size: 64539 | |
| 14:20 | Merge 8.7 file: 25e75d1724 check-in: [a65a5fe9ec] user: jan.nijtmans branch: trunk, size: 64767 | |
| 14:16 | Backout the quick-fix workaround in Tcl_NumUtfChars as a way to monitor progress on this issue. file: 3b2d18dec3 check-in: [b8aafb8d10] user: dgp branch: bug-ed29806baf, size: 58443 | |
| 12:51 | Let's not get out the src[3] check yet. file: bb95bef2f4 check-in: [577f5c5de8] user: jan.nijtmans branch: core-8-branch, size: 64578 | |
| 12:45 | Merge 8.6 file: bd04a59c24 check-in: [7ce14c8063] user: jan.nijtmans branch: core-8-branch, size: 64582 | |
| 12:09 | Partial fix for [ed29806ba]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes. file: 4907cb1886 check-in: [98f5334275] user: jan.nijtmans branch: core-8-6-branch, size: 58711 | |
|
2020-04-29
| ||
| 22:22 | merge 8.7 file: 054d4aae77 check-in: [7db8756066] user: dgp branch: bug-e617e8a71a, size: 66345 | |
| 20:44 | Backport many UNICODE_OUT_OF_RANGE() calls. This should fix [69634d51fb74551b] for Tcl 8.5 (with TCL_UTF_MAX=4) too. Also fix some comments which were not up to date. No change at all in behavior for TCL_UTF_MAX=3. file: 16c3f0784c check-in: [fe05235530] user: jan.nijtmans branch: core-8-5-branch, size: 52554 | |
| 19:23 | Merge 8.7 file: a4101aad1d check-in: [9f5d7846b9] user: jan.nijtmans branch: trunk, size: 64662 | |
| 19:20 | Merge-mark 8.6 (Use of UNICODE_OUT_OF_RANGE() macro already was in 8.7). Quick exit from Tcl_UtfToChar16()/Tcl_UtfToUniChar() when lead-byte is 0xF5 - 0xF7. file: f06fe486d5 check-in: [24f0963165] user: jan.nijtmans branch: core-8-branch, size: 64473 | |
| 19:00 | Add UNICODE_OUT_OF_RANGE() calls to UCS4ToTitle() and friends. Backported from 8.7. This fixes [69634d51fb]: handling out of range UCS4 values (at least, it's fixed in 8.6 now the same way as it's fixed in 8.7). file: 09fa94833f check-in: [8daf5a10dd] user: jan.nijtmans branch: core-8-6-branch, size: 58601 | |
| 17:39 | First attempt at extending routine to deal with surrogate pairs. Exposes problems with the interface. file: c223a30f70 check-in: [f6001c20fb] user: dgp branch: bug-e617e8a71a, size: 66436 | |
|
2020-04-28
| ||
| 21:45 | Merge 8.7 file: 0d52a887c6 check-in: [b11d56197b] user: jan.nijtmans branch: rfe-f443140a85, size: 63972 | |
| 14:37 | Implementation for TIP #573: Surrogates are invalid file: 9457d8b6d7 check-in: [749d917ed5] user: jan.nijtmans branch: tip-573, size: 64692 | |
| 09:46 | Change test expectations to what desired. Mark failing tests with "knownBug". 10 test-cases are affected. Still work do to .... file: aaa764e1d8 check-in: [4641000dd1] user: jan.nijtmans branch: rfe-f443140a85, size: 63975 | |
|
2020-04-27
| ||
| 20:49 | First shot at implementatio for [f443140a85]. Far from correct yet, since Tcl_UtfPrev() gives strange results. Tcl_UtfNext() looks OK at first sight. Further testing needed. file: 765a2c48f8 check-in: [b287415a79] user: jan.nijtmans branch: rfe-f443140a85, size: 63920 | |
| 12:59 | merge 8.7 file: 33da1294ac check-in: [94ed8d8b2b] user: dgp branch: trunk, size: 64753 | |
| 12:57 | merge 8.6 file: 1f829b2e0d check-in: [60de0f0a95] user: dgp branch: core-8-branch, size: 64564 | |
| 12:26 | Use lossless internal routines to cover extended characters. file: 652d56928a check-in: [ef84b2a306] user: dgp branch: bug-45ca2338cd, size: 58446 | |
| 01:29 | Possible fix for [string to*] writing out a high surrogate at end of string. file: f35edc2a16 check-in: [cd98f1d62d] user: dgp branch: bug-45ca2338cd, size: 58102 | |
|
2020-04-26
| ||
| 15:21 | Merge 8.7 file: 8b59a487f5 check-in: [631a21f090] user: jan.nijtmans branch: trunk, size: 65642 | |
| 15:11 | Cherry-pick Tcl_UniCharAtIndex() implementation from [6596c4af31], but adapted to the needs of TIPs 389/542. file: 792691dbab check-in: [25b3737625] user: jan.nijtmans branch: core-8-branch, size: 65453 | |
| 13:25 | Remove the function Tcl_UniCharAtIndex() completely from the core. Meant as a demonstration for ticket [f45d0dc1a7]. file: 30c86e86e2 check-in: [90be2283d0] user: jan.nijtmans branch: bug-f45d0dc1a7, size: 58038 | |
|
2020-04-25
| ||
| 22:50 | Merge 8.7 file: c702e30a43 check-in: [dfd3e79a8c] user: jan.nijtmans branch: trunk, size: 66113 | |
| 22:32 | Merge 8.6 file: 14d53fbe21 check-in: [30a29680e1] user: jan.nijtmans branch: core-8-branch, size: 65888 | |
| 22:16 | encoding-12.6 only works for "ucs2" for now. Don't use (deprecated) INLINE and CONST file: 80e1a29677 check-in: [aaeafee98b] user: jan.nijtmans branch: core-8-6-branch, size: 57965 | |
| 16:04 | Close utf-next-regressions file: 23810d5a63 check-in: [aea91e2e26] user: dgp branch: core-8-6-branch, size: 57972 | |
| 14:37 | merge 8.6 file: d53a8ca4ee check-in: [2e6bf5602d] user: dgp branch: dgp-alternative, size: 59653 | |
|
2020-04-24
| ||
| 22:40 | Quickfix to Tcl_NumUtfChars(). Barely used in Tcl core. Still needs a better look. Mark two new tests as knownBug. Needs a further look as well. file: 55a7e499c6 check-in: [1c7c61d459] user: jan.nijtmans branch: core-8-6-branch, size: 59653 | |
| 21:54 | WIP merging 8.6. file: 844569e750 check-in: [c18876475f] user: dgp branch: dgp-alternative, size: 59620 | |
| 21:17 | merge 8.6 file: a0bf1d8545 check-in: [a68982ebc3] user: dgp branch: mistake, size: 59385 | |
| 21:08 | Merge 8.6; still have to sort out origins of failing tests.` Botched this merge. Eliminated the things the branch was created to preserve in the first place. file: 40de756444 check-in: [137f33c330] user: dgp branch: mistake, size: 59156 | |
| 21:01 | Merge 8.5 (but this time correct) file: 4f0c01adfc check-in: [38dbfc8a67] user: jan.nijtmans branch: core-8-6-branch, size: 59385 | |
| 20:51 | Merge 8.5. Failing tests need examination and adjustment. file: f10ef7bc58 check-in: [12254b0693] user: dgp branch: core-8-6-branch, size: 59156 | |
| 17:27 | merge 8.5 file: cce3cda4a4 check-in: [4285f56a71] user: dgp branch: dgp-27944a3661, size: 53299 | |
| 17:18 | Revert the parts of [76213b3f72] that converted callers of Tcl_UtfToUniChar into callers of Tcl_UtfNext. With this reversion, any future divergence between those two will not harm these callers. Retain the tests, and retain the new implementation of Tcl_UtfNext itself and its new macro form. file: 8d925de3c1 check-in: [870aba745a] user: dgp branch: core-8-5-branch, size: 52773 | |
| 13:32 | Merge 8.7 file: 3d047895f9 check-in: [33a6f75e9c] user: jan.nijtmans branch: trunk, size: 67794 | |
| 13:31 | Merge 8.6 file: 48cc25301d check-in: [0b05e92ef6] user: jan.nijtmans branch: core-8-branch, size: 67576 | |
| 13:15 | Merge 8.5. Fix regression in Tcl_UtfComplete(), actually already present for longer time but masked by error in TclUtfNext() macro. Adapt expectations accordingly ("/xA0/xA0" should really have length 2 ....) file: 6e756078e9 check-in: [8cf6bd3ab7] user: jan.nijtmans branch: core-8-6-branch, size: 59620 | |
| 10:49 | Merge 8.7 file: 4ebccd3c84 check-in: [aa56ee88d9] user: jan.nijtmans branch: trunk, size: 67773 | |
|
2020-04-23
| ||
| 22:10 | Second attempt file: 3bb45d9524 check-in: [312fb13ea5] user: jan.nijtmans branch: utf-next-for-8.7, size: 67555 | |
| 21:50 | First attempt to merge Tcl_UtfNext()/Tcl_UtfPrev() improvements (check for invalid byte sequences) to 8.7 file: 05f74e48c9 check-in: [891db10cfb] user: jan.nijtmans branch: utf-next-for-8.7, size: 67717 | |
| 20:22 | Demonstrate that the failing tests on the 8.6 branch tip can equally well be solved by backing out the recent changes associated with [27944a3661]. file: 83043039a5 check-in: [2c7b1e958d] user: dgp branch: dgp-alternative, size: 59598 | |
| 19:25 | merge 8.5 file: 0b1e5cd94d check-in: [92946e427a] user: dgp branch: dgp-27944a3661, size: 53214 | |
| 19:07 | Fix regression in Tcl_NumUtfChars, caused by this commit: [6596c4af31e29b5d]. Expectations of failing tests was adapted later, that's why this was missed. Lesson: Tcl_UtfNext() is _not_ just an optimized replacement for Tcl_UtfToUniChar(). Sorry, but this change it just to dangerous! Tcl_UniCharAtIndex() and Tcl_UtfAtIndex() most likely have the same regression when fead with invalid byte-sequences, therefore reverted those too. HOLD ON! These regressions are equally the result of [5c322bbd51]. It takes both changes to cause the failing tests. We need to argue about which change was the wrong one. file: 6e58a843ab check-in: [3fd0be11ba] user: jan.nijtmans branch: utf-next-regresions, size: 57833 | |
| 19:04 | Argument conditions for Invalid() call were not always satisfied. file: 7529c5d123 check-in: [0200ddd3d4] user: dgp branch: core-8-5-branch, size: 52688 | |
| 18:22 | Revised Tcl_UtfCharComplete() to be a proper safety filter for the revised needs of callers of Tcl_UtfNext(). file: 00df497402 check-in: [fecfc37392] user: dgp branch: dgp-27944a3661, size: 53186 | |
| 14:51 | Merge the two modes of Tcl_UtfNext into a single loop. file: 3a7cbf9366 check-in: [c6dba8e537] user: dgp branch: dgp-27944a3661, size: 52934 | |
| 14:02 | Revise the totalBytes array so that it stores the number of bytes in a valid byte sequence beginning with the byte value of the index. This is harmless to existing uses of the array. Trail bytes do not lead a valid byte sequence so their entries are changed to 0. CORRECTION: That's not quite true. The change revises the results of tests utf-6.95 and utf-6.116 through changing results of Tcl_UtfCharComplete, but that's the point of this path. file: 2387b5d5bf check-in: [4f1fbe0e8b] user: dgp branch: dgp-27944a3661, size: 52865 | |
| 11:31 | Fix [27944a3661]: Taming test utf-6.88 Fix [c11e0c5ce4]: Regression in Tcl_UtfCharComplete Fix [1b1f5f0b53]: Tcl_UtfNext incompatibility in Tcl 8.6.10 file: 9220af0032 check-in: [5c322bbd51] user: jan.nijtmans branch: core-8-6-branch, size: 59735 | |
|
2020-04-22
| ||
| 22:13 | (cherry-pick): Update documentation of Tcl_UtfPrev/Tcl_UtfNext back to how it was. Will be updated later, when implementation is ready and agreed upon. file: 2179ac8253 check-in: [dabf4dd28a] user: jan.nijtmans branch: core-8-6-branch, size: 60052 | |
| 20:10 | Adapt implementation and tests to vary behavior with TCL_UTF_MAX. file: d32185c5a9 check-in: [de68f922b4] user: dgp branch: dgp-27944a3661, size: 52865 | |
| 19:22 | Place first-draft implementation of the proposed change to handling of trail bytes by Tcl_UtfNext on branch dgp-27944a3661 for examination. file: a8ffe9df20 check-in: [853c8b207f] user: dgp branch: dgp-27944a3661, size: 52832 | |
| 14:49 | Merge 8.6 file: 1865dc3e3c check-in: [43178b7bb4] user: jan.nijtmans branch: bug-c11e0c5ce4, size: 59746 | |
| 08:10 | Merge 8.7 file: e41afeed1d check-in: [e29ce0fdea] user: jan.nijtmans branch: trunk, size: 63697 | |
| 07:59 | Fix [27944a3661]: Taming test utf-6.88. Long-standing bug in Tcl_UtfNext(). Corner-case when the pointer doesn't advance to the start-byte of the next UTF-8 character. file: 6341278860 check-in: [aff418be86] user: jan.nijtmans branch: core-8-branch, size: 63472 | |
| 07:41 | Merge 8.5 file: 457a8304d3 check-in: [57148adcab] user: jan.nijtmans branch: core-8-6-branch, size: 61408 | |
|
2020-04-21
| ||
| 10:24 | Merge 8.7 file: 4f963f9768 check-in: [1d9d4a348c] user: jan.nijtmans branch: trunk, size: 63479 | |
| 09:49 | More test cleanup file: 519c9098ce check-in: [926d62f948] user: jan.nijtmans branch: core-8-branch, size: 63254 | |
| 07:26 | Wrong indent in comment file: 7077e25dc4 check-in: [6a12cc0c59] user: jan.nijtmans branch: bug-27944a3661, size: 63474 | |
| 07:18 | Merge 8.7 file: 63d967a3f3 check-in: [8895c470f0] user: jan.nijtmans branch: bug-27944a3661, size: 63473 | |
| 07:03 | Add more test-cases for TCL_UTF_MAX>3 file: 21aa145451 check-in: [12d578a6ad] user: jan.nijtmans branch: bug-c11e0c5ce4, size: 59375 | |
|
2020-04-20
| ||
| 22:00 | Merge 8.7 file: 8563f71eb0 check-in: [e767cf6856] user: jan.nijtmans branch: trunk, size: 63477 | |
| 21:54 | Teach Tcl_UtfPrev() that 0xC1 is _always_ an invallid byte. Test-case utf-7.34. Make sure that Tcl_UtfCharComplete(src, TCL_UTF_MAX) always returns 1, for whatever bytes, since that's the maximum number of bytes Tcl_UtfToUniChar() can read in a single call. file: 94899e2693 check-in: [5f382f2056] user: jan.nijtmans branch: core-8-branch, size: 63252 | |
| 21:07 | Change a few variables from type "int" to "size_t". Always test TCL_UTF_MAX for <= 3 or > 3, because that's the only 2 flavours we really have. file: 53728707d7 check-in: [d515532940] user: jan.nijtmans branch: trunk, size: 63182 | |
| 15:20 | Proposed fix for [c11e0c5ce4]: Regression in Tcl_UtfCharComplete. file: 123d9496d9 check-in: [21362ee023] user: jan.nijtmans branch: bug-c11e0c5ce4, size: 59372 | |
| 11:56 | (cherry-pick): Proposed fix for [27944a3661]: Taming test utf-6.88. file: 8f5fe9844f check-in: [c0d6e94d4e] user: jan.nijtmans branch: bug-c11e0c5ce4, size: 59895 | |
| 05:17 | Apply fix for [2738427] and adjust tests. file: 71c4cd01eb check-in: [27cfa0775d] user: dgp branch: dgp-utf-explore, size: 52919 | |
| 05:09 | Apply fix for [493dccc2de] and adjust tests. file: 6454d41361 check-in: [7db642d35a] user: dgp branch: dgp-utf-explore, size: 52776 | |
| 04:58 | Apply fix for [5e6346a252] and adjust tests. file: 385e9d7fe5 check-in: [32bc8e9f0c] user: dgp branch: dgp-utf-explore, size: 51958 | |
| 04:40 | Apply first fix of [c61818e4c9] and adjust tests. file: d71ee01f31 check-in: [4227206dc3] user: dgp branch: dgp-utf-explore, size: 48435 | |
| 04:02 | Apply the overlong rejection backport fix again, but this time don't attempt to include surrogate support. This was the first attempt on the 8.5 branch to leave behind the long outdated FSS-UTF approach that suggested support for 5- and 6-byte sequence support. Clearly there was no useful support for a TCL_UTF_MAX=4 build before this, and a TCL_UTF_MAX=6 build could have only been nonsense. There's no history worth reclaiming compatibility with in the custom builds. file: 68e09348df check-in: [daafc7f0aa] user: dgp branch: dgp-utf-explore, size: 46751 | |
|
2020-04-19
| ||
| 20:49 | Merge 8.5, and add the fix for [27944a3661] here too. Getting closer to what test-results we expect. Overlong sequences not handled yet, so that's where differences are expected file: 1baf563b6a check-in: [7c70d7b16d] user: jan.nijtmans branch: core-8-5-orig, size: 51337 | |
| 09:57 | Proposed fix for [27944a3661]: Taming test utf-6.88. This fix is not optimized, it still uses TclUtfToUniChar() in its implementation. But optimizing work is on its way, hopefully, coming through 8.5 .. 8.6 .. and up. file: 918a834bf7 check-in: [74d3f929c8] user: jan.nijtmans branch: bug-27944a3661, size: 63296 | |
|
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: c949351d34 check-in: [517b1c87da] user: dgp branch: bug-c574e50a3b, size: 49343 | |
| 13:47 | Fix [c574e50a3b30e76f]: CRASH: utf-2.[89] in 8.5 built with TCL_UTF_MAX=4 file: 2aff7aacbb check-in: [dda19888bd] user: jan.nijtmans branch: bug-c574e50a3b, size: 52667 | |
| 12:46 | Update documentation of Tcl_UtfPrev/Tcl_UtfNext back to how it was. Will be updated later, when implementation is ready and agreed upon. file: b85447eb6b check-in: [05486a901f] user: jan.nijtmans branch: core-8-5-branch, size: 55396 | |
|
2020-04-17
| ||
| 21:07 | [493dccc2de] Revise sequence validity check to reject out of range decodes too. file: 0adcc0196e check-in: [2282b5ecbf] user: dgp branch: core-8-5-branch, size: 56758 | |
| 11:02 | Fix implementation of Tcl_UtfAtIndex() for TCL_UTF_MAX=6 (There's no test-case for this in the core-8-6-branch, but there is in core-8-branch). file: 5e9dae4c8a check-in: [a14c9e965e] user: jan.nijtmans branch: core-8-6-branch, size: 61037 | |
| 10:32 | More test-cases. Mark test-case utf-2.11 as "knownBug", doesn't give the right answer for any TCL_UTC_MAX value. TODO: To Be Fixed! (Don ????) Fix build/testcase for TCL_UTF_MAX=6 (testcase is OK, "string length" implementation was not!) file: 59de7f446e check-in: [d9a7cd6292] user: jan.nijtmans branch: core-8-6-branch, size: 61016 | |
| 09:17 | Original implementation of Tcl 8.5 before the Tcl_UtfPrev/Tcl_UtfNext reform. But: Add the (harmless) TclUtfNext/TclUtfPrev macro's and add the 0xC1 byte as being invalid. Then ... add the testcases from core-8-5-branch (and a few more), with adapted expectations according to the original implementation. Let's see where we get. file: 25c60f32b5 check-in: [11eb38dbe2] user: jan.nijtmans branch: core-8-5-orig, size: 51201 | |
| 05:49 | Merging forward the Utf changes. Needs some repair yet. file: ef790bca37 check-in: [36303870fc] user: dgp branch: dgp-fixme, size: 67944 | |
| 05:25 | merge 8.6 Abort this branch. Rebasing a new proposed fix on top of recent reforms makes more sense now. file: ff91171232 check-in: [73a39418d6] user: dgp branch: bug-31aa44375d, size: 61171 | |
| 05:14 | When supporting 4-byte sequences even with TCL_UTF_MAX = 3, need to paramterize a few things differently. (utf-4.11 failures). file: 0a6751f73d check-in: [5b5ab20558] user: dgp branch: dgp-fixme, size: 60887 | |
| 04:45 | When supporting 4-byte sequences, make sure the Overlong test does too, and make sure the test results reflect it. file: 9218232ed2 check-in: [e537b566a1] user: dgp branch: dgp-fixme, size: 60981 | |
| 04:08 | Bring the single-byte marker for invalid lead byte \xC1 into the complete table file: 2b01547609 check-in: [8d170b2c64] user: dgp branch: core-8-6-branch, size: 60980 | |
| 04:07 | Merge 8.6 file: c2a23eb5a7 check-in: [f579c619ea] user: dgp branch: bug-31aa44375d, size: 61171 | |
| 03:54 | Fix the bad tests utf-2.11 and utf-6.88 that expected the wrong results. Also reconcile the merge from 8.5 to the new decoupling of bytesequence counts from indexed code unit couints. Docs still need an update. file: a744ed0e1f check-in: [7f56d3c4b1] user: dgp branch: core-8-6-branch, size: 60980 | |
|
2020-04-16
| ||
| 22:19 | Fix build for TCL_UTF_MAX=4. Mark some failing tests with "knownBug". Those still need to be fixed! file: c25a1a5819 check-in: [660902f443] user: jan.nijtmans branch: core-8-6-branch, size: 61248 | |
| 22:06 | Fix more test-cases for TCL_UTF_MAX=3 file: 7949e6dbc9 check-in: [46026a9db7] user: jan.nijtmans branch: core-8-6-branch, size: 61247 | |
| 20:59 | Adjust test results and implementation for Tcl 8.6 current support of 4-byte sequences in a TCL_UTF_MAX=3 build. file: d778cb9e8c check-in: [010ec5fc7c] user: dgp branch: core-8-6-branch, size: 61159 | |
| 20:52 | merge 8.6 file: 18b0ad5b14 check-in: [660bca000f] user: dgp branch: bug-31aa44375d, size: 61227 | |
| 20:38 | Merge 8.5. Failing tests for now. To be remedied shortly. file: a76bc31afc check-in: [6596c4af31] user: dgp branch: core-8-6-branch, size: 61139 | |
| 20:28 | merge litter file: 0d78cf74a8 check-in: [7e421dce7c] user: dgp branch: core-8-5-branch, size: 56387 | |
| 20:02 | merge 8.6 file: 6245021e7b check-in: [ad63873abe] user: dgp branch: bug-31aa44375d, size: 55797 | |
| 19:02 | More detailed comments. file: bd309aa713 check-in: [f6a8c5432f] user: dgp branch: dgp-utf-next, size: 56394 | |
| 18:42 | compiler warning file: 39c439d18f check-in: [f4baf7e7af] user: dgp branch: dgp-utf-next, size: 55038 | |
| 18:40 | More tests and fix for overlong handling in revised Tcl_UtfNext. file: 9bef9c5891 check-in: [29041a6d75] user: dgp branch: dgp-utf-next, size: 55021 | |
| 17:55 | merge 8.5 file: 2b00aa795e check-in: [aadfd3448c] user: dgp branch: dgp-utf-next, size: 54973 | |
| 17:30 | Convert Overlong() to use a lookup table. file: 2632bc61a4 check-in: [5550e9ac96] user: dgp branch: bug-5e6346a252, size: 54724 | |
| 16:22 | When we reject overlong sequences, \xC1 is as invalid a lead byte as \xFF. file: cb7af25b02 check-in: [ce6e2901e2] user: dgp branch: bug-5e6346a252, size: 54597 | |
| 15:48 | merge 8.5 file: 61fdf895aa check-in: [877190c2e0] user: dgp branch: dgp-utf-next, size: 51450 | |
| 15:38 | merge 8.5 file: 0283bd7e47 check-in: [b59c18d809] user: dgp branch: bug-5e6346a252, size: 54614 | |
|
2020-04-15
| ||
| 22:39 | Refactor the Overlong test into a utility routine. file: ac914a5f27 check-in: [9cf8c75384] user: dgp branch: bug-5e6346a252, size: 54616 | |
| 22:28 | Use test existence to shorten comment. file: 0dcc7991ab check-in: [32c044a1f8] user: dgp branch: bug-5e6346a252, size: 54087 | |
| 21:48 | Rework Tcl_UtfPrev so it properly handles overlong sequences. file: 465d171fd5 check-in: [bd5edfc3bc] user: dgp branch: bug-5e6346a252, size: 54308 | |
| 20:03 | Merge 8.7 file: cbbad6543c check-in: [94f0de486e] user: jan.nijtmans branch: trunk, size: 63182 | |
| 19:54 | Merge 8.6 file: 413cb0fda4 check-in: [9adf3a7df5] user: jan.nijtmans branch: core-8-branch, size: 63075 | |
| 19:38 | Merge 8.5 file: 10fc6f514a check-in: [58b4d49d41] user: jan.nijtmans branch: core-8-6-branch, size: 55681 | |
| 19:33 | New test command "testutfnext", not used yet in actual test-cases. Being merged up to higher branches. (Thanks, Don!) file: 5e70ee5041 check-in: [4eb84fae1d] user: jan.nijtmans branch: core-8-5-branch, size: 51201 | |
|
2020-04-14
| ||
| 21:32 | typo file: f5da4a5eb4 check-in: [3e47eb4000] user: dgp branch: dgp-utf-next, size: 51452 | |
| 21:25 | Fix the bad logic in Tcl_UtfNext(). file: fbf644d6c2 check-in: [eb95fbb884] user: dgp branch: dgp-utf-next, size: 51453 | |
| 21:16 | Replace calls of TclUtfToUniChar() with TclUtfNext() when caller has no decoding need. Failing test string-22.14 indicates something is still not quite right. Now that Tcl_NumUtfChars() is not paying decoding prices, we let it spend to properly protect against overflow. [2738427] file: 289613fbcc check-in: [d0cc6cdb7f] user: dgp branch: dgp-utf-next, size: 51277 | |
| 20:03 | The function of Tcl_UtfNext() is to advance a pointer. There's nothing inherent in that task that requires decoding of the characters, but the implementation does that. Let's try a simpler solution for callers that do not need the content decoded. file: 4f6160fc46 check-in: [9e87b14c18] user: dgp branch: dgp-utf-next, size: 51410 | |
| 14:30 | Merge 8.7 file: 9d84961fe0 check-in: [bd5cc21d39] user: jan.nijtmans branch: trunk, size: 63184 | |
| 10:17 | Merge 8.6 file: 68226143a0 check-in: [250fd8a281] user: jan.nijtmans branch: core-8-branch, size: 63077 | |
| 09:19 | Merge 8.6 file: aecd727c2e check-in: [76244d6280] user: jan.nijtmans branch: bug-31aa44375d, size: 55799 | |
| 08:44 | Fix unit-test, change expectations according to current 8.6 branch (not handling [1b1f5f0b53] yet, doing that in separate branch) file: 1770c1c337 check-in: [e64b5a4785] user: jan.nijtmans branch: bug-c61818e4c9, size: 55683 | |
| 00:09 | Create separate tables to serve Tcl_UtfPrev and Tcl_UtfComplete. file: dec5b78a2e check-in: [c47ec8e3a3] user: dgp branch: bug-c61818e4c9, size: 55751 | |
|
2020-04-13
| ||
| 21:45 | merge 8.6 file: 95b1991b1b check-in: [9eccb6d91f] user: dgp branch: bug-31aa44375d, size: 55096 | |
| 21:36 | Merge 8.5. Failing tests highlight ticket [1b1f5f0b53]. file: ddad3919a5 check-in: [50b6d532c4] user: dgp branch: core-8-6-branch, size: 55085 | |
| 18:42 | Make the comments describing Tcl_UtfPrev more complete and precise. file: 095e0f9527 check-in: [0db5bfbfeb] user: dgp branch: dgp-utf-prev-alt, size: 51203 | |
|
2020-04-10
| ||
| 15:22 | Merge 8.7 file: 196953aa7e check-in: [894e2ce40e] user: jan.nijtmans branch: trunk, size: 60900 | |
| 13:02 | Merge 8.6 file: c4d166b8d8 check-in: [cd1ce15d26] user: jan.nijtmans branch: core-8-branch, size: 60794 | |
| 12:19 | Since Tcl_UtfCharComplete() now guarantees that at least 3 more bytes are available for header bytes 0x80-0xBF, check those 3 bytes first in Tcl_UtfToUniChar() before doing other checks (that might point to uninitialized memory in non-confirming extensions) file: 5c4cc96207 check-in: [99ac71af15] user: jan.nijtmans branch: core-8-6-branch, size: 53400 | |
|
2020-04-09
| ||
| 19:22 | merge 8.5 file: cc540eb927 check-in: [d3bf59e09a] user: dgp branch: dgp-utf-prev-alt, size: 49569 | |
| 17:30 | Guarantee TclNeedSpace and TclFindElement have common definition of whitespace by having both call the same routine. Create a macro form to contain performance costs and adapt callers. file: 321be2df7e check-in: [da9a473a26] user: dgp branch: core-8-5-branch, size: 49519 | |
|
2020-04-08
| ||
| 17:31 | Apply better bug fix that does not create new bugs this time. file: 78ac68637f check-in: [7ee618b9ca] user: dgp branch: dgp-utf-prev-alt, size: 49568 | |
| 16:43 | Restore the original Tcl_UtfPrev routine. Fails a different set of tests. Many fewer. file: c14653a813 check-in: [6c34d40ef3] user: dgp branch: dgp-utf-prev-alt, size: 49572 | |
| 15:37 | introduces new utf-internal definition UTF_TO_UNI_MAX, as maximal value that Tcl_UtfToUniChar could return depending to UTF_TO_UNI_MAX and tcl version (here 3 or 4), restricting search cycle of Tcl_UtfPrev now. file: 63dd626b9c check-in: [f10ba6b7ac] user: sebres branch: sebres-utf-prev-fix, size: 50307 | |
| 13:26 | partially revert [e8bfb4c2ba884b1b], a prevention added previously in string trim functions (compare char lengths) is not needed with new version of Tcl_UtfPrev (leave other optimizations as appropriate, may be important in some obscure case not covered by current or future implementation of Tcl_UtfPrev/Tcl_UtfToUniChar) file: d84096c4c4 check-in: [57aa5dae72] user: sebres branch: sebres-utf-prev-fix, size: 50138 | |
| 12:32 | Rewrite of Tcl_UtfPrev that restores the correct behavior (no inconsistency between Tcl_UtfPrev/Tcl_UtfToUniChar anymore), Tcl_UtfPrev strictly follows all rules of Tcl_UtfToUniChar now, also fixing all test cases now. file: 91d7ab8dba check-in: [cdffcbaec9] user: sebres branch: sebres-utf-prev-fix, size: 50144 | |
|
2020-04-07
| ||
| 20:04 | Rewrite of Tcl_UtfPrev that fixes most of the failing tests. Remaining failures demonstrate that the interface of Tcl_UtfPrev cannot be satisfied robustly if we stick to the restriction of not reading (*src). file: 73e1a9bb8b check-in: [ee25edfdb7] user: dgp branch: dgp-utf-prev-fix, size: 50382 | |
|
2020-04-06
| ||
| 09:22 | Make Tcl_UtfCharComplete() usable for both Tcl_UtfToUniChar() and Tcl_UtfToChar16(). Defect noticed by Don Porter. Thanks! Add test-cases, assuring correct handling of 4-byte UTF-8 sequences. Use "end-1", "end" and "end+1" in testcases related to Tcl_NumUtfChars(), that's more readable/maintainable than integers. file: 086b32b017 check-in: [20a619daf1] user: jan.nijtmans branch: core-8-branch, size: 60756 | |
| 07:53 | Revert commit [aed6634d2ccf2107], which backported part of TIP #389 (regarding internal handling of 4-byte UTF-8 sequences) to 8.6. file: af4d711786 check-in: [48c83d55c8] user: jan.nijtmans branch: bug-31aa44375d, size: 53373 | |
|
2020-04-05
| ||
| 20:36 | Merge 8.6 file: 1953dc70c0 check-in: [b69fafa7f6] user: jan.nijtmans branch: core-8-branch, size: 60886 | |
| 20:28 | Partial fix for [31aa44375de2c87e]: Tcl_NumUtfChars regression in default 8.6 build. This commit brings Tcl_UtfCharComplete() into agreement with Tcl_UtfToUniChar(), whether it demands 1, 3 or 4 succeeding bytes. file: ee669f4eb3 check-in: [166c0270e7] user: jan.nijtmans branch: core-8-6-branch, size: 53362 | |
|
2020-04-03
| ||
| 14:31 | merge 8.7 file: 4cb15b7aca check-in: [cfeafcaff1] user: dgp branch: trunk, size: 60862 | |
| 14:28 | Fix broken build. file: f7e34e9db0 check-in: [d76b30b67a] user: dgp branch: core-8-branch, size: 60638 | |
| 09:14 | Merge 8.7 file: 6d7160030f check-in: [96a31010ce] user: jan.nijtmans branch: trunk, size: 60858 | |
| 09:13 | Simplify implementation of TclUtfToUCS4: The #undefined Tcl_UtfToUniChar() already does everything for use here (Unlike in Tcl 8.6, with has to live without TIP #542) file: dfd49c138b check-in: [4af836a404] user: jan.nijtmans branch: core-8-branch, size: 60634 | |
|
2020-04-02
| ||
| 23:26 | merge 8.7 file: 8d6c7ecaf2 check-in: [abac91f4a0] user: dgp branch: trunk, size: 61449 | |
| 22:18 | merge 8.6 file: 88d22c68cc check-in: [f1db0ed67c] user: dgp branch: core-8-branch, size: 61225 | |
| 22:18 | Remove stray debug file: 252103a91a check-in: [7fad0af377] user: dgp branch: core-8-6-branch, size: 53114 | |
| 22:05 | typo file: 9fcff62627 check-in: [e20f26ea10] user: dgp branch: core-8-6-branch, size: 53158 | |
| 20:36 | More callers. file: ffc4318663 check-in: [b092a8788b] user: dgp branch: core-8-6-branch, size: 53156 | |
| 20:18 | New utility routine TclUtfToUCS4() to contain some complexity. Two callers adapted. file: dd4033f180 check-in: [63e224f042] user: dgp branch: core-8-6-branch, size: 53667 | |
|
2020-03-18
| ||
| 14:06 | Merge 8.7 file: 611c4a948f check-in: [1d0787097e] user: jan.nijtmans branch: trunk, size: 60180 | |
| 13:54 | Merge 8.6 file: fe4cb5b540 check-in: [2b7c852b44] user: jan.nijtmans branch: core-8-branch, size: 59934 | |
| 12:51 | More uppercase HEX representations in source-code. file: 25e980fe33 check-in: [7d760e228e] user: jan.nijtmans branch: core-8-6-branch, size: 52183 | |
|
2020-01-20
| ||
| 14:19 | Merge 8.7 file: feaee9d05d check-in: [3d7b2dce60] user: jan.nijtmans branch: trunk, size: 60188 | |
|
2019-12-03
| ||
| 16:13 | Merge 8.7 file: e638928518 check-in: [4105725743] user: jan.nijtmans branch: utf-max, size: 59942 | |
|
2019-12-02
| ||
| 20:48 | Merge 8.6 file: fb044f8c43 check-in: [468df9021d] user: jan.nijtmans branch: core-8-branch, size: 59942 | |
| 20:26 | If TCL_UTF_MAX>=4, make Tcl_ParseBackslash combine two surrogates so they appear as one 4-byte UTF-8 byte sequence from the start. Add test-case for this. file: dcaec0d214 check-in: [43032d7ba3] user: jan.nijtmans branch: core-8-6-branch, size: 52191 | |
|
2019-09-25
| ||
| 13:42 | Merge 8.7 file: 16bdd9b5d7 check-in: [be233f3e67] user: jan.nijtmans branch: utf-max, size: 59947 | |
|
2019-09-16
| ||
| 21:41 | Merge 8.7 file: 7ce80f4d77 check-in: [343db6648f] user: jan.nijtmans branch: trunk, size: 60198 | |
| 21:35 | Merge 8.6 file: 077dcce582 check-in: [5057c37bdf] user: jan.nijtmans branch: core-8-branch, size: 59947 | |
| 21:18 | Bugfix in Tcl_UtfPrev/Tcl_UtfNext: When handling 4-byte UTF-8 byte sequences, those should be able to move back/forward 4 bytes if TCL_UTF_MAX <= 4. Update comment accordingly. Bugfix in Tcl_UtfFindFirst/Tcl_UtfFindLast: Those functions should be able to find both the high surrogate (if asked for) as also the full character (combination of both surrogates) file: 83a9dd9fa9 check-in: [aed6634d2c] user: jan.nijtmans branch: core-8-6-branch, size: 52196 | |
|
2019-09-14
| ||
| 13:11 | Two paces where TCL_AUTO_LENGTH should be used file: 461130e810 check-in: [94f65c8701] user: jan.nijtmans branch: trunk, size: 60147 | |
| 13:07 | Merge 8.7 file: 4bf0afccb9 check-in: [9ea2eea22d] user: jan.nijtmans branch: trunk, size: 60117 | |
|
2019-08-15
| ||
| 08:59 | Merge 8.7 file: f956e30ce4 check-in: [42a10393d8] user: jan.nijtmans branch: tip-548, size: 59896 | |
| 08:10 | Merge 8.7 file: e68323bfe6 check-in: [f33e2933b5] user: jan.nijtmans branch: trunk, size: 61243 | |
|
2019-08-14
| ||
| 07:24 | Merge 8.7 file: bfb184343a check-in: [c367ba59b1] user: jan.nijtmans branch: no-register, size: 61014 | |
|
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: 66aeb9ae4d check-in: [50d822dbab] user: jan.nijtmans branch: utf-max, size: 59986 | |
|
2019-08-11
| ||
| 21:17 | Fix handling of length (size_t)-1 in tclMain.c. This should fix handling of command-line arguments with TCL_UTF_MAX=6, necessary to make tclsh run at all ... file: 2a1621d381 check-in: [33b7c8c229] user: jan.nijtmans branch: trunk, size: 61333 | |
|
2019-08-05
| ||
| 20:15 | Fix signature of TclWCharToUtfDString for TCL_UTF_MAX=6, and handling of length -1 file: 0b2a3ddc95 check-in: [1b13f758a5] user: jan.nijtmans branch: trunk, size: 61325 | |
|
2019-08-02
| ||
| 15:03 | Merge tip-548 file: afbfcc9cdd check-in: [d3a7842460] user: jan.nijtmans branch: utf-max, size: 60351 | |
| 14:26 | Merge 8.7 file: 116ccc2362 check-in: [b0fbdeb265] user: jan.nijtmans branch: trunk, size: 61304 | |
| 13:35 | Document that the *Backslash parsing functions output maximum 4 bytes, irrespectable of the TCL_UTF_MAX setting: It could be 4 for the "\Uxxxxxx" construct, but never more. Move <stddef.h> and <locale.h> to tclInt.h, so the can be removed from various other places. file: 50255cf53c check-in: [1f393d7d01] user: jan.nijtmans branch: core-8-branch, size: 61104 | |
| 09:00 | Merge 8.7. Some formatting. file: 436c799582 check-in: [6305175e0c] user: jan.nijtmans branch: tip-548, size: 59986 | |
|
2019-08-01
| ||
| 21:55 | Protect Tcl_AToB() functions against NULL input file: 9f86858a88 check-in: [6e1922b861] user: jan.nijtmans branch: utf-max, size: 60358 | |
| 16:03 | Merge 8.7. Documentation improvements and code cleanup. Approaching finish. file: bff0d2cb29 check-in: [57546481c1] user: jan.nijtmans branch: tip-548, size: 59996 | |
| 11:55 | Merge tip-548 file: d2578eb0fc check-in: [8819e7a6a3] user: jan.nijtmans branch: utf-max, size: 60180 | |
| 08:02 | Attempt to fix [https://core.tcl-lang.org/tk/tktview?name=a179564826|a179564826]: Tk 8.6: prevent issues when encountering non-BMP Unicode characters file: f55d7511cf check-in: [f6eb4196ee] user: jan.nijtmans branch: bug-a179564826, size: 52162 | |
|
2019-07-31
| ||
| 19:47 | Merge 8.5 file: 9742291082 check-in: [98aa5b2f17] user: jan.nijtmans branch: core-8-6-branch, size: 52131 | |
| 19:39 | (cherry-pick from core-8-branch): Replace memcpy() calls with memmove() to avoid undefined behavior when source and destination overlap file: c7c2794917 check-in: [382e19dea0] user: jan.nijtmans branch: core-8-5-branch, size: 49518 | |
|
2019-07-17
| ||
| 15:38 | Eliminate "register" keyword _everywhere_ in Tcl. This keyword is deprecated in C++ (removed in C++17, even), and essentially does nothing with most modern compilers. file: 5845f19aa9 check-in: [f074bda87c] user: jan.nijtmans branch: no-register, size: 61024 | |
|
2019-07-11
| ||
| 07:18 | Rename UTF-related functions to "WChar" and "Char16" variants, more intuitive because they represent wchar_t and char16_t (since C++11) types in modern compilers. file: 2893b6395e check-in: [070bfd62cb] user: jan.nijtmans branch: tip-548, size: 60110 | |
|
2019-07-07
| ||
| 20:38 | Merge 8.7, and a few tweaks: Only provide Tcl_WinUtfToTChar on Tcl 8.x, not on 9.0 any more file: 30ac31a78d check-in: [49e4bfa90e] user: jan.nijtmans branch: tip-548, size: 60070 | |
|
2019-07-06
| ||
| 23:09 | Fix UNIX/Mac build file: b69a96ffb1 check-in: [dde79eb6a8] user: jan.nijtmans branch: tip-548, size: 60012 | |
|
2019-07-05
| ||
| 09:03 | Improvement: always export both 16-bit and 32-bit UTF function file: 94fa21f436 check-in: [27f2c4cf5e] user: jan.nijtmans branch: tip-548, size: 60003 | |
|
2019-06-03
| ||
| 19:48 | TIP #548: Deprecate Tcl_WinUtfToTChar() and Tcl_WinTCharToUtf() and provide more flexible replacement functions file: e71bceebf1 check-in: [49785ba3b0] user: jan.nijtmans branch: tip-548, size: 60925 | |
|
2019-05-22
| ||
| 21:50 | More simplifications, taking deprecations into account file: 580294f8cd check-in: [b95de9a625] user: jan.nijtmans branch: utf-max, size: 60174 | |
| 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: 0cc57f9f6f check-in: [a33e22b6ba] user: jan.nijtmans branch: utf-max, size: 64817 | |
|
2019-05-10
| ||
| 07:50 | Merge trunk file: babc23af02 check-in: [f0009090a2] user: jan.nijtmans branch: regexp-api-64bit, size: 61314 | |
| 07:46 | merge 8.7 file: 1d09eea1b6 check-in: [f3302db091] user: jan.nijtmans branch: utf-max, size: 64767 | |
|
2019-04-19
| ||
| 00:38 | merge 8.7 file: 5965de89d4 check-in: [ddaa30125b] user: dkf branch: trunk, size: 61315 | |
|
2019-04-17
| ||
| 19:23 | Replace memcpy() calls with memmove() to avoid undefined behavior when source and destination overlap. file: 840b851393 check-in: [0b45548847] user: dgp branch: core-8-branch, size: 61114 | |
|
2019-03-31
| ||
| 22:03 | Enhance documentations. Move TCL_INDEX_NONE from tclInt.h to tcl.h, since it's too useful. file: 297ca17adf check-in: [b1a506218e] user: jan.nijtmans branch: regexp-api-64bit, size: 61310 | |
|
2019-03-28
| ||
| 22:49 | Merge 8.7 file: 8450344d93 check-in: [eebb1e7ee1] user: jan.nijtmans branch: utf-max, size: 64763 | |
|
2019-03-24
| ||
| 16:52 | Merge 8.7 file: e8c33d8e06 check-in: [c06a872943] user: jan.nijtmans branch: trunk, size: 61311 | |
| 16:50 | Since only bytes 0xF0 - 0xF4 can be the first byte of a valid 4-byte UTF-8 byte sequence, account for that in Tcl_UtfCharComplete(). file: d96017f3d2 check-in: [9c09af3627] user: jan.nijtmans branch: core-8-branch, size: 61110 | |
| 16:46 | Since only bytes 0xF0 - 0xF4 can be the first byte of a valid 4-byte UTF-8 byte sequence, account for that in Tcl_UtfCharComplete(). Only effective when TCL_UTF_MAX>3 file: 3a932cdb85 check-in: [8e7ac039ab] user: jan.nijtmans branch: core-8-6-branch, size: 52115 | |
| 16:43 | Since only bytes 0xF0 - 0xF4 can be the first byte of a valid 4-byte UTF-8 byte sequence, account for that in Tcl_UtfCharComplete(). Only effective when TCL_UTF_MAX>3 file: 1afff3cd02 check-in: [12e58fc74d] user: jan.nijtmans branch: core-8-5-branch, size: 49514 | |
| 13:05 | Merge 8.7 file: 1a683a59b0 check-in: [15927b5ba6] user: jan.nijtmans branch: utf-max, size: 64773 | |
|
2019-03-21
| ||
| 20:28 | Merge 8.7. Also fix invalid reference to TclUtfToWChar, causing build failure file: 12b4c2e88b check-in: [7c63883789] user: jan.nijtmans branch: utf-max, size: 64783 | |
| 20:11 | Merge 8.7 file: 64a2c08a05 check-in: [871076a655] user: jan.nijtmans branch: trunk, size: 61321 | |
| 19:56 | Remove incorrect comment. Simplify handling of last bytes in Tcl_UniCharToUtfDString(), since TclUtfToUniChar() already turns out to handle cp1252 fall-back correctly. file: 872868a1fa check-in: [33251a211f] user: jan.nijtmans branch: core-8-branch, size: 61120 | |
|
2019-03-20
| ||
| 22:54 | Merge 8.7 file: b9c85dc62a check-in: [3ea5d3e8a3] user: jan.nijtmans branch: utf-max, size: 64957 | |
| 22:51 | Merge 8.7 file: 29dc2e6ddb check-in: [bb9b52ab82] user: jan.nijtmans branch: trunk, size: 61496 | |
| 22:45 | Fix Tcl_UtfToUniCharDString() function, handling invalid byte at the end of the string: Not quite correct for bytes between 0x80-0x9F, according to TIP file: e3072ae62e check-in: [3e8ada19f5] user: jan.nijtmans branch: core-8-branch, size: 61295 | |
|
2019-03-18
| ||
| 22:34 | Merge 8.7 file: 45d678a779 check-in: [48c676b649] user: jan.nijtmans branch: trunk, size: 61473 | |
| 22:32 | Comment Comment Tcl_UniCharToUtf() better, what happens handling surrogates. Add type cast in tclUtf.c, making actual check clearer file: 8c6f2eb584 check-in: [b02df08680] user: jan.nijtmans branch: core-8-branch, size: 61272 | |
| 20:07 | Add 4 new encodings, and add documentation. file: da54a774af check-in: [0ac59eb0c6] user: jan.nijtmans branch: utf-max, size: 64937 | |
|
2019-03-17
| ||
| 22:01 | More WIP. Seems to be *almost* working. file: 7e148c56a6 check-in: [ab13cbd74c] user: jan.nijtmans branch: utf-max, size: 64779 | |
|
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: 819d977c5c check-in: [81502a66ed] user: jan.nijtmans branch: utf-max, size: 61340 | |
|
2019-03-14
| ||
| 20:59 | Merge 8.7. Fix 2 test-cases which were failing for TCL_UTF_MAX=6 file: da5dbc33a1 check-in: [4032e7fe99] user: jan.nijtmans branch: utf-max, size: 61340 | |
|
2019-03-12
| ||
| 20:39 | Even better support for -DTCL_UTF_MAX=6. Ongoing improvements (TIP being planned) file: 9fd3389618 check-in: [fdcb2a7323] user: jan.nijtmans branch: utf-max, size: 61291 | |
|
2019-03-10
| ||
| 21:04 | Merge 8.7 file: 9ec20eb789 check-in: [316ceb7616] user: jan.nijtmans branch: trunk, size: 61463 | |
| 20:18 | re-implemente changes in win/tclWinFile.c (handling -DTCL_UTF_MAX=6) using 3 new utility functions. This allows to re-use code in more places: cleaner implementation more future-proof. file: b626580e33 check-in: [9eb437a15d] user: jan.nijtmans branch: core-8-branch, size: 61262 | |
|
2019-03-08
| ||
| 23:54 | Merge trunk. Further WIP for TIP #497, far from finished .... file: dbe3f15e63 check-in: [9fcbdde251] user: jan.nijtmans branch: tip-497, size: 53015 | |
| 22:51 | Merge 8.7 file: 5f3cb4c241 check-in: [fe02c8898e] user: jan.nijtmans branch: trunk, size: 56119 | |
|
2019-03-07
| ||
| 22:02 | Fixes for TCL_UTF_MAX=6, (gcc compiler warnings). Also make everything work on win32/win64. Patch adapted from Androwish (thanks, Werner!) file: 3bc47b8988 check-in: [650574e0fb] user: jan.nijtmans branch: utf-max-6, size: 55918 | |
|
2019-03-05
| ||
| 18:23 | merge 8.7 (TIP#527, New measurement facilities in TCL: New command timerate, performance test suite) file: 39861b85b0 check-in: [e41cbd042a] user: sebres branch: trunk, size: 56041 | |
|
2019-03-02
| ||
| 17:21 | Add build with -DTCL_UTF_MAX=6 to travis CI. Also fix 2 gcc compiler-warnings occurring with -DTCL_UTF_MAX=6 file: d2bbeadb16 check-in: [9b2a385a0f] user: jan.nijtmans branch: core-8-branch, size: 55840 | |
| 16:53 | Merge 8.7 file: 94d7d839ce check-in: [e766d23655] user: jan.nijtmans branch: trunk, size: 56015 | |
| 16:52 | Minor optimization in UTF-8 handling, and add some comments describing how Tcl_UniCharToUtf() handles surrogates. file: a53e54f604 check-in: [6e3632ede5] user: jan.nijtmans branch: core-8-branch, size: 55814 | |
| 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: 3926a96e0c check-in: [9e1984c250] user: jan.nijtmans branch: core-8-6-branch, size: 52121 | |
|
2019-03-01
| ||
| 20:25 | merge 8.7 file: 859e807c72 check-in: [bc57eb7213] user: dgp branch: trunk, size: 55336 | |
| 20:24 | A confusion about signed vs unsigned comparision caused Tcl_UtfToUniChar() to return the wrong answer (contents of random memory) for each single byte UTF-8 in the input. This commit fixes that bug. More commentary on https://core.tcl-lang.org/tcl/tktview/bd94500678 file: 3b7ff4047c check-in: [81046b694f] user: dgp branch: core-8-branch, size: 55135 | |
|
2019-02-27
| ||
| 21:58 | Merge 8.7 file: b6c50a53f1 check-in: [727e74f081] user: jan.nijtmans branch: trunk, size: 55314 | |
|
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: 8b057c57be check-in: [2c7db3fa01] user: jan.nijtmans branch: mistake, size: 54843 | |
|
2019-02-25
| ||
| 21:10 | Finish complete fix, all corner-cases correct now. Also spurious UTF-8 testcase failure (as seen on travis) fixed now. file: 5a69d8b0b8 check-in: [b3d886c84f] user: jan.nijtmans branch: bug-bd94500678, size: 55113 | |
|
2019-02-19
| ||
| 20:17 | Merge 8.7 file: ad73841f17 check-in: [2b82daafb8] user: jan.nijtmans branch: trunk, size: 55045 | |
| 20:16 | Merge 8.6 file: fc24fefce3 check-in: [1b17625b60] user: jan.nijtmans branch: core-8-branch, size: 54879 | |
| 19:38 | Minor optimizations file: ada6318df4 check-in: [0e2621fc4b] user: jan.nijtmans branch: bug-bd94500678, size: 55015 | |
|
2019-02-18
| ||
| 20:48 | Proposed fix for [bd94500678]: SEGFAULT by conversion of unicode (out of BMP) to byte-array. file: d4d424d4fc check-in: [9f67c17d01] user: jan.nijtmans branch: bug-bd94500678, size: 55303 | |
|
2019-02-04
| ||
| 22:45 | Merge trunk file: b86e29514a check-in: [a6db8815ce] user: jan.nijtmans branch: tip-502-for-9, size: 55051 | |
|
2018-10-27
| ||
| 19:33 | Backport various minor issues from 8.6: - gcc compiler warning in tclDate.c - protect Tcl_UtfToUniCharDString() from ever reading more than "length" bytes from its input, not even in the case of invalid UTF-8. - update to latest tzdata - fix 2 failing test-cases on MacOSX file: 6468647908 check-in: [f339295ed5] user: jan.nijtmans branch: core-8-5-branch, size: 49520 | |
|
2018-10-09
| ||
| 18:52 | Merge trunk file: 83b59c8873 check-in: [2ec0fe1752] user: jan.nijtmans branch: tip-497, size: 58210 | |
|
2018-10-08
| ||
| 19:00 | TIP #494 implementation: More use of size_t in Tcl 9 file: 0c6eb3b4a5 check-in: [f3d49044c4] user: jan.nijtmans branch: trunk, size: 55044 | |
| 18:34 | Merge 8.6 Also fix startup problems on win32, when the encoding path contains invalid UTF-8 (reported by François Vogel) Various other code cleanup, e.g. remove empty.zip file, as this didn't work quite as expected. file: f38fd5f3de check-in: [59a19cdee3] user: jan.nijtmans branch: core-8-branch, size: 54885 | |
|
2018-10-06
| ||
| 19:20 | Use more TCL_AUTO_LENGTH, when appropriate file: 26a99cdd2c check-in: [c643e8fe38] user: jan.nijtmans branch: memory-API, size: 55050 | |
|
2018-10-04
| ||
| 21:07 | merge trunk file: 9ca6287650 check-in: [3ca1d5cace] user: jan.nijtmans branch: memory-API, size: 55035 | |
|
2018-10-03
| ||
| 20:02 | Merge 8.6 file: 8ff5e7dab8 check-in: [252cdd0247] user: jan.nijtmans branch: core-8-branch, size: 54891 | |
| 19:24 | Tcl_UniCharToUtfDString: Don't allocate too much memory for this function. Tcl_UtfToUniCharDString: Don't allocate too much memory for this function. And make sure that we never access more than 'length' bytes from the string, not even when encountering invalid UTF-8. file: 5c56cf0280 check-in: [8ba821d1fd] user: jan.nijtmans branch: core-8-6-branch, size: 51782 | |
|
2018-07-05
| ||
| 21:25 | Merge trunk Handle TclCopyAndCollapse, *Trace* et al file: 5b1fa6fc07 check-in: [399b8e7649] user: jan.nijtmans branch: memory-API, size: 54784 | |
|
2018-06-28
| ||
| 21:42 | More API changes using size_t. Internal changes not complete yet (WIP) file: e1a768ce0f check-in: [1bfecd9172] user: jan.nijtmans branch: memory-API, size: 54788 | |
|
2018-06-27
| ||
| 19:09 | merge trunk file: 5d60dd06e5 check-in: [2cc2d71f0a] user: jan.nijtmans branch: memory-API, size: 54782 | |
|
2018-06-24
| ||
| 20:26 | Fix "string tolower" and friends for handling unpaired surrogates correctly. Also add test-cases for those situations. Various typo's in comments. file: 2f8a5b250e check-in: [1cdc9199e9] user: jan.nijtmans branch: core-8-branch, size: 54640 | |
|
2018-06-18
| ||
| 15:59 | Merge 8.6. And add more documentation and test-cases regarding the behavior of Tcl_UniCharToUtf() file: 3e4218a8ae check-in: [3cb0cedeb6] user: jan.nijtmans branch: core-8-branch, size: 54235 | |
| 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: 8a6cd287b8 check-in: [c45de6cdb4] user: jan.nijtmans branch: core-8-6-branch, size: 51617 | |
|
2018-05-25
| ||
| 06:55 | merge trunk file: 4d8ecc6ca8 check-in: [e9340634d6] user: jan.nijtmans branch: memory-API, size: 54132 | |
|
2018-05-23
| ||
| 20:09 | merge trunk file: e99fd221b0 check-in: [1a6fcb9bdc] user: jan.nijtmans branch: memory-API, size: 54023 | |
|
2018-05-11
| ||
| 09:20 | Merge 8.5. This adds Emoji 11.0 support, when Tcl is compiled with TCL_UTF_MAX>3. Useful for Androwish, for example. file: 18caccb00b check-in: [708287d936] user: jan.nijtmans branch: core-8-6-branch, size: 51380 | |
| 09:14 | Add emoji 11.0 to the set. Only active when compiled with TCL_UTF_MAX>3. Also prepare tooling for Unicode 11.0 (while being on it) file: deb90da498 check-in: [ee9f293421] user: jan.nijtmans branch: core-8-5-branch, size: 49339 | |
|
2018-05-07
| ||
| 07:40 | Remove some tip389 restrictions in test-cases, which are no longer necessary. Eliminate gcc compiler warnings when compiling with -DTCL_UTF_MAX=6 Other code clean-up and comment improvements. No change in functionality. file: ca1f89b62b check-in: [385fda311b] user: jan.nijtmans branch: core-8-branch, size: 53998 | |
|
2018-05-01
| ||
| 19:02 | Start implementing TIP #497. regexp's now are >BMP-aware. WIP file: 150a0d9005 check-in: [47ace058d4] user: jan.nijtmans branch: tip-497, size: 57214 | |
| 18:41 | Implement special "string totitle" for Extended Georgian characters (new behavior in Unicode 11) file: caf8cb360a check-in: [827b7761e6] user: jan.nijtmans branch: core-8-branch, size: 54010 | |
|
2018-04-23
| ||
| 23:32 | Merge 8.6 (bug-fix and test-case for Tcl_UtfAtIndex with TCL_UTF_MAX=4) file: 5f0b67c7df check-in: [567e61b329] user: jan.nijtmans branch: mistake, size: 53810 | |
| 23:23 | Bug-fix in Tcl_UtfAtIndex (for TCL_UTF_MAX=4 only). With test-case (in "string totitle") demonstrating the bug. file: 2e32d28e48 check-in: [3d8301e3c6] user: jan.nijtmans branch: core-8-6-branch, size: 51170 | |
|
2018-04-20
| ||
| 10:16 | TIP #389 implementation. file: b4aa23654b check-in: [e109760b1c] user: jan.nijtmans branch: core-8-branch, size: 53402 | |
|
2018-04-19
| ||
| 22:29 | Slightly improved (more fail-safe) surrogate handling for TCL_UTF_MAX>3. Backported from latest TIP 389 implementation. (to be used for androwish) file: e8fa0b3a54 check-in: [686259e650] user: jan.nijtmans branch: core-8-6-branch, size: 50997 | |
|
2018-04-17
| ||
| 21:49 | Slightly better unmatched-surrogates handling. Unmatched High surrogates will still be silently removed, but Unmatched Low surrogates will pass through as-is now. Inspired by Kevin Kenny's remarks. Thanks! file: 1b3222a95c check-in: [1997a15ffd] user: jan.nijtmans branch: tip-389, size: 54226 | |
|
2018-01-31
| ||
| 12:18 | Change Tcl_Token definition (int -> size_t). Many related code-changes. file: 2fdbede656 check-in: [e3a724b790] user: jan.nijtmans branch: memory-API, size: 51867 | |
|
2018-01-29
| ||
| 11:36 | merge trunk file: 81d5d091e6 check-in: [3faa71ab4f] user: jan.nijtmans branch: memory-API, size: 51864 | |
|
2018-01-10
| ||
| 08:27 | merge core-8-branch file: feb7253c86 check-in: [b3fc2fbe3d] user: jan.nijtmans branch: tip-389, size: 53860 | |
| 08:25 | Fix [https://core.tcl.tk/tk/info/00a27923ee26437611e1ed83f96e15b6caabcd8b|00a27923ee]: (Tcl part, remaining is in Tk) text/entry dysfunctional when pasting an emoji on MacOSX. This changes the handling of incoming valid 4-byte UTF-8 sequences: Those are no longer split in 4 separate characters (as was done for invalid byte sequences) but replaced by a single ' replacement character' . file: ae6a7420d8 check-in: [8481a52495] user: jan.nijtmans branch: core-8-branch, size: 51831 | |
|
2018-01-09
| ||
| 11:15 | (partial) fix for [https://core.tcl.tk/tk/info/00a27923ee26437611e1ed83f96e15b6caabcd8b|00a27923ee]: text/entry dysfunctional when pasting an emoji on MacOSX. Don't handle incoming valid 4-byte UTF-8 characters as invalid byte sequences (since they aren't), but as being the Unicode replacement character. file: 2e1cc8edda check-in: [f0adfe7dac] user: jan.nijtmans branch: bug-00a27923ee, size: 50872 | |
|
2017-12-28
| ||
| 18:49 | Fix handling of surrogates (when TCL_UTF_MAX > 3) in Tcl_UtfNcmp()/Tcl_UtfNcasecmp()/TclUtfCasecmp(). Backported from core-8-branch, where this was fixed already. file: 06ae0e4cdb check-in: [1ebc1bcaa5] user: jan.nijtmans branch: core-8-6-branch, size: 50632 | |
|
2017-12-01
| ||
| 15:03 | merge trunk file: 104e15d362 check-in: [e008d0adce] user: jan.nijtmans branch: memory-API, size: 51624 | |
| 11:33 | merge core-8-branch file: 335ddcbc61 check-in: [dabd924a87] user: jan.nijtmans branch: tip-389, size: 53620 | |
|
2017-11-30
| ||
| 13:14 | Fix [8e1e31eac0fd6b6c4452bc108a98ab08c6b64588|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: 8c0c76d552 check-in: [b6438b69ad] user: jan.nijtmans branch: core-8-branch, size: 51591 | |
|
2017-11-29
| ||
| 12:28 | merge core-8-6-branch file: 143baa2d32 check-in: [e45dcdac38] user: jan.nijtmans branch: core-8-branch, size: 50421 | |
| 12:27 | Fix Tcl_UtfFindFirst()/Tcl_UtfFindLast(), which were broken by [83c0c569d6]. Not detected, because those functions aren't used anywhere in Tcl. So, added new test-cases, makeing sure this doesn't happen again. file: 047d99f7af check-in: [d906b55e4b] user: jan.nijtmans branch: core-8-6-branch, size: 50495 | |
| 11:49 | Merge core-8-branch. Also, use a different value for TCL_STUB_MAGIC when TCL_UTF_MAX>4. file: 8697ae0536 check-in: [1916b6a72e] user: jan.nijtmans branch: tip-389, size: 53414 | |
| 11:05 | merge core-8-6-branch file: 32d38162fe check-in: [8976a447aa] user: jan.nijtmans branch: core-8-branch, size: 50415 | |
| 11:04 | Update some functions in tclUtf.c to handle surrogate pairs when TCL_UTF_MAX == 4. Also update documentation to distinguish better between "Tcl_UniChar" and "Unicode character": Those are not necessary the same when TCL_UTF_MAX == 4. No change when TCL_UTF_MAX == 4 or TCL_UTF_MAX == 6. file: a8a9b0c072 check-in: [83c0c569d6] user: jan.nijtmans branch: core-8-6-branch, size: 50489 | |
| 09:49 | Fix [8e1e31eac0fd6b6c4452bc108a98ab08c6b64588|8e1e31eac0]: lsort treats NUL chars strangely file: 3634cc925c check-in: [e2a6110884] user: jan.nijtmans branch: tip-389, size: 53032 | |
| 08:59 | Treat invalid UTF-8 characters in the range 0x80-0x9F as cp1252: See [https://en.wikipedia.org/wiki/UTF-8]. To be added to TIP #389 file: e2b60d7d03 check-in: [b2521a4844] user: jan.nijtmans branch: tip-389, size: 51439 | |
|
2017-11-20
| ||
| 12:58 | merge core-8-branch file: 4746e08149 check-in: [1a3cef7d5c] user: jan.nijtmans branch: tip-389, size: 50879 | |
|
2017-11-17
| ||
| 16:08 | merge core-8-branch. Fix some Tcl_UniChar initialization, in case TCL_UTF_MAX == 4 file: e1dd3d468b check-in: [37b4aab687] user: jan.nijtmans branch: tip-389, size: 50849 | |
|
2017-11-16
| ||
| 13:50 | Handle Tcl_UtfAtIndex/Tcl_UniCharAtIndex for extended index range. More field fixes. file: f289098ae1 check-in: [78e8c0c5f6] user: jan.nijtmans branch: memory-API, size: 49361 | |
|
2017-11-07
| ||
| 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: dbf9778521 check-in: [d224d38a6d] user: jan.nijtmans branch: tip-389, size: 50453 | |
|
2017-09-10
| ||
| 13:35 | merge novem file: e3b0ac4884 check-in: [4fa9cc2903] user: jan.nijtmans branch: novem-more-memory-API, size: 49345 | |
|
2017-09-01
| ||
| 08:50 | merge trunk file: 812d0a432b check-in: [3f9db43f3e] user: jan.nijtmans branch: tip-389-impl, size: 51044 | |
|
2017-08-29
| ||
| 09:19 | Merge trunk file: a37dead009 check-in: [f2f6504adb] user: jan.nijtmans branch: novem, size: 49347 | |
|
2017-08-25
| ||
| 13:46 | Merge trunk file: 0b140acd38 check-in: [c841475a89] user: jan.nijtmans branch: tip-389-impl, size: 51586 | |
|
2017-08-18
| ||
| 22:06 | merge core-8-6-branch file: 719d2c9f48 check-in: [75da8b29f8] user: jan.nijtmans branch: trunk, size: 49382 | |
|
2017-07-03
| ||
| 12:32 | merge core-8-6-branch file: acc04c27ac check-in: [4467b7768e] user: jan.nijtmans branch: rfe-6c0d7aec67, size: 49456 | |
| 08:27 | 'inline static' -> 'static inline' and 'INLINE' -> 'inline', for consistancy. file: e3eb4abccf check-in: [5b95f585fa] user: jan.nijtmans branch: core-8-6-branch, size: 48209 | |
|
2017-06-13
| ||
| 12:18 | merge core-8-6-branch file: bd5a76e562 check-in: [8eec477ed9] user: jan.nijtmans branch: rfe-6c0d7aec67, size: 49449 | |
|
2017-06-09
| ||
| 12:20 | merge trunk file: 51c99fdd3f check-in: [ee2c5cf945] user: jan.nijtmans branch: tip-389-impl, size: 50991 | |
| 11:48 | merge novem file: ca0264252a check-in: [f687ce6a36] user: jan.nijtmans branch: novem-more-memory-API, size: 48062 | |
|
2017-06-08
| ||
| 12:59 | merge trunk file: a2c1bb7c45 check-in: [7b30d63181] user: jan.nijtmans branch: novem, size: 48100 | |
| 12:38 | merge core-8-6-branch file: fbcc907f13 check-in: [9053c4a54f] user: jan.nijtmans branch: trunk, size: 48135 | |
| 12:37 | Fix [2738427]: Tcl_NumUtfChars(...) no overflow check. file: fc2a8e3d34 check-in: [6b5843fde9] user: jan.nijtmans branch: core-8-6-branch, size: 48216 | |
| 12:34 | Fix [2738427]: Tcl_NumUtfChars(...) no overflow check. file: 1f59446a7f check-in: [e376f4b734] user: jan.nijtmans branch: core-8-5-branch, size: 46889 | |
| 08:26 | Better UTF-8 surrogate handling, only functional when TCL_UTF_MAX>3 file: ab16f203f3 check-in: [5ae46a0093] user: jan.nijtmans branch: rfe-6c0d7aec67, size: 49268 | |
|
2017-06-06
| ||
| 14:46 | Merge trunk file: 4ac6e3f55e check-in: [b03462a529] user: jan.nijtmans branch: tip-389-impl, size: 50671 | |
| 09:25 | merge trunk file: 5c1140810c check-in: [6c9ae4580b] user: jan.nijtmans branch: novem, size: 47957 | |
| 09:24 | merge core-8-6-branch file: 5eabb6b0c9 check-in: [28a2ae3999] user: jan.nijtmans branch: trunk, size: 47992 | |
| 09:23 | Follow-up to [67aa9a2070]: Use uppercase consistantly, slight optimization in character tests, comment fixes. No change in functionality. file: 0164f065d3 check-in: [5b20178e5a] user: jan.nijtmans branch: core-8-6-branch, size: 48073 | |
| 09:02 | [67aa9a2070] Tcl_UtfToUniChar returns single byte for invalid UTF-8 input as documented. file: 3a98891648 check-in: [3998688718] user: jan.nijtmans branch: core-8-5-branch, size: 46746 | |
|
2017-05-31
| ||
| 12:51 | merge trunk file: 69395d50cc check-in: [f07a85fee0] user: jan.nijtmans branch: tip-389-impl, size: 50309 | |
| 12:06 | merge core-8-6-branch file: 10fb9f5ff7 check-in: [c30eb96495] user: jan.nijtmans branch: trunk, size: 47983 | |
| 12:05 | Fix [67aa9a207037ae67f9014b544c3db34fa732f2dc|67aa9a2070]: Security: Invalid UTF-8 can inject unexpected characters file: f1b6c68212 check-in: [f1b9559259] user: jan.nijtmans branch: sebres-8-6-clock-speedup-cr1, size: 48064 | |
|
2017-05-29
| ||
| 15:38 | merge trunk file: e7e769c463 check-in: [6d946ddf77] user: jan.nijtmans branch: tip-389-impl, size: 50354 | |
|
2016-08-30
| ||
| 13:57 | merge trunk file: 12de15edf6 check-in: [2a530e021b] user: jan.nijtmans branch: tip-389-impl, size: 49592 | |
| 13:12 | merge trunk file: 1e04544386 check-in: [11d4243035] user: jan.nijtmans branch: novem, size: 47810 | |
| 13:07 | Don't ever allow UTF-8 sequences of more than 4 characters to be generated or parsed, even when TCL_UTF_MAX>4: According to current Unicode standard, a byte string of >4 characters can never form a single UTF-8 character. And a few minor micro-optimizations related to UTF-8 handling. file: 3ed37d3c92 check-in: [2de1551609] user: jan.nijtmans branch: trunk, size: 47845 | |
| 13:00 | Don't ever allow UTF-8 sequences of more than 4 characters to be generated or parsed, even when TCL_UTF_MAX>4: According to current Unicode standard, a byte string of >4 characters can never form a single UTF-8 character. And a few minor micro-optimizations related to UTF-8 handling. file: f38d3847d1 check-in: [c0a65532a7] user: jan.nijtmans branch: core-8-6-branch, size: 47926 | |
|
2016-04-08
| ||
| 14:25 | Merge trunk. Add new bitflags to tclStringRep.h (not used yet) file: 84f00ec8a7 check-in: [2d87e13575] user: jan.nijtmans branch: tip-389-impl, size: 50615 | |
|
2016-04-05
| ||
| 12:07 | merge trunk file: 24271b6f0f check-in: [9edc83a71a] user: dgp branch: novem, size: 47851 | |
| 09:32 | Rename UtfCount() to TclUtfCount() and use it in more places. Suggested by pspjuth here: [e99a79a32650e7e5] file: a677bf3b17 check-in: [9c4e4beddb] user: jan.nijtmans branch: trunk, size: 47886 | |
|
2016-03-22
| ||
| 16:09 | Update all Unicode tables to version 9.0 beta file: 63578ee9bf check-in: [203b8dcd6c] user: jan.nijtmans branch: tip-389-impl, size: 50696 | |
|
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: 74420169a8 check-in: [e99a79a326] user: kbk branch: drh-micro-optimization, size: 47955 | |
|
2015-09-22
| ||
| 08:20 | merge trunk file: 157972ae30 check-in: [eb6c2fe41b] user: jan.nijtmans branch: novem, size: 47932 | |
|
2015-09-02
| ||
| 08:44 | merge trunk file: 35f36782ec check-in: [50dc66790e] user: jan.nijtmans branch: tip-389-impl, size: 50698 | |
|
2015-09-01
| ||
| 18:54 | Various Unicode handling enhancements, when building with TCL_UTF_MAX > 3, inspired by androwish. No effect if TCL_UTF_MAX=3 (which is the default) file: 09f91effbd check-in: [e2278643dc] user: jan.nijtmans branch: trunk, size: 47967 | |
|
2014-05-01
| ||
| 09:40 | Merge trunk. Update Unicode tables to Unicode 7.0 beta. file: e3d12611ee check-in: [13a1d81916] user: jan.nijtmans branch: tip-389-impl, size: 51750 | |
|
2013-09-26
| ||
| 13:13 | merge novem WARNING: No checks of build-ability done yet. file: ece5863523 check-in: [2688d65077] user: dkf branch: novem-64bit-sizes, size: 47059 | |
|
2013-08-02
| ||
| 10:33 | merge trunk file: 8df87bb7d1 check-in: [396ccb299c] user: jan.nijtmans branch: novem, size: 47028 | |
|
2013-07-29
| ||
| 10:12 | Make sure that "string is space \u202f" will continue to return "1", even if in future Unicode this character (NARROW_NO_BREAK_SPACE) will cease to be a space. See: [http://www.unicode.org/review/pri249/]. Don't hardcode "tclWinError.o" for Cygwin file: 33f59c69c1 check-in: [a72287aa7d] user: jan.nijtmans branch: trunk, size: 47063 | |
| 09:29 | Make sure that "string is space \u202f" will continue to return "1", even if in future Unicode this character (NARROW_NO_BREAK_SPACE) will cease to be a space. See: [http://www.unicode.org/review/pri249/] file: c78a847600 check-in: [334ab96e5e] user: jan.nijtmans branch: core-8-5-branch, size: 46902 | |
|
2013-07-08
| ||
| 18:56 | Unbreak MSVC6 debug build (thanks Andreas Kupries!) file: 7f126daa4a check-in: [b259e31b93] user: jan.nijtmans branch: novem, size: 46998 | |
| 18:56 | Unbreak MSVC6 debug build (thanks Andreas Kupries!) file: 6df9363dfd check-in: [d369017148] user: jan.nijtmans branch: trunk, size: 47033 | |
| 18:55 | Unbreak MSVC6 debug build (thanks Andreas Kupries!) file: cdb7d01000 check-in: [728fb2f25b] user: jan.nijtmans branch: core-8-5-branch, size: 46872 | |
|
2013-06-18
| ||
| 13:46 | merge trunk file: 2c2fb3838a check-in: [e6a93ffe18] user: jan.nijtmans branch: tip-389-impl, size: 51727 | |
| 11:50 | merge trunk file: 9bb2674df5 check-in: [bc4d6bb1d4] user: jan.nijtmans branch: novem, size: 46991 | |
|
2013-06-17
| ||
| 13:29 | Use more portable TclIsSpaceProc() in stead of isspace(). file: d724f20e08 check-in: [4bfe3111b1] user: jan.nijtmans branch: trunk, size: 47026 | |
| 13:23 | Use more portable TclIsSpaceProc() in stead of isspace(). Make sure that "string is space \u180e" continues to return 1 for whatever unicode version. file: 8bab297239 check-in: [5712054958] user: jan.nijtmans branch: core-8-5-branch, size: 46865 | |
|
2013-06-10
| ||
| 07:36 | Update Unicode tables to Unicode 6.3 beta. Merge trunk file: 928ed7508d check-in: [9e9232f06e] user: jan.nijtmans branch: tip-389-impl, size: 51749 | |
|
2013-05-28
| ||
| 07:25 | merge trunk file: fda007828f check-in: [03d94f0a34] user: jan.nijtmans branch: novem, size: 47013 | |
|
2013-05-22
| ||
| 13:07 | [3613609]: Replace strcasecmp() with UTF-8-aware version. file: 4f663c3e2e check-in: [89f027f118] user: dkf branch: trunk, size: 47048 | |
| 12:55 | Fixed the weird edge case. file: 27e7fb5619 check-in: [93dd8bb33b] user: dkf branch: bug-3613609, size: 46831 | |
|
2013-05-21
| ||
| 09:38 | Slight improvement: if cs = "\xC0\x80" and ct = "\x00", loop would continue after NUL-byte, this should not happen. file: a8a8d1c5ce check-in: [a765f37f78] user: jan.nijtmans branch: bug-3613609, size: 46535 | |
| 09:27 | Proposed solution for 3613609: lsort -nocase does not sort non-ASCII correctly file: a1c47ea4d8 check-in: [66c30c4369] user: jan.nijtmans branch: bug-3613609, size: 46506 | |
|
2013-05-06
| ||
| 09:08 | Change Tcl_UtfNcmp and friend's signature to use size_t in stead of unsigned long. This is potentially binary incompatible on win64, but not on any other platform. It eliminates the need for special stub-wrappers on Cygwin64 for those functions. "novem" doesn't promise binary compatibility anyway. file: a57017e4db check-in: [9bb59c6083] user: jan.nijtmans branch: novem, size: 46130 | |
|
2013-02-25
| ||
| 16:03 | Merge trunk. Unicode 6.3 does not have that many spaces..... file: af50b567c7 check-in: [0e5e775003] user: jan.nijtmans branch: tip-389-impl, size: 50866 | |
| 13:52 | merge trunk. Update all unicode tables to current state of Unicode 6.3 (not released yet) file: 7dacd44f65 check-in: [2fffdb3621] user: jan.nijtmans branch: novem, size: 46165 | |
| 13:38 | Merge trunk. Upgrade all tables to Unicode 6.3 (not released yet) file: 9f57826203 check-in: [adf88dd045] user: jan.nijtmans branch: tip-389-impl, size: 50907 | |
| 13:16 | For Unicode 6.3, mongolian vowel separator (U+180e) is nominated to change character class from Space to Control character. Make sure that "string is space" will continue to return 1 for this character. See TIP #413. file: 5ce9c3041c check-in: [b553432c31] user: jan.nijtmans branch: trunk, size: 46165 | |
|
2012-11-29
| ||
| 21:25 | Purge remnants of support for compilers ignorant of C keyword 'inline'. file: 27ec49e846 check-in: [3b2b41c66a] user: dgp branch: novem, size: 46130 | |
|
2012-11-18
| ||
| 17:21 | ... and even more file: a79e50140e check-in: [7a9b06162b] user: dkf branch: novem-64bit-sizes, size: 46126 | |
|
2012-11-16
| ||
| 14:15 | More work done. Still I am finding places where int should be size_t and reverse. file: 95e82b324a check-in: [d348e679f7] user: jan.nijtmans branch: novem-64bit-sizes, size: 46165 | |
| 12:38 | merge "novem" <p>Everything compiles now, but it doesn't run yet. file: c5f05186c5 check-in: [005a09e2be] user: jan.nijtmans branch: novem-64bit-sizes, size: 46172 | |
|
2012-10-09
| ||
| 01:48 | merge trunk <p>Dont include U+0082 and U+0083 in the Tcl space set file: 4734351403 check-in: [227a4f0b70] user: jan.nijtmans branch: tip-318-update, size: 46130 | |
|
2012-09-23
| ||
| 16:48 | tip 318 update file: 0020a81e19 check-in: [f09c1bc377] user: jan.nijtmans branch: tip-318-update, size: 46195 | |
|
2012-09-21
| ||
| 09:27 | new Tcl_UniCharIsWhitespace function file: bc71fd9e19 check-in: [7a11f2ec28] user: jan.nijtmans branch: tip-318-update, size: 46696 | |
|
2012-07-03
| ||
| 19:02 | Feature branch to explore making use of the Hoehrmann UTF-8 decoder. http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ file: 22aafac1f8 check-in: [8e353afbe6] user: dgp branch: dgp-hoehrmann-decoder, size: 46264 | |
|
2012-02-03
| ||
| 21:25 | merge trunk file: 8252ed9abd check-in: [ffb46b40ba] user: jan.nijtmans branch: tip-389-impl, size: 50721 | |
|
2012-01-26
| ||
| 21:58 | merge trunk file: b92935e908 check-in: [702fdde8e2] user: jan.nijtmans branch: tip-389-impl, size: 50711 | |
|
2012-01-23
| ||
| 22:19 | merge trunk file: 8b3efc8560 check-in: [9eab8924a0] user: jan.nijtmans branch: tip-389-impl, size: 50555 | |
| 09:38 | merge trunk file: d3c3ef5c3a check-in: [41d9eb81af] user: dkf branch: dkf-utf16-branch, size: 45980 | |
|
2012-01-22
| ||
| 21:50 | [Frq 3473670]: Various Unicode-related file: b14d5dc7be check-in: [d772d08f8a] user: jan.nijtmans branch: trunk, size: 45979 | |
| 21:49 | [Frq 3473670]: Various Unicode-related speedups/robustness file: 821f56bcd2 check-in: [2ccfd0f771] user: jan.nijtmans branch: core-8-5-branch, size: 45948 | |
|
2012-01-16
| ||
| 13:35 | merge trunk file: 6b20262117 check-in: [0d8d161fe8] user: dkf branch: dkf-utf16-branch, size: 46056 | |
|
2012-01-14
| ||
| 09:30 | rfe-3473670: Various Unicode-related speedups/robustness file: b972e779b5 check-in: [92168a99c1] user: jan.nijtmans branch: rfe-3473670, size: 46004 | |
|
2012-01-09
| ||
| 20:34 | [Bug 3464428] string is graph \u0120 is wrong file: f103b9e575 check-in: [e9a619e9dc] user: jan.nijtmans branch: trunk, size: 46055 | |
| 20:31 | [Bug 3464428] string is graph \u0120 is wrong file: 89865539a7 check-in: [14fc5c19b7] user: jan.nijtmans branch: core-8-5-branch, size: 46024 | |
| 19:59 | [Bug 3464428] string is graph \u0120 is wrong file: 8c9e89c5d6 check-in: [a0c0feafe9] user: jan.nijtmans branch: core-8-4-branch, size: 46080 | |
|
2011-12-31
| ||
| 15:12 | merge trunk file: d7f87d218d check-in: [e0cf8ae638] user: dkf branch: dkf-utf16-branch, size: 46758 | |
|
2011-12-24
| ||
| 00:30 | [Bug 3464428] string is graph \u0120 is wrong file: 0877da7330 check-in: [0c1ac83954] user: jan.nijtmans branch: trunk, size: 46757 | |
| 00:15 | [Bug 3464428] string is graph \u0120 is wrong file: ff4f29c06b check-in: [005fc77cde] user: jan.nijtmans branch: core-8-5-branch, size: 46726 | |
|
2011-12-23
| ||
| 23:31 | [Bug 3464428] string is graph \u0120 is wrong file: e5c5f74bb0 check-in: [13071df962] user: jan.nijtmans branch: core-8-4-branch, size: 46880 | |
|
2011-08-24
| ||
| 08:32 | fix tests utf-2.8 and utf-2.9 file: 3520ee4534 check-in: [39ae4108bf] user: jan.nijtmans branch: tip-389-impl, size: 50669 | |
| 07:50 | Upcoming TIP implementation: Full support for Unicode 6.0 file: e61b09f86a check-in: [5721cf9ae6] user: jan.nijtmans branch: tip-389-impl, size: 50601 | |
|
2011-07-27
| ||
| 10:40 | Start work towards being able to work with utf8 fully and utf16 and other things outside the BMP. file: 2a2f356f38 check-in: [f9f8c8425c] user: dkf branch: dkf-utf16-branch, size: 46774 | |
|
2011-04-28
| ||
| 16:02 | More isspace() callers. file: 4469252ff0 check-in: [41acfe91ea] user: dgp branch: trunk, size: 46773 | |
| 16:00 | More isspace() callers. file: 11a1eed14a check-in: [88095bbde0] user: dgp branch: core-8-5-branch, size: 46742 | |
|
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: b95ca708fe check-in: [c64f310d38] user: dgp branch: trunk, size: 46789 | |
| 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: f3b9f73e39 check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 46758 | |
|
2011-03-01
| ||
| 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: 515557ce50 check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 46896 | |
|
2010-11-17
| ||
| 16:32 | Next slice, big chunk of the generic IO layer plus a few miscellanea. file: daefb09659 check-in: [40a5fd2632] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 46856 | |
|
2009-09-07
| ||
| 16:39 | merge updates from HEAD file: 2922d7afd9 check-in: [8c0a6a5799] user: dgp branch: dgp-refactor, size: 46860 | |
| 07:28 | * generic/tclExecute.c: fix potential uninitialized variable use and * generic/tclFCmd.c: null dereference flagged by clang static * generic/tclProc.c: analyzer. * generic/tclTimer.c: * generic/tclUtf.c: * generic/tclExecute.c: silence false positives from clang static * generic/tclIO.c: analyzer about potential null dereference. * generic/tclScan.c: * generic/tclCompExpr.c: file: 69316ce61d check-in: [e93f957325] user: das branch: trunk, size: 46856 | |
|
2009-02-11
| ||
| 17:27 | merge updates from HEAD file: 41d4f6bc48 check-in: [f07460d448] user: dgp branch: dgp-refactor, size: 46856 | |
| 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: c4aba6267e check-in: [93efedde3f] user: dgp branch: trunk, size: 46852 | |
|
2008-05-11
| ||
| 04:22 | merge updates from HEAD file: 899279da02 check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 46829 | |
|
2008-04-27
| ||
| 22:21 | Get rid of pre-C89-isms (esp. CONST vs const). file: d58ad8109d check-in: [2d205c22fb] user: dkf branch: trunk, size: 46825 | |
|
2005-11-03
| ||
| 17:52 | merge updates from HEAD file: 7ee2da14dc check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 46829 | |
|
2005-10-31
| ||
| 15:59 | Convert to using ANSI decls/definitions and using the (ANSI) assumption that NULL can be cast to any pointer type transparently. file: 231e655e04 check-in: [1e0170d2bf] user: dkf branch: trunk, size: 46825 | |
|
2005-09-12
| ||
| 15:40 | merge updates from HEAD file: c7c9e665ca check-in: [156f19bcaf] user: dgp branch: dgp-refactor, size: 47247 | |
|
2005-09-09
| ||
| 18:48 | [kennykb-numerics-branch] Merge updates from HEAD. file: b74363491e check-in: [343239eeff] user: dgp branch: kennykb-numerics-branch, size: 47247 | |
|
2005-09-07
| ||
| 15:31 | * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect handling was producing byte sequences outside of Tcl's legal internal encoding. [Bug 1283976]. file: 2830ca0d80 check-in: [c76f2a1966] user: dgp branch: trunk, size: 47243 | |
| 14:35 | * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect handling was producing byte sequences outside of Tcl's legal internal encoding. [Bug 1283976]. file: 4d21dfc317 check-in: [8d8a47a587] user: dgp branch: core-8-4-branch, size: 46967 | |
|
2005-08-02
| ||
| 18:14 | merge updates from HEAD file: 642f661d22 check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 47152 | |
|
2005-07-26
| ||
| 04:11 | Merge updates from HEAD file: 6b3a173352 check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 47152 | |
|
2005-07-21
| ||
| 14:38 | Systematizing the formatting file: 459bdd81b3 check-in: [ac613e6b94] user: dkf branch: trunk, size: 47148 | |
|
2005-06-13
| ||
| 01:45 | *** MERGE WITH HEAD *** (tag msofer-wcodes-20050611) file: abb0e59dd0 check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 47149 | |
|
2005-05-10
| ||
| 18:33 | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: 05ebb1f08c check-in: [1cc2336920] user: kennykb branch: trunk, size: 47146 | |
|
2005-05-05
| ||
| 17:55 | Merged with HEAD file: f8567f610d check-in: [b77c9a87c6] user: kennykb branch: kennykb-numerics-branch, size: 47150 | |
|
2005-05-04
| ||
| 17:34 | merge updates from HEAD file: 4702b80d6d check-in: [edf99c3880] user: dgp branch: dgp-refactor, size: 47146 | |
|
2005-05-03
| ||
| 18:07 | * doc/DString.3: Eliminated use of identifier "string" in Tcl's * doc/Environment.3: public C API to avoid conflict/confusion with * doc/Eval.3: the std::string of C++. * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: * generic/tclUtil.c, unix/tclUnixChan.c: * generic/tclDecls.h: `make genstubs` file: bfdb1027d4 check-in: [83aa957ebe] user: dgp branch: trunk, size: 47142 | |
|
2003-10-16
| ||
| 02:28 | Merged updates from HEAD file: 0a87a53c0a check-in: [44102608b1] user: dgp branch: dgp-refactor, size: 46872 | |
|
2003-10-08
| ||
| 14:24 | Made Tcl_NumUtfChars do the right thing with \u0000 when guessing the length because of a negative 'length' parameter. [Bug 769812] file: 4bafe028d7 check-in: [6b243da1f0] user: dkf branch: trunk, size: 46868 | |
| 14:21 | Made Tcl_NumUtfChars do the right thing with \u0000 when guessing the length because of a negative 'length' parameter. [Bug 769812] file: d09ebf9cdd check-in: [257a93c349] user: dkf branch: core-8-4-branch, size: 46872 | |
|
2003-03-06
| ||
| 23:27 | * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to * tests/utf.test (utf-25.*): properly compare Unicode strings of different case in a case insensitive manner. [Bug 699042] file: 386fe22320 check-in: [a7fde7d55a] user: dgp branch: trunk, size: 46896 | |
| 23:24 | * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to * tests/utf.test (utf-25.*): properly compare Unicode strings of different case in a case insensitive manner. [Bug 699042] file: bb62f8f756 check-in: [8003bbacd1] user: dgp branch: core-8-4-branch, size: 46900 | |
|
2003-02-18
| ||
| 02:25 | * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH): * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH): * generic/tclUtf.c (TclUniCharMatch): * generic/tclInt.decls: add private TclUniCharMatch function that * generic/tclIntDecls.h: does string match on counted unicode * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the * tests/string.test: failing that it can't handle strings or * tests/stringComp.test: patterns with embedded NULLs. Added tests that actually try strings/pats with NULLs. TclUniCharMatch should be TIPed and made public in the next minor version rev. file: cac938b6c2 check-in: [28dcdcf39e] user: hobbs branch: trunk, size: 46835 | |
|
2002-11-12
| ||
| 02:26 | * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the functions, and add extra optimization to Tcl_NumUtfChars for one-byte/char case. file: 78e68b4785 check-in: [af7f25d96a] user: hobbs branch: trunk, size: 42114 | |
|
2002-08-20
| ||
| 20:25 | merged with trunk at tag macosx-8-4-merge-2002-08-20-trunk file: 7443fa11a6 check-in: [354986d9c3] user: das branch: macosx-8-4-branch, size: 41944 | |
|
2002-08-05
| ||
| 03:24 | * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c file: b18e42ccdc check-in: [e476c22fec] user: dgp branch: trunk, size: 41940 | |
|
2002-07-19
| ||
| 12:31 | Global symbols are now all either prefixed with 'tcl' (or 'Tcl' or ...) or have file-scope. file: 4126660f15 check-in: [86e27ff753] user: dkf branch: trunk, size: 44537 | |
|
2002-06-10
| ||
| 05:33 | Merging with TOT as of 06/09/2002. file: ed60c139a6 check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 44540 | |
|
2002-05-30
| ||
| 03:27 | * unix/configure: regen'ed * unix/configure.in: replaced bigendian check with autoconf standard AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems. * generic/tclUtf.c (Tcl_UniCharNcmp): * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative. file: 308dcb7710 check-in: [5a5c16e5a7] user: hobbs branch: trunk, size: 44533 | |
|
2002-05-29
| ||
| 10:35 | Made Tcl_UniCharNcmp faster on big-endian machines; the system memcmp()is probably optimized far in excess of anything we could do! Little-endian just use the old code... file: 384a26efe9 check-in: [b3535ea391] user: dkf branch: trunk, size: 44570 | |
| 09:09 | * generic/tclInt.decls: * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclUtf.c: added TclpUtfNcmp2 private command that mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This provides a faster alternative for comparing utf strings internally. (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of string check as it wasn't correct for the function (by doc and logic). * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal comparison code to use TclpUtfNcmp2 as well as short-circuit for equal objects or unequal length strings in the equal case. Removed the use of goto and streamlined the other parts. * generic/tclExecute.c (TclExecuteByteCode): added check for object equality in the comparison instructions. Added short-circuit for != length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with no utf bytes. file: 03dbd6b1d6 check-in: [c78da914be] user: hobbs branch: trunk, size: 44362 | |
|
2002-02-08
| ||
| 02:52 | * Partial TIP 27 rollback. Following routines restored to return (char *): Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified some callers. This change recognizes that Tcl_DStrings are de-facto white-box objects. * generic/tclCmdMZ.c: corrected use of C++-style comment. file: 8496aab82e check-in: [bb1a244cde] user: dgp branch: trunk, size: 43084 | |
|
2002-02-05
| ||
| 02:21 | Merging with the current TOT. Very few conflicts, mostly in the generated files. file: 2bd859f5d7 check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 43105 | |
|
2002-01-26
| ||
| 01:10 | * Sought out and eliminated instances of CONST-casting that are no longer needed after the TIP 27 effort. file: e7d378c3b1 check-in: [4bca1d26db] user: dgp branch: trunk, size: 43096 | |
|
2002-01-17
| ||
| 03:03 | * Updated APIs in generic/tclUtf.c and generic/tclRegexp.c according to the guidelines of TIP 27. Updated callers. file: 73d8335019 check-in: [17ade15700] user: dgp branch: trunk, size: 43105 | |
|
2002-01-02
| ||
| 13:52 | Fixed fault with case-insensitive string matching (Bug#233257) and rewrote some tests to test what they claimed to be testing. file: 608df3bfe8 check-in: [99e550c5be] user: dkf branch: trunk, size: 43103 | |
|
2001-10-16
| ||
| 05:31 | Undo of mistaken commit. Sorry! file: c911d35dc6 check-in: [092e282e8d] user: dgp branch: trunk, size: 43048 | |
| 05:10 | * Added test to demonstrate memory corruption problems. [Bug 219393]. file: 203c69f186 check-in: [6134ad6471] user: dgp branch: trunk, size: 43038 | |
|
2001-09-27
| ||
| 13:49 | Backing out unwise changes file: 35b0daf5fe check-in: [4c0c25f627] user: dkf branch: dkf-64bit-support-branch, size: 43052 | |
|
2001-09-26
| ||
| 14:23 | Now builds on Solaris8/SPARC with both SunPro CC *and* GCC. file: af6d32ff69 check-in: [4850711173] user: dkf branch: dkf-64bit-support-branch, size: 43066 | |
|
2001-09-13
| ||
| 19:33 | * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper location when the middle of a UTF-8 byte was passed in. [Bug #450504] file: 08c7f3b96f check-in: [5b19d3b799] user: hobbs branch: core-8-3-1-branch, size: 38202 | |
| 19:31 | * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper location when the middle of a UTF-8 byte was passed in. [Bug #450504] file: 0411922794 check-in: [5f02e9a154] user: hobbs branch: trunk, size: 43050 | |
|
2001-07-16
| ||
| 23:14 | 2001-07-02 Jeff Hobbs <[email protected]> * tests/util.test: added util-4.6 * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards over utf-8 chars. [Bug #227512] 2001-06-27 Jeff Hobbs <[email protected]> * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash handling of multibyte utf-8 chars. [Bug #217987] * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in info procs that created objects without using them. * generic/tclCompCmds.c (TclCompileStringCmd): fixed mem leak when string command failed to parse the subcommand. 2001-05-22 Jeff Hobbs <[email protected]> * generic/tclObj.c (TclAllocateFreeObjects): simplified objSizePlusPadding to use sizeof(Tcl_Obj) (max) file: b1e3fb83a7 check-in: [bef6467977] user: hobbs branch: core-8-3-1-branch, size: 38256 | |
|
2001-06-28
| ||
| 01:10 | * tests/subst.test: * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash handling of multibyte utf-8 chars. [Bug #217987] file: 32045ec19e check-in: [7eba85bf31] user: hobbs branch: trunk, size: 43023 | |
|
2001-04-06
| ||
| 10:50 | Fixed problem with [string compare \x00 \x01] and hopefully sped the command up in a few cases too (notably byte arrays and UNICODE objects.) [Bug #219201] file: ca14319b76 check-in: [6677432d73] user: dkf branch: trunk, size: 42633 | |
|
2000-06-05
| ||
| 23:36 | Comment typo correction. file: 7d4c2af295 check-in: [68d103692c] user: ericm branch: trunk, size: 42731 | |
|
2000-05-08
| ||
| 22:06 | removed unreferenced var file: 60f04b3f80 check-in: [5482dfcb56] user: hobbs branch: trunk, size: 42731 | |
| 21:59 | * doc/Utf.3: * generic/tclStubInit.c: * generic/tcl.decls: * generic/tclDecls.h: * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch) * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch file: 7a3ece8e99 check-in: [52c8e2d16d] user: hobbs branch: trunk, size: 42750 | |
|
2000-01-11
| ||
| 22:08 | * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow non-octal digits (8,9) in \ooo substs. [Bug: 3975] * generic/tcl.h: noted need to change win/tcl.m4 and tools/tclSplash.bmp for minor version changes file: 072d41fd6b check-in: [f664655d33] user: hobbs branch: trunk, size: 37858 | |
|
1999-07-22
| ||
| 01:08 | * doc/Utf.3: * generic/tcl.decls: * generic/tclInt.decls: * generic/tclDecls.h: * generic/tclIntDecls.h: * generic/tclUtf.c: * compat/strftime.c: * unix/tclUnixTime.c: Changed function declarations in non-platform-specific APIs to use "unsigned long" instead of "size_t", which may not be defined on certain compilers (rather than include sys/types.h, which may not exist). file: 1063baf081 check-in: [22b143003b] user: redman branch: trunk, size: 37736 | |
|
1999-06-24
| ||
| 03:27 | * unix/Makefile.in: Changed install-doc to install-man. * tools/uniParse.tcl: * tools/uniClass.tcl: * tools/README: * tests/string.test: * generic/regc_locale.c: * generic/tclUniData.c: * generic/tclUtf.c: * doc/string.n: Updated Unicode character tables to reflect latest Unicode 2.1 data. Also rationalized "regexp" and "string is" definitions of character classes. file: c48c2fa19e check-in: [9d26b83359] user: stanton branch: trunk, size: 37717 | |
|
1999-06-02
| ||
| 20:21 | * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation of relative ordering. [Bug: 2135] file: 5cabcf8d5a check-in: [58260de12d] user: stanton branch: trunk, size: 37568 | |
|
1999-05-22
| ||
| 01:20 | Merged changes from scriptics-tclpro-1-3-b2 branch file: f55a65074e check-in: [f692388d07] user: stanton branch: trunk, size: 37532 | |
|
1999-05-20
| ||
| 23:40 | lint in comments file: 10c8f0fe13 check-in: [9c2ceb7303] user: hershey branch: trunk, size: 34755 | |
| 00:03 | Merged in various changes submitted by Jeff Hobbs: * generic/tcl.decls: * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control, graph, print, and punct classes. * generic/tclUtil.c: * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to support case-insensitive globbing. * doc/string.n: * unix/mkLinks: * tests/string.test: * generic/tclCmdMZ.c: Added additional character class tests, added -nocase switch to "string match", changed string first/last to use offsets. file: 7706b36834 check-in: [61e23396c3] user: stanton branch: scriptics-tclpro-1-3-b2-branch, size: 37579 | |
|
1999-05-06
| ||
| 18:46 | * doc/Utf.3: * generic/tclStubInit.c: * generic/tclDecls.h: * generic/tclUtf.c: * generic/tcl.decls: Added Tcl_UtfNcmp and Tcl_UtfNcasecmp. file: fbdeeb90bf check-in: [d9e7608a90] user: stanton branch: trunk, size: 34798 | |
|
1999-04-30
| ||
| 16:22 | Tcl_UtfToUpper and Tcl_UtfToTitle now works on badly formed Utf strings. file: 2f760fc34e check-in: [8cc1ac5095] user: hershey branch: trunk, size: 32513 | |
|
1999-04-29
| ||
| 00:04 | fixed part of bug 1791: Tcl_UtfToUpper and Tcl_UtfToLower now work on badly formed Utf strings. file: 5737c04290 check-in: [a9c361524c] user: hershey branch: trunk, size: 32180 | |
|
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 | Added: merged tcl 8.1 branch back into the main trunk file: 3f7d7e0b3e check-in: [f3b32fb71c] user: stanton branch: trunk, size: 30544 | |
|
1999-04-02
| ||
| 23:44 | * generic/regc_locale.c: * generic/regcustom.h: * generic/tcl.decls: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclInt.h: * generic/tclRegexp.c: * generic/tclScan.c: * generic/tclTest.c: * generic/tclUtf.c: * win/tclWinFCmd.c: * win/tclWinFile.c: Made various Unicode utility functions public. The following functions were made public and added to the stubs table: Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace, Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar file: f80e00437b check-in: [de06484e63] user: stanton branch: core-8-1-branch-old, size: 30548 | |
|
1998-11-04
| ||
| 04:39 | Merged Henry's latest changes to add support for character ranges in cvec data type Added support for Unicode character classes in regular expressions We now support the following character classes: alnum, alpha, blank, cntrl, digit, graph, lower, print, punct, space, upper, xdigit These all follow the example set by the GNU regular expression package for Java except that "digit" only matches the ASCII '0'-'9' characters. Renamed tclUtf.h to tclUniData.c file: e9daa1c432 check-in: [6a4b8e2ee0] user: stanton branch: core-8-1-branch-old, size: 30526 | |
|
1998-10-21
| ||
| 20:57 | fixed typo in include file: c75a37c3d7 check-in: [078afb3c89] user: stanton branch: core-8-1-branch-old, size: 30447 | |
|
1998-10-16
| ||
| 01:16 | Added Unicode character table support: added TclUniCharIsWordChar tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, changed "wordend" and "wordstart" to properly handle Unicode word characters and connector punctuation file: e7c8a7e302 check-in: [a448adffae] user: stanton branch: core-8-1-branch-old, size: 30447 | |
|
1998-10-03
| ||
| 01:56 | replaced SCCS with RCS strings file: f4f9e2686e check-in: [c65ae5da0d] user: stanton branch: core-8-1-branch-old, size: 30133 | |
|
1998-09-21
| ||
| 23:39 | Added: Added contents of Tcl 8.1a2 file: 988d81327c check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 30108 | |
