summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't test the impossible.dgp_stringcat_delaystringrepdgp2017-06-081-5/+3
|
* Modernize overflow checks.dgp2017-06-081-6/+6
|
* merge trunkdgp2017-06-087-58/+349
|\
| * Make read and write operations on Tcl_Var handles available in tclInt API.dkf2017-06-087-58/+349
| |\
| | * Make read and write operations on Tcl_Var handles available in tclInt API. dkf2017-06-087-58/+349
| | |\ | | | | | | | | (This will be useful for tclquadcode, and it addresses a basic omission in Tcl's API that made working with Tcl_Vars rather more specialized than it was ever really intended to be. However, this also closes off the part of the API that was not reasonably usable by ordinary external code; LVT indices require too deep an entanglement into Tcl's implementation.)
| | | * Expose some of the core variable access APIs. dkf_expose_ptrgetvar_8_6dkf2017-06-067-58/+349
| | | | | | | | | | | | (Cherrypick from [b4dfc30083])
* | | | More streamliningdgp2017-06-081-14/+14
| | | |
* | | | More streamlining.dgp2017-06-081-12/+5
| | | |
* | | | pendingPtr == NULL implies (last == first) implies early outdgp2017-06-081-14/+3
| | | |
* | | | Tests for string rep generation suppressiondgp2017-06-081-0/+30
| | | |
* | | | merge trunkdgp2017-06-083-18/+26
|\ \ \ \ | |/ / /
| * | | merge core-8-6-branchjan.nijtmans2017-06-081-12/+35
| |\ \ \ | | |/ /
| | * | Revert part of [95d096e0378b460c6c5168bb55bb2ca8b2fd799e|95d096e037]: Missed ↵jan.nijtmans2017-06-081-12/+35
| | | | | | | | | | | | | | | | the fact that tolower() was optimized for the ASCII case as well, so this was a mistake!
| * | | merge core-8-6-branchjan.nijtmans2017-06-084-53/+38
| |\ \ \ | | |/ /
| | * | Fix [2738427]: Tcl_NumUtfChars(...) no overflow check.jan.nijtmans2017-06-082-14/+19
| | |\ \
| | | * | Fix [2738427]: Tcl_NumUtfChars(...) no overflow check.jan.nijtmans2017-06-081-13/+14
| | | | |
| | * | | tclUtil.c: Use TclUtfToUniChar() in stead of handling ASCII characters ↵jan.nijtmans2017-06-083-40/+20
| | | | | | | | | | | | | | | | | | | | | | | | | separately: This macro already does that. Add new test-case for Tcl_NumUtfChars(), for a knownBug still to be fixed.
* | | | | When possible delay string rep generation until necessary.dgp2017-06-081-10/+46
|/ / / /
* | | | merge core-8-6-branchjan.nijtmans2017-06-075-59/+57
|\ \ \ \ | |/ / /
| * | | Tcl_GetWideIntFromObj() -> TclGetWideIntFromObj(), and minor other ↵jan.nijtmans2017-06-075-63/+60
| | |/ | |/| | | | | | | simplifications/optimizations. No functional change.
* | | merge core-8-6-branchjan.nijtmans2017-06-063-12/+44
|\ \ \ | |/ /
| * | Add more test-cases for UTF-8 parser, including test-cases for TCL_UTF_MAX=4 ↵jan.nijtmans2017-06-063-20/+56
| | | | | | | | | | | | or TCL_UTF_MAX=6
* | | [716b427f76] Optimize TclStringCatObjv when only one non-empty argument.dgp2017-06-062-56/+56
|\ \ \
| * | | A few more tweaks to streamline and clarify.bug_716b427f76dgp2017-06-061-13/+17
| | | |
| * | | makes TclStringCatObjv safe accepting objc = 0 (or 1), then fast exits with ↵sebres2017-06-061-12/+16
| | | | | | | | | | | | | | | | new object / first; check-cycles rewritten to be still more faster.
| * | | amend to [eac4656f1e8cf793] (moved to scope where numChars != 0 in Unicode case)sebres2017-06-061-3/+3
| | | |
| * | | small code review: don't need to check length if unchanged + the same case ↵sebres2017-06-061-17/+18
| | | | | | | | | | | | | | | | if 0 length
| * | | Optimize TclStringCatObjv() for case when only one argument is non-empty.dgp2017-06-051-8/+22
| | | |
| * | | Revert performance optimization as first step to providing a refactored one.dgp2017-06-051-24/+1
| | | |
* | | | merge core-8-6-branchjan.nijtmans2017-06-062-19/+19
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Follow-up to [67aa9a2070]: Use uppercase consistantly, slight optimization ↵jan.nijtmans2017-06-062-19/+19
| |\ \ | | |/ | | | | | | in character tests, comment fixes. No change in functionality.
| | * [67aa9a2070] Tcl_UtfToUniChar returns single byte for invalid UTF-8 input as ↵jan.nijtmans2017-06-062-75/+77
| | | | | | | | | | | | documented.
* | | [67aa9a2070] Tcl_UtfToUniChar returns single byte for invalid UTF-8 input as ↵dgp2017-06-052-3/+34
|\ \ \ | |/ / | | | | | | documented.
| * | [67aa9a2070] Tcl_UtfToUniChar returns single byte for invalid UTF-8 inputdgp2017-06-052-3/+34
| |\ \ | | | | | | | | as documented.
| | * \ merge core-8-6-branchbug_67aa9a2070jan.nijtmans2017-06-021-10/+8
| | |\ \ | | |/ / | |/| |
| | * | Fix [67aa9a207037ae67f9014b544c3db34fa732f2dc|67aa9a2070]: Security: Invalid ↵jan.nijtmans2017-06-022-3/+34
| | | | | | | | | | | | | | | | UTF-8 can inject unexpected characters
* | | | merge core-8-6-branchjan.nijtmans2017-06-022-11/+8
|\ \ \ \ | |/ / /
| * | | Change refCount field in DictObj from int to size_t. Cherry-picked from ↵jan.nijtmans2017-06-021-10/+8
| |/ / | | | | | | | | | "sebres-8-6-clock-speedup-cr1" branch.
* | | Merge core-8-6-branch. This removes the work currently being done in ↵jan.nijtmans2017-06-0226-9132/+3561
|\ \ \ | |/ / | | | | | | | | | "sebres-8-6-clock-speedup-cr1" branch, but that will be merged again as soon as the work is done. All other changes in "trunk" since then (e.g. the INST_STR_CONCAT1 performance improvement, and the removal of SunOS-4) are retained.
* | | Fix [83a3d869722fab9caaae3b6728215fb2507a6f0d|83a3d86972]: tclEpollNotfy.c ↵jan.nijtmans2017-05-312-5733/+158
| | | | | | | | | | | | | | | fails to compile on Linux 2.6.<22 due to unconditionally including <sys/eventfd.h> Also re-generate regc_locale.c with Unicode 10 tables: previous generation went horribly wrong somehow...
* | | merge core-8-6-branchjan.nijtmans2017-05-312-3/+34
|\ \ \
| * | | Fix [67aa9a207037ae67f9014b544c3db34fa732f2dc|67aa9a2070]: Security: Invalid ↵jan.nijtmans2017-05-312-3/+34
| | | | | | | | | | | | | | | | UTF-8 can inject unexpected characters
* | | | merge core-8-6-branch (except: the "timerate" command and the clock ↵jan.nijtmans2017-05-3120-414/+374
|\ \ \ \ | |/ / / | | | | | | | | performance-tests are kept)
| * | | More code review, e.g. use Tcl_SetObjResult in stead of Tcl_SetResult, ↵jan.nijtmans2017-05-3114-262/+261
| | | | | | | | | | | | | | | | preventing a (char *) type case. No functional changes.
| * | | Remove "timerate" functionality: this definitely needs a TIP. Also undo ↵jan.nijtmans2017-05-314-362/+2
| | | | | | | | | | | | | | | | changes in library/reg/pkgIndex.tcl, which are unrelated to clock functionality
| * | | [msgcat] revert changes of "msgcat" to previous state before clock-speedup, ↵sebres2017-05-303-127/+98
| | | | | | | | | | | | | | | | | | | | move this functionality to "clock.tcl"; additionally avoids the usage of catch (uses pair "dict exists/dict get" instead of).
* | | | performance of INST_STR_CONCAT1: closes ↵sebres2017-05-311-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | [716b427f76f8f97a8d9a06043903c53bb2b592c2]: minor optimization in simplest cases, fixed performance regression of TclStringCatObjv usage from [fc9ed1e751180816384d569101950c1f8c4582ad], optimizes patterns like "$v[unset v]", "$v[set v {}]" etc.
* | | | Unbreak on OpenBSD, again. Put back the old SHLIB_VERSION doings.stu2017-05-312-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OpenBSD, Tcl's libs will need the extra version numbers probably forever. There's no point to adding the extra knob. On OpenBSD, the extra version numbers are used for dependency tracking. The extra version numbers must be on linkable libs (code will be linked to them, they have a corresponding .h file). Loadable libs (no code will be linked to them, they don't have a corresponding .h file. Usually a Tcl extension) don't need the burden (OpenBSD has to track the libs' dependencies) of the extra version numbers. Libs that are loadable and linkable are treated as linkable. I hope that clears things up.
* | | | Fully remove SunOS-4* from tcl.m4.stu2017-05-312-13/+2
| | | |
* | | | merge core-8-6-branch (resolves warnings)sebres2017-05-304-10/+10
|\ \ \ \ | |/ / /