summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsSZ.c
Commit message (Collapse)AuthorAgeFilesLines
* Improve many parsing-related functions to use size_tjan.nijtmans2018-06-291-1/+1
|
* merge trunkjan.nijtmans2018-06-271-7/+7
|\
* \ Change signature of Tcl_GetRange() to use size_t. Merge trunk.jan.nijtmans2018-06-161-14/+14
|\ \ | |/
* | Merge trunkjan.nijtmans2018-04-151-131/+177
|\ \ | |/
| * merge 8.6dgp2018-03-131-95/+145
| |\
| | * Rewrite the [string replace] compiler to take advantage of the richerdgp2018-03-131-96/+145
| | | | | | | | | set of encoded index values.
| | * Merge new test and comments from 8.5 to demo that INST_STR_REPLACE is bad.dgp2018-03-131-0/+1
| | |
| * | [db36fa5122] Upgrade the index value parsing and encoding machinery. ↵dgp2018-03-101-13/+42
| |\ \ | | |/ | | | | | | Refactor many systems to make consistent use of it. Repairs many indexing errors in corner cases.
| | * Update the command compilers and bytecode execution engine to use new machinery.dgp2018-03-091-8/+8
| | |
| | * When index parsing alone tells you a [string range] is empty, just push it.dgp2018-03-071-2/+17
| | |
| | * Establish 4 symbols for categories of parsed index values:dgp2018-03-071-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TCL_INDEX_START = 0 The start index. TCL_INDEX_END = -2 The "end" index. TCL_INDEX_BEFORE = -1 All indices less than start. TCL_INDEX_AFTER = INT_MAX All indices greater than "end". Then use these symbols among callers of TclGetIndexFromToken() so that index value parsing can directly implement the callers sense of when out of range indices ought to be treated the same as start or end positions.
| | * Incorporate sebres work on the same ticket. Good stuff!dgp2018-03-071-4/+11
| | |\
| | | * try to fix [db36fa5122]: better compiled variants of several indices-related ↵sebres2018-03-061-4/+11
| | | | | | | | | | | | | | | | commands, test-cases extended
| * | | Merge 8.6jan.nijtmans2018-03-071-0/+19
| |\ \ \ | | |/ /
| | * | various bits of ranting commentarydgp2018-03-061-0/+19
| | |/
| * | merge 8.6dgp2018-03-011-62/+10
| |\ \ | | |/
| | * Refactor to eliminate duplicate routine parsing tokens as indices.dgp2018-03-011-62/+10
| | |
* | | Change Tcl_Token definition (int -> size_t). Many related code-changes.jan.nijtmans2018-01-311-4/+6
|/ /
* | Use more "size_t" in stead of "int" internall. Also eliminate a lot of ↵jan.nijtmans2016-11-161-4/+4
| | | | | | | | type-casts which are not necessary any more.
* | Fix [d4e7780ca1681cd095dbd81fe264feff75c988f7|d4e7780ca1]: "global" cmd ↵jan.nijtmans2016-09-071-3/+3
|\ \ | |/ | | | | literal sharing vs. per-interp resolvers
* | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-9/+9
|/ | | | in many places where possible.
* More places where unsigned quantities should be decared such.dgp2016-03-221-1/+1
|
* typo in comment. Eliminate unnecessary end-of-line spacing.jan.nijtmans2015-10-191-6/+6
|
* Fix failing testdgp2015-07-181-6/+6
|
* Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]Miguel Sofer2014-09-271-1/+0
| | | | | The "optimisation" in that commit assumes that the last byte in the generated bytecodes is an INST_TRY_CONVERT if it equals 64. This is an invalid assumption, it could be 64 and not be an instruction.
* Applied patch by Andreas Leitgeb so that [string cat]'s compiled bytecode ↵ferrieux2014-09-271-2/+2
| | | | optimally groups args by 255 for INSTR_STR_CONCAT1.
* merge trunkdkf2014-09-141-1/+2
|\
| * [cee90e4e88] Correct error in stack depth checking.dgp2014-09-101-0/+1
| |
| * [84af1192f5]: [regsub] compiler no longer confused by quantification handling.dkf2014-09-091-1/+1
| |
* | merge trunkdkf2014-08-301-0/+72
|\ \ | |/
| * Fix comment inaccuracy.ferrieux2014-08-051-1/+1
| |
| * More aggressive constant folding in [string cat]. Thanks AndreasK for kicking.ferrieux2014-08-051-20/+27
| |
| * Better organize [string cat] by chunks of 255 args.ferrieux2014-08-051-7/+9
| |
| * Add constant folding to [string cat]. Mixed-quote idiom is now compiled to a ↵ferrieux2014-08-051-16/+46
| | | | | | | | single push.
| * TIP 429 Implementation: [string cat]ferrieux2014-08-021-0/+33
| |
* | merge trunkdkf2014-02-031-3/+361
|\ \ | |/
| * add compilation of [string is]dkf2014-02-021-0/+313
| |\
| | * Compile [string is] with character classes in a non-awful way. Needs more ↵dkf2014-01-291-9/+90
| | | | | | | | | | | | work to make resulting bytecode disassemble nicely.
| | * merge principal development branchdkf2014-01-251-0/+45
| | |\
| | * | extend [string is] to booleansdkf2014-01-131-4/+47
| | | |
| | * | a different approachdkf2014-01-101-70/+80
| | | |
| | * | use compact formdkf2014-01-091-26/+25
| | | |
| | * | redevelop code to have more in common with the interpreted [string is] and ↵dkf2014-01-021-69/+78
| | | | | | | | | | | | | | | | to remove non-working types
| | * | merge main working branchdkf2014-01-021-31/+1
| | |\ \
| | * \ \ merge main working branchdkf2013-12-301-707/+925
| | |\ \ \
| | * \ \ \ merge main dev branchdkf2012-12-191-7/+35
| | |\ \ \ \
| | * \ \ \ \ merge main dev branchdkf2012-11-051-196/+94
| | |\ \ \ \ \
| | * | | | | | Work on compilation of [string is].dkf2012-11-021-0/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hit some problem edge cases with differences in strictness of edge cases that will force a rethink ([string is boolean] is significantly more strict than Tcl_GetBooleanFromObj).
| * | | | | | | add compilation for [nextto] and [yieldto]; fix [a90d9331bc]dkf2014-01-221-0/+45
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | |
| | * | | | | | implementation of [yieldto] in bytecodedkf2014-01-211-0/+45
| | | |_|_|_|/ | | |/| | | |