summaryrefslogtreecommitdiffstats
path: root/generic/tclUtil.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.7jan.nijtmans2019-03-271-27/+0
|\
| * Make Tcl_StringMatch() into a wrapper macro around Tcl_StringCaseMatch()jan.nijtmans2019-03-271-1/+3
| |
| * Make all internal small buffer related to Tcl_UtfBackslash() length 4, not ↵jan.nijtmans2019-03-241-1/+1
| | | | | | | | | | TCL_UTF_MAX: For TCL_UTF_MAX=6 it was overkill, for TCL_UTF_MAX=3 not enough. Prove that this works by adding a Travis CI build configuration using TCL_UTF_MAX=3
* | Merge 8.7jan.nijtmans2019-03-151-3/+3
|\ \ | |/
| * Eliminate usage of mp_isneg(), just check bignum->sign directly (as ↵jan.nijtmans2019-03-151-3/+3
| | | | | | | | | | libtommath itself does) Make TclInitBugnumFromLong() a static function in stubtable only, as it isn't used by Tcl anymore.
* | Eliminate many (mostly harmless) MSVC warning messages. Tcl 9 compiles ↵jan.nijtmans2019-03-131-2/+2
| | | | | | | | warning-free now on MSVC.
* | Merge 8.7jan.nijtmans2019-03-081-2/+2
|\ \ | |/
| * Fixes for TCL_UTF_MAX=6, (gcc compiler warnings). Also make everything work ↵jan.nijtmans2019-03-071-1/+1
| | | | | | | | on win32/win64. Patch adapted from Androwish (thanks, Werner!)
* | Merge 8.7jan.nijtmans2019-03-011-1/+1
|\ \ | |/
| * More use of TclHasIntRep() macro. Add vfs build director to fossil ignore-globjan.nijtmans2019-03-011-1/+1
| |
| * Fix [bd94500678e837d7]: SEGFAULT by conversion of unicode (out of BMP) to ↵jan.nijtmans2019-02-271-1/+1
| |\ | | | | | | | | | byte-array
| | * Finish complete fix, all corner-cases correct now. Also spurious UTF-8 ↵jan.nijtmans2019-02-251-1/+1
| | | | | | | | | | | | testcase failure (as seen on travis) fixed now.
| * | More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) ↵jan.nijtmans2019-02-271-5/+5
| |/ | | | | | | and (unsigned) type-casts, which don't make sense any more.
* | Merge trunkjan.nijtmans2019-02-051-4/+5
|\ \
| * | More size_t-related consolidations. Now regexp can handle strings >2GB and ↵jan.nijtmans2019-02-051-35/+28
| | | | | | | | | | | | more. Remove many type-casts which are not necessary any more.
* | | Merge trunkjan.nijtmans2019-02-041-37/+26
|\ \ \ | |/ /
| * | Merge 8.7jan.nijtmans2019-01-281-1/+1
| |\ \ | | |/
| | * New internal macro TclFetchIntRep, which is faster than Tcl_FetchIntRep. jan.nijtmans2019-01-281-1/+1
| | | | | | | | | But ... don't use this function when the result is only compared to NULL: that's just overkill.
| * | merge 8.7sebres2019-01-251-11/+8
| |\ \ | | |/
| | * One more libtommath function, mp_tc_div_2d, which simplifies code. Some more ↵jan.nijtmans2019-01-221-11/+8
| | | | | | | | | | | | code readability improvements.
| * | Another round of int -> size_t modifications, so strings > 2Gb are handled ↵jan.nijtmans2019-01-241-1/+1
| | | | | | | | | | | | correctly on 64-bit platforms.
* | | Merge trunk. All callers of TclIndexDecode and related functions now adapted ↵jan.nijtmans2019-01-201-33/+7
|\ \ \ | |/ / | | | | | | for enhanced index range.
| * | Merge 8.7jan.nijtmans2019-01-181-4/+7
| |\ \ | | |/
| | * Clamp output of TclIndexDecode() between -1 (TCL_INDEX_NONE) and INT_MAX. ↵jan.nijtmans2019-01-181-3/+7
| | | | | | | | | | | | Use this to produce slightly better error-message for lsort -index
* | | WIP: Allow value > 2^31 for indexes used in string ranges. Not complete yet.jan.nijtmans2019-01-171-11/+39
|/ /
* | Merge 8.7jan.nijtmans2019-01-161-28/+22
|\ \ | |/
| * More TIP #502 optimizations and improvements, preparing further for the road ↵jan.nijtmans2019-01-161-24/+18
| | | | | | | | | | | | to Tcl 9. No longer use INT_MAX for TCL_INDEX_AFTER, because INT_MAX can be a normal index in Tcl 9. TclGetIntForIndex now clips between -1 and INT_MAX. In Tcl 9 size_t will be used for the index data type.
| * If compiled with -DTCL_NO_DEPRECATED, remove ↵jan.nijtmans2018-12-121-4/+4
| | | | | | | | | | Tcl_NewIntObj/Tcl_NewLongObj/Tcl_DbNewLongObj from stub table, as they will be gone in 9.0 (converted to a macro) Use Tcl_WideInt's directly in more places, diminishing the possibility of inadvent overflow.
| * Merge and adapt 8.6dgp2018-11-091-0/+17
| |\
| | * merge 8.5dgp2018-11-091-0/+17
| | |\
| | | * Revise bug fix to support (length == 0) correctly.dgp2018-11-091-4/+17
| | | | | | | | | | | | Added comments and improved safety in caller.
| | | * closes [35a8f1c04a]: minimalist fix - beware of discrepancy between ↵sebres2018-11-091-0/+4
| | | | | | | | | | | | | | | | TclScanElement and TclConvertElement (prefer braces considering TCL_DONT_QUOTE_HASH in case of first list element)
| * | | Implement TIP 445dkf2018-11-061-15/+15
| |\ \ \
* | | | | next amend to [3e0a2d99f3]: fixes TclGetIntForIndex for border case of end ↵sebres2019-01-151-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | offset (size_t)-1 if empty subject, (e. g. failed with out of range by `lset lst end+1 ...` on empty list) on 32-bit system; introduces new internal macro TclWideIntFromSize for correct conversion of size_t to wide-int to consider platform-related negative value ((size_t)-1), if wide-int and size_t have different dimensions (e. g. on 32-bit platforms).
* | | | | Many internal int -> size_t increases, so string lengths > 2Gb can be ↵jan.nijtmans2018-12-261-9/+9
| | | | | | | | | | | | | | | | | | | | handled correctly in many more places.
* | | | | Now that we have TCL_AUTO_LENGTH/TCL_IO_FAILURE macro's, use them to make ↵jan.nijtmans2018-11-181-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | code and documentation more readable. Shifted to feature branch as a temporary measure since it doesn't build.
* | | | | [35a8f1c04a] Fix bad lengths when creating string rep of some lists.dgp2018-11-131-0/+17
| | | | |
* | | | | Implement TIP 445dgp2018-11-131-15/+15
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | merge 8.7dgp2018-10-241-115/+72
| |\ \ \ \
| * \ \ \ \ merge 8.7dgp2018-10-181-111/+360
| |\ \ \ \ \
| * \ \ \ \ \ merge 8.7dgp2018-03-151-72/+183
| |\ \ \ \ \ \
| * \ \ \ \ \ \ merge 8.7dgp2018-03-101-1/+138
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ merge 8.7dgp2018-02-231-5/+7
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ merge 8.7dgp2018-02-151-0/+3
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ merge 8.7dgp2018-02-091-1/+1
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ merge 8.7dgp2018-02-061-5/+5
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ merge 8.7dgp2018-01-231-0/+2
| |\ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ merge 8.7dgp2017-12-191-4/+6
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ merge 8.7dgp2017-11-301-6/+4
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ merge 8.7dgp2017-11-151-21/+6
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \