summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsGR.c
Commit message (Collapse)AuthorAgeFilesLines
* Since TCL_MAJOR_VERSION is always "8", don't check for it. Add ↵jan.nijtmans2023-06-301-27/+34
| | | | C++-compatible typecasts.
* Correct spelling errors in comments and documentation, but also non-comment pooryorick2023-04-121-4/+4
| | | corrections in history.tcl and tcltest.test.
* Fix [d554e5554e]: fix typo “defintion”jan.nijtmans2022-10-201-34/+34
|
* Tcl_NewObj() -> TclNewObj()jan.nijtmans2022-01-171-9/+10
|
* Fix [48898ab5f6a0d957]: Too few is better than not enough? (Inconsistent ↵jan.nijtmans2020-10-261-1/+1
| | | | error messages)
* Make Tcl compile warning-free using -Wshadowjan.nijtmans2020-09-281-1/+1
|
* Eliminate many "register" keywords (which do nothing with modern compilers)jan.nijtmans2020-09-141-1/+1
| | | Eliminate many unnecessary type-casts to (unsigned)
* In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-141-21/+21
| | | | | | 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.
* Merge 8.5jan.nijtmans2019-06-261-2/+2
|
* Rest of TIP 505 implementation -- mostly undoing dumb things.dgp2018-03-261-56/+4
|
* Work in progress implementing TIP 505.dgp2018-03-261-0/+1
|
* Update the command compilers and bytecode execution engine to use new machinery.dgp2018-03-091-109/+19
|
* Stop failing error ordering tests in compiled [lreplace].dgp2018-03-081-18/+31
|
* Rollback the stealth change to [lreplace a 1 1] in Tcl 8.6.6. [409ea17e37].dgp2018-03-081-203/+77
| | | Scratch rewrite of the [lreplace] compiler.
* Establish 4 symbols for categories of parsed index values:dgp2018-03-071-52/+64
| | | | | | | | | | 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.
* Rework TclGetIndexFromToken to make use of TclGetEndOffsetFromObj, anddgp2018-03-071-22/+73
| | | to lay out the index value encoding cases.
* Incorporate sebres work on the same ticket. Good stuff!dgp2018-03-071-11/+46
|\
| * try to fix [db36fa5122]: better compiled variants of several indices-related ↵sebres2018-03-061-11/+46
| | | | | | | | commands, test-cases extended
* | various bits of ranting commentarydgp2018-03-061-3/+22
|/
* Some comments info for the next folks who come wandering in.dgp2018-03-011-1/+13
|
* Refactor to eliminate duplicate routine parsing tokens as indices.dgp2018-03-011-31/+30
|
* [47ac84309b] Import of aspect's branch from his personal repository on ↵dkf2016-03-301-7/+40
| | | | chiselapp.
* [47ac84309b] Fix problems with [lreplace] compilation.dkf2016-03-271-2/+12
|
* Simple change gets most of the effect. Fails to handle backslash. anyone care?dgp2016-03-111-1/+3
|
* typo in comment. Eliminate unnecessary end-of-line spacing.jan.nijtmans2015-10-191-2/+2
|
* [a4cb3f06c4] Fix edge case handling in lreplace. Many more tests.dgp2015-06-181-1/+1
|\
| * fix for a4cb3f06c4fe - bug introduced in 32b61592465aspect2015-06-161-1/+1
| |
* | Tidier version.dkf2015-05-191-15/+1
| |
* | Don't cause string rep generation in [list <lit> <lit> ... <lit>] bytecode.dgp2015-05-191-9/+10
|/ | | Candidate for merge to trunk to simplify bytecode.
* undo erroneous change in [1fa2e32e07]aspect2015-02-191-1/+1
|
* handle [lreplace l x y ...] where y<xaspect2015-02-191-3/+4
|
* (core ticket [32b6159246]) Fix for [lreplace l x y] where y<x-1aspect2015-02-191-1/+4
|
* Use more suitable variable name pushers.dgp2014-12-231-10/+6
|
* [214cc0eb22] Restore [lappend $var] return value to the 8.6.1- behavior.dgp2014-11-051-1/+1
| | | If this is going to change, lets not do it by accident.
* Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]Miguel Sofer2014-09-271-2/+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.
* [84af1192f5]: [regsub] compiler no longer confused by quantification handling.dkf2014-09-091-3/+4
|
* [ccc2c2cc98]: lreplace edge casedkf2014-09-051-1/+13
|
* [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-181-43/+17
| | | lappend to not have quadratic performance (through better reference management).
* added compilation for [nextto]dkf2014-01-191-0/+25
|
* merge main working branchdkf2013-12-301-0/+35
|
* implement [namespace origin] in bytecodedkf2013-12-301-0/+22
|
* merge trunkdkf2013-12-231-0/+2
|\
| * remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-201-0/+2
| | | | | | | | from mig-optimize)
* | Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-1/+1
| | | | | | | | the no-indices case; that's the only case anyone actually commonly uses.
* | Stack depth calculation correction.dkf2013-10-231-0/+2
| |
* | merge trunkdkf2013-10-201-3/+24
|\ \ | |/
| * And the last bits that need fixing; the code is still less efficient than ↵dkf2013-10-201-1/+5
| | | | | | | | desired but should now not crash.
| * Fix handling of 'invokeExpanded' and start to do 'returnStk'.dkf2013-10-191-2/+2
| |
| * Do jump generation at places where INST_RETURN_IMM might occur.dkf2013-10-151-1/+17
| |
| * update commentsdkf2013-10-131-0/+1
| |