summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve TclInvalidateStringRep() macro such that (objPtr) is only evaluated ↵jan.nijtmans2020-09-201-6/+9
| | | | once. Addation brackets in TclHasStringRep() macro
* Silence compiler warning -- fix safety of macro.dgp2020-09-201-1/+1
|
* Make the check to avoid generating a string representation in [uplevel] a ↵pooryorick2020-09-201-0/+3
| | | | little less intrusive.
* Eliminate many "register" keywords (which do nothing with modern compilers)jan.nijtmans2020-09-141-2/+2
| | | Eliminate many unnecessary type-casts to (unsigned)
* Folow-up to previous commit: ExecStack is a FLEXARRAY toojan.nijtmans2020-09-111-1/+1
|
* Fix [https://core.tcl-lang.org/tk/tktview?name=3bc0f44ef3|3bc0f44ef3]: UBSan ↵jan.nijtmans2020-09-111-2/+8
| | | | | complains about body.chars[] usage. (Yes, I know, this one is for Tk, but Tcl was using the same construct too ....)
* Fix value of CMD_DEAD flagjan.nijtmans2020-08-121-1/+1
|
* Fix for [29e8848eb976], imported alias in a deletion trace.pooryorick2020-08-101-0/+1
|
* Use "Global" in stead of "Master" internally, where "Master" is not used in ↵jan.nijtmans2020-07-201-14/+14
| | | | the Master-Slave paradigm and where this makes sense.
* Fix compiled "string is <class>" for TCL_UTF_MAX=4 build, for characters > ↵jan.nijtmans2020-05-251-1/+3
| | | | U+FFFF.
* In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-141-3/+0
| | | | | | individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence. This effectively removes the last Tcl_UtfNext() call from the core, the only ones left are in tclTest.c for test commands. So the TclUtfNext() macro doesn't make sense any more. Remove "register" keyword from many files.
* 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-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 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.
| * \ Merge 8.6jan.nijtmans2020-04-141-1/+10
| |\ \
| * | | 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
| |\ \ \
| * | | | Adapt [testbytestring] to use TclGetBytesFromObj, which must be in internaldgp2020-04-011-2/+0
| | | | | | | | | | | | | | | stubs to make that work.
| * | | | Fix [828dda049b]: Memory faults post-TIP 557jan.nijtmans2020-03-311-1/+1
| | | | |
| * | | | 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.6jan.nijtmans2020-03-181-2/+2
| |\ \ \ \
| * | | | | 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
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | |_|_|_|_|/ / / / / | | | |/| | | | | | | | |
| | * | | | | | | | | | | Re-base to core-8-branchjan.nijtmans2019-11-011-1/+0
| | |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|/ / / / / | | |/| | | | | | | | | |
| | | * | | | | | | | | | Experiment: On platforms which support it (gcc), compiled libtommath with ↵jan.nijtmans2019-03-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DIGIT_BIT=60
| * | | | | | | | | | | | Merge 8.7jan.nijtmans2019-12-031-1/+0
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | |_|/ / / / / / / / / | | |/| | | | | | | | | |
| | * | | | | | | | | | | Backout [b5c1404365f53fe0], removing TclFreeObj() is a step too far for 8.7jan.nijtmans2019-11-151-1/+0
| | |/ / / / / / / / / /
| * | | | | | | | | | | Merge 8.7jan.nijtmans2019-11-041-8/+2
| |\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / /
| | * | | | | | | | | | WIP: Use unsigned int in stead of mp_digit in libtommath stub entries. jan.nijtmans2019-10-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This make libtommath's API independant whether compiled with MP_64BIT or not
| | * | | | | | | | | | Combine TCL_DD_SHORTEN_FLAG and TCL_DD_SHORTEST to be the same flag (which ↵jan.nijtmans2019-10-291-6/+2
| | | |_|_|_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is .... actually)
| * | | | | | | | | | Merge 8.7jan.nijtmans2019-10-251-1/+1
| |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / /
| | * | | | | | | | | Merge 8.6. jan.nijtmans2019-10-251-1/+1
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Also remove unused variable in unix/tclUnixFile.c
| * | \ \ \ \ \ \ \ \ \ Merge 8.7jan.nijtmans2019-10-241-0/+2
| |\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / /