summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmds.c
Commit message (Collapse)AuthorAgeFilesLines
* Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All ↵jan.nijtmans2020-12-081-4/+4
| | | | C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet
* Eliminate many usages of Tcl_NewObj (-> TclNewObj) and Tcl_NewIntObj (-> ↵jan.nijtmans2020-09-171-23/+24
| | | | TclNewIntObj or Tcl_NewWideIntObj)
* Merge 8.6jan.nijtmans2020-09-101-10/+10
|\
| * Don't use sizeof() for structs containing a flexible array as last element. ↵jan.nijtmans2020-09-101-10/+10
| | | | | | | | Lesson from [https://core.tcl-lang.org/tk/info/3bc0f44ef3|3bc0f44ef3]. Use TclOffset in stead.
* | Merge 8.6jan.nijtmans2020-05-141-18/+17
|\ \ | |/
| * In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-141-36/+32
| |\ | | | | | | | | | | | | | | | 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.
| | * In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-131-6/+5
| |/ | | | | | | 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.
* | More TCL_UNUSED().dgp2020-03-061-100/+41
| |
* | Merge tip-548jan.nijtmans2019-08-291-4/+36
|\ \
* \ \ Merge tip-548jan.nijtmans2019-08-151-4/+4
|\ \ \ | |/ /
| * | Merge 8.7jan.nijtmans2019-08-141-2/+2
| |\ \
| * | | Eliminate "register" keyword _everywhere_ in Tcl. This keyword is deprecated ↵jan.nijtmans2019-07-171-15/+15
| | | | | | | | | | | | | | | | in C++ (removed in C++17, even), and essentially does nothing with most modern compilers.
* | | | Merge 8.7. Continue implementation for win32jan.nijtmans2019-08-021-2/+2
|\ \ \ \ | | |/ / | |/| |
| * | | Add some "const" keywords, in places where strings are really const.jan.nijtmans2019-07-301-2/+2
| |/ /
* | | Merge 8.7, and continue implementation. Almost donejan.nijtmans2019-07-101-27/+27
|/ /
* | Compilation for [dict getwithdefault].dkf2019-04-181-0/+32
| |
* | merge 8.6 (regression fix [e3f481f187], conflicts resolved)sebres2019-02-011-29/+33
|\ \ | |/
| * TclPushVarName: rewritten iterators over token-strings considering utf-8 ↵sebres2019-01-311-29/+33
| | | | | | | | multi-bytes.
* | merge 8.6dgp2018-04-191-3/+15
|\ \ | |/
| * Array trace firing must come before argument checking might raise error.dgp2018-04-171-3/+4
| |
| * Gentler fallback.dgp2018-04-171-2/+2
| |
| * [array set] must fire array traces. Don't disrupt that by reporting argumentdgp2018-04-171-0/+11
| | | | | | errors too early.
* | redundant end-of-line spacingjan.nijtmans2017-03-151-2/+2
|\ \ | |/
| * redundant end-of-line spacingjan.nijtmans2017-03-151-2/+2
| |
* | Compile [clock clicks], [clock microseconds], [clock milliseconds] and ↵Kevin B Kenny2017-03-151-0/+99
|\ \ | |/ | | | | [clock seconds].
| * Compile [clock clicks], [clock microseconds], [clock milliseconds] and ↵Kevin B Kenny2017-03-151-0/+99
| | | | | | | | [clock seconds].
* | merge 8.6dgp2016-10-211-11/+0
|\ \ | |/
| * EVIL HACKs are bad. Unnecessary ones are intolerable. Bad tests cause trouble.dgp2016-10-201-11/+0
| |
* | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-6/+6
|/ | | | in many places where possible.
* make some MODULE_SCOPE symbols staticjan.nijtmans2015-12-151-6/+39
|
* Issue the correct auxType when compiling [array set].dkf2015-12-121-1/+1
|
* Eliminate unnessessary end-of-line spacing. No functional change.jan.nijtmans2015-10-041-13/+13
|\
| * Eliminate unnessessary end-of-line spacing. No functional change.jan.nijtmans2015-10-041-2/+2
| |
| * One more (interp==NULL) shortcut.dgp2014-12-221-1/+1
| |
| * Revise name and interface of new utility routines to match work alreadydgp2014-12-191-38/+67
| | | | | | in place on the trunk.
| * New utility routine GetLocalScalarIndex() reduces common caller boilerplatedgp2014-12-191-54/+58
| | | | | | (and fixes a bug!)
| * Use interp==NULL argument to PushVarName to signal that only an index intodgp2014-12-191-17/+17
| | | | | | | | the CLT is sought, and no time should be wasted compiling other cases which the caller is just going to discard.
| * Replace TclIsLocalScalar() with PushVarNameWord() in [dict for] compiler.dgp2014-12-191-26/+27
| |
| * Narrow scope of numVars.dgp2014-12-191-1/+2
| |
| * A bit more tidying...dgp2014-12-181-6/+4
| |
| * No need for a loopIndex.dgp2014-12-181-7/+4
| |
| * No need for varvList any more.dgp2014-12-181-25/+2
| |
| * Fix up the token array passed to PushVarNameWord. Remove string list parse.dgp2014-12-181-33/+6
| |
| * Replace use of TclIsLocalScalar() and late setting of varIndexes with andgp2014-12-181-15/+29
| | | | | | earlier setting of varIndexes using PushVarNameWord().
| * Simplify creation and storage of temporariesdgp2014-12-181-17/+7
| |
| * With that shift, varcList is no longer needed.dgp2014-12-181-7/+1
| |
| * Shift the allocation of AuxData earlier in the [foreach] compiler.dgp2014-12-181-16/+25
| |
| * Similar conversion of the [dict append] compiler.dgp2014-12-111-16/+9
| |
| * Similar conversion for [dict update] compiler.dgp2014-12-111-30/+15
| |
| * Similar revisions to [dict incr] compiler.dgp2014-12-111-38/+22
| |