summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
Commit message (Collapse)AuthorAgeFilesLines
* merge trunkjan.nijtmans2018-05-231-184/+56
|\
| * merge 8.7jan.nijtmans2018-05-131-8/+6
| |\
| | * General code style cleanup.dkf2018-05-131-8/+6
| | |
| * | merge 8.7dgp2018-05-081-171/+41
| |\ \ | | |/
| | * merge core-8-6-branchpooryorick2018-05-071-171/+41
| | |\
| | | * Deduplicate code in INST_STR_CMP, StringCmpCmd, and StringEqualCmd.pooryorick2018-05-071-242/+127
| | | |
| | | * Factor options handling out of StringCmpCmd.pooryorick2018-05-061-36/+58
| | | |
| | | * Preparation to deduplicate code between byte-compiled and legacypooryorick2018-05-061-0/+122
| | | | | | | | | | | | implementations of [string compare].
| * | | merge 8.7jan.nijtmans2018-05-071-7/+7
| |\ \ \ | | |/ /
| | * | Remove some tip389 restrictions in test-cases, which are no longer necessary. jan.nijtmans2018-05-071-7/+7
| | | | | | | | | | | | | | | | Eliminate gcc compiler warnings when compiling with -DTCL_UTF_MAX=6 Other code clean-up and comment improvements. No change in functionality.
| * | | merge 8.7jan.nijtmans2018-04-201-6/+10
| |\ \ \ | | |/ /
| | | |
| | | \
| | *-. \ TIP #389 implementation.jan.nijtmans2018-04-201-6/+10
| | |\ \ \ | | | | |/
| | | * | merge 8.7dgp2018-04-111-1/+0
| | | |\ \ | | | |/ / | | |/| |
| | | * | merge 8.7dgp2018-03-151-66/+43
| | | |\ \
| | | * \ \ merge 8.7dgp2018-01-181-1/+0
| | | |\ \ \
| | | * \ \ \ merge core-8-branch. Remove left-over debugging code. Test-case string-5.21 ↵jan.nijtmans2018-01-111-4/+0
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | still fails.
| | | * | | | | Add test-cases for bug [11ae2be95dac9417], and make a start fixing it. ↵jan.nijtmans2018-01-111-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost works.
| | | * | | | | Fix [8e1e31eac0fd6b6c4452bc108a98ab08c6b64588|8e1e31eac0]: lsort treats NUL ↵jan.nijtmans2017-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chars strangely
* | | | | | | | Merge trunk. Update (internal) Trim* functions to use size_tjan.nijtmans2018-04-161-4/+5
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | merge 8.7dgp2018-04-161-1/+0
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | merge 8.6dgp2018-04-071-1/+0
| | |\ \ \ \ \ \ | | | |_|_|_|/ / | | |/| | | | / | | | | |_|_|/ | | | |/| | |
| | | * | | | merge 8.5dgp2018-04-071-1/+0
| | | |\ \ \ \
| | | | * | | | Correct out-of-date documentation for [string is].dgp2018-04-071-1/+0
| | | | | | | |
* | | | | | | | Merge trunkjan.nijtmans2018-04-151-20/+27
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | merge 8.7dgp2018-03-141-2/+1
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | unused variable fixdgp2018-03-141-2/+1
| | | | | | | |
| * | | | | | | merge 8.7dgp2018-03-141-16/+7
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | New routine TclStringReplace() serves as a common implementation for bothdgp2018-03-141-16/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiled and direct eval paths of [string replace]. One routine to debug, optimize, convert to new data structures, etc. This routine will also make a good core engine for [string insert]. With this refactoring done, the value of the INST_STR_REPLACE instruction is no longer clear. Until now, the value of compiling to it was that it routed you through the "better" of the two implementations. An instruction that does nothing different from what invocation to the direct eval fallback would do does not have obvious value.
| * | | | | | | merge 8.7dgp2018-03-141-2/+1
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | cherry pick the desirable part of the merge.dgp2018-03-141-2/+1
| | | | | | | |
| | * | | | | | backout the latest mergedgp2018-03-141-1/+2
| | | | | | | |
| | * | | | | | merge 8.6dgp2018-03-141-2/+1
| | |\ \ \ \ \ \ | | | |/ / / / /
| | | * | | | | merge 8.5dgp2018-03-141-2/+1
| | | |\ \ \ \ \ | | | | |/ / / /
| | | | * | | | Make TclTrim* routines robust against some malformation in inputs.dgp2018-03-141-2/+1
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | Better than access violations and panics!
| | | | | * | | | remove unexpected panic by TclTrimLeft/TclTrimRight, handling rewritten:sebres2018-03-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - instead of check the NTS-byte after string (may cause segfault by access violation if out of range), it checks now the end-character is well-formed utf8-sequence; - both work well now on non-NTS strings (without null character at end); - additionally fixed wrong offsets (trim-length if last char malformed in case of out of range); new function TclTrim introduced (as combination of TclTrimLeft/TclTrimRight).
| * | | | | | | | merge 8.7dgp2018-03-131-8/+13
| |\ \ \ \ \ \ \ \ | | |/ / / / / / /
| | * | | | | | | merge 8.6dgp2018-03-131-8/+13
| | |\ \ \ \ \ \ \ | | | |/ / / / / /
| | | * | | | | | Merge new test and comments from 8.5 to demo that INST_STR_REPLACE is bad.dgp2018-03-131-8/+13
| | | |\ \ \ \ \ \ | | | | |/ / / / /
| | | | * | | | | Tidy up and comment [string replace] and its corner cases.dgp2018-03-131-8/+21
| | | | |/ / / /
| | | | * | | | Eliminate a few gcc compiler warnings, when using -Wwrite-strings (tested ↵jan.nijtmans2015-10-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the brand-new gcc 5.2.0)
| * | | | | | | merge 8.7dgp2018-03-121-11/+24
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | merge 8.6dgp2018-03-121-11/+24
| | |\ \ \ \ \ \ | | | |/ / / / /
| | | * | | | | It is confusingly stupid to use variable "length" to hold an actual lengthdgp2018-03-121-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | in part of a routine, and hold an end index value later.
* | | | | | | | merge trunkjan.nijtmans2018-02-221-4/+2
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Use internalRep.wideValue as internal representation for booleans. This ↵jan.nijtmans2018-02-151-4/+2
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | simplifies the handling of "int" resp "boolean", sharing its internal representation.
| | * | | | | | Distingish between boolean and int when checking whether a boolean is true ↵jan.nijtmans2018-02-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or not: The internal representation might be either long or wideInt.
* | | | | | | | merge trunkjan.nijtmans2018-02-061-41/+11
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | merge core-8-branchjan.nijtmans2018-02-061-41/+11
| |\ \ \ \ \ \ \ | | |/ / / / / /
| | * | | | | | TIP 484: Merge 'int' and 'wideInt' Obj-type to a single 'int'dgp2018-02-061-7/+1
| | |\ \ \ \ \ \
| | | * | | | | | Rename (internal) TclNewWideObj macro to TclNewIntObj. Change ↵jan.nijtmans2018-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tcl_SetIntObj/Tcl_SetLongObj to macro's referencing Tcl_SetWideIntObj (since all of those do the same now)