Tcl Source Code

All files named "generic/tclUtf.c"
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com or submit via the online form
by Aug 20.

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

History for generic/tclUtf.c

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 <jeffh@ActiveState.com> * 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 <jeffh@ActiveState.com> * 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 <jeffh@ActiveState.com> * 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