summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | More usage of TclUtfToUCS4(), so we can use the whole Unicode range better ↵jan.nijtmans2020-05-051-0/+1
| | | | | | | | | | | | | | | | in TCL_UTF_MAX>3 builds.
| | * | New internal function TclGetUCS4() only available when TCL_UTF_MAX=4. This ↵jan.nijtmans2020-05-041-1/+6
| | | | | | | | | | | | | | | | fixes all "knownBug" testcases related to tip389.
| | * | Re-join utf-6.93.0 and utf-6.93.1 (please disregard comment in previous ↵jan.nijtmans2020-05-031-1/+8
| | | | | | | | | | | | | | | | | | | | 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.
| * | | Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX ↵jan.nijtmans2020-05-011-3/+6
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX ↵jan.nijtmans2020-05-011-4/+6
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | Fix [ed29806baf] by introducing TclUCS4Complete(). All other calls of ↵jan.nijtmans2020-05-011-1/+4
| | |/ / | |/| | | | | | | | | | | | | | Tcl_UtfToUniChar() are suspicious, because those cannot handle 4-byte UTF-8 sequences reliable. So, there's more work to do, but this part can already be backported to Tcl 8.6 and see where we get.
| | * | Merge from 8.5. Failing tests encoding-12.6, reg-13.3[34] appear to be realdgp2020-04-241-2/+0
| | |\ \ | | | | | | | | | | failures reporting first contact with tests and code.
| | | * | Add protections against overflow in Unicode values. Backported from 8.6. ↵jan.nijtmans2020-04-241-2/+0
| | | | | | | | | | | | | | | | | | | | Also remove some out-of-date comments.
| * | | | Merge 8.6. This mainly introduces the overlong check into Tcl_UtfPrev(). 10 ↵jan.nijtmans2020-04-241-0/+8
| |\ \ \ \ | | |/ / / | | | | | | | | | | testcase changed results, all of them due to the Tcl_UtfPrev() improvement. Tcl_UtfNext() is not affected: Previous implementation was based on Tcl_UtfToUniChar(), which already did this check.
| | * | | Fix TclUtfNext() macro. Use it in tclTest.c, so such a mistake can be ↵jan.nijtmans2020-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | detected next time.
| | * | | Merge 8.5. Failing tests for now. To be remedied shortly.dgp2020-04-161-0/+8
| | |\ \ \ | | | |/ /
| | | * | merge 8.5dgp2020-04-161-0/+5
| | | |\ \
| | | | * | Create and use macro TclUtfPrev for Tcl_UtfPrev.dgp2020-04-161-0/+5
| | | | | |
| | | * | | Create and use an optimized macro TclUtfNext() for Tcl_UtfNext().dgp2020-04-141-0/+3
| | | |/ /
| * | | | Merge 8.6jan.nijtmans2020-04-141-1/+10
| |\ \ \ \ | | |/ / /
| | * | | Merge 8.5. Failing tests highlight ticket [1b1f5f0b53].dgp2020-04-131-1/+10
| | |\ \ \ | | | |/ /
| | | * | Guarantee TclNeedSpace and TclFindElement have common definition of whitespacedgp2020-04-091-1/+10
| | | | | | | | | | | | | | | | | | | | by having both call the same routine. Create a macro form to contain performance costs and adapt callers.
| | | * | Correct ANSI prototype of TclNokia770Doubles()jan.nijtmans2020-02-241-1/+1
| | | | |
* | | | | Merge 8.7jan.nijtmans2020-04-081-2/+5
|\ \ \ \ \ | |/ / / /
| * | | | Simplify implementation of TclUtfToUCS4: The #undefined Tcl_UtfToUniChar() ↵jan.nijtmans2020-04-031-1/+5
| | | | | | | | | | | | | | | | | | | | already does everything for use here (Unlike in Tcl 8.6, with has to live without TIP #542)
| * | | | merge 8.6dgp2020-04-021-0/+1
| |\ \ \ \ | | |/ / /
| | * | | New utility routine TclUtfToUCS4() to contain some complexity. Two callers ↵dgp2020-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | adapted.
| | * | | Remove MODULE_SCOPE function TclpSetInterfaces(), which is just empty. jan.nijtmans2020-03-311-1/+0
| | | | | | | | | | | | | | | Increase size of MSG structure in Cygwin Notifier: Should conform with Win32 size. Some related code cleanup.
| | * | | Fix [767e070d35]: Tcl_GetRange and Tcl_GetUniChar do not validate index inputsjan.nijtmans2020-03-271-1/+1
| | | | |
| * | | | Adapt [testbytestring] to use TclGetBytesFromObj, which must be in internaldgp2020-04-011-2/+0
| | | | | | | | | | | | | | | stubs to make that work.
* | | | | Merge 8.7jan.nijtmans2020-03-311-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Fix [828dda049b]: Memory faults post-TIP 557jan.nijtmans2020-03-311-1/+1
| | | | |
* | | | | Merge 8.7jan.nijtmans2020-03-301-4/+4
|\ \ \ \ \ | |/ / / /
| * | | | Optimize TclStringFirst/TclStringLast: Let it return a Tcl_Obj * in stead of ↵jan.nijtmans2020-03-301-4/+4
| | | | | | | | | | | | | | | | | | | | an int, so its callers don't need to do the conversion any more.
* | | | | Merge 8.7jan.nijtmans2020-03-291-2/+2
|\ \ \ \ \ | |/ / / /
* | | | | Merge 8.7jan.nijtmans2020-03-201-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge 8.6jan.nijtmans2020-03-181-2/+2
| |\ \ \ \ | | |/ / /
| | * | | Fix TIP #389 implementation, bug [d433c0e0ad]: TCL_UTF_MAX == 4 problems. ↵jan.nijtmans2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | Thanks to Christian Werner for the report.
* | | | | Simplify TclIndexEncode(). Range checks not 100% correct yet. More WIP.jan.nijtmans2020-03-151-4/+3
|/ / / /
* | | | Need declaration too.dgp2020-03-131-0/+2
| | | |
* | | | Move TCL_UNUSED to tclInt.h, so we can still deprecate JOIN()jan.nijtmans2020-03-071-0/+11
| | | |
* | | | Merge 8.7jan.nijtmans2020-02-131-7/+5
|\ \ \ \
| * | | | TclInitBignumFromWide(U)Int is not used any more.jan.nijtmans2020-02-021-2/+0
| | | | |
| * | | | Fix conflict between (unpatched) tommath.h and tcl.h. See also ↵jan.nijtmans2020-02-021-6/+6
| |\ \ \ \ | | | | | | | | | | | | | | | | | | [https://github.com/libtom/libtommath/pull/473]
| | * | | | Attempt to resolve a conflict between (unmodified) tommath.h and tcl.h in ↵jan.nijtmans2020-01-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | the definition of mp_int. See: [https://github.com/libtom/libtommath/pull/473]
| * | | | | Merge 8.7jan.nijtmans2019-12-131-1/+0
| |\ \ \ \ \ | | |/ / / /
| * | | | | Merge 8.7jan.nijtmans2019-11-151-1/+0
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| * | | | | Merge 8.7jan.nijtmans2019-11-041-8/+2
| |\ \ \ \ \
| * \ \ \ \ \ Merge 8.7jan.nijtmans2019-10-281-0/+2
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge 8.7jan.nijtmans2019-09-251-1/+1
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch tip-548. No longer define addtional stub-entries for functions ↵jan.nijtmans2019-08-121-0/+7
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that will be removed (because of deprecation) anyway
| * \ \ \ \ \ \ \ \ Merge tip-548jan.nijtmans2019-08-011-4/+4
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / /
| * | | | | | | | | Merge tip-548jan.nijtmans2019-08-011-4/+4
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / /
* | | | | | | | | | Merge 8.7jan.nijtmans2019-12-131-1/+0
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / | |/| | | | | | | |
| * | | | | | | | | Merge 8.7jan.nijtmans2019-11-151-1/+0
| |\ \ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / / | | |/| | | | | | |