summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate the internal macro/function TclNewIntObj: In all cases ↵jan.nijtmans2016-12-231-1/+1
| | | | TclNewLongObj is just as good.
* Route all [string repeat] operations through a common implementation.dgp2016-11-301-61/+4
| | | | | Code that to preserve bytearrays, eliminate unnecessary string rep generation, increase efficiency, and encapsulate access to internal rep details.
* typosjan.nijtmans2016-11-241-1/+1
|
* Route all [string last] operations through a common implementation.dgp2016-11-081-56/+11
|
* Implement direct eval [string first] with the refactored engine.dgp2016-11-071-69/+9
|
* WIPdgp2016-10-281-1/+2
|
* Start bringing all `string cat` operations into one place so it can be codeddgp2016-10-271-9/+8
| | | correctly one time instead of badly multiple times.
* Use memcmp where possible.dgp2016-10-181-2/+2
|
* Update [string map] tests to get illustration of need for pure dictdgp2016-10-071-1/+1
| | | restriction up to date with ordered dicts.
* Simplify all the Tcl_NRPostProc declarations.dgp2016-07-061-8/+4
|
* Align comment. Remove some end-of-line spacing. No functional changes.jan.nijtmans2015-09-281-2/+2
|\
| * Fix more corner-cases like ↵jan.nijtmans2014-05-011-6/+6
| | | | | | | | [0e92c404f19ede5b2eb06e6db27647d3138cc56|0e92c404f1]: The only place where a type of &tclByteArrayType can be trusted is when determining its length, because the character length of a (UTF-8) string is always equal to the byte length of the byte array.
| * Better (safer) fix for [0e92c404f1]jan.nijtmans2014-04-301-1/+1
| |
* | More optimized non-BC [string cat] using Tcl_AppendObjToObj() - thx Donalferrieux2014-08-051-31/+14
| |
* | TIP 429 Implementation: [string cat]ferrieux2014-08-021-0/+71
| |
* | [f0f876c141] Improve consistency in error messages.dkf2014-06-171-7/+9
| |
* | add compilation of [string is]dkf2014-02-021-1/+1
|\ \
| * \ merge main working branchdkf2014-01-021-34/+1
| |\ \
| * \ \ merge main working branchdkf2013-12-301-16/+19
| |\ \ \
| * \ \ \ merge main dev branchdkf2012-11-051-5/+28
| |\ \ \ \
| * | | | | Work on compilation of [string is].dkf2012-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | | | Make DEFAULT_TRIM_SET a MODULE_SCOPE string constant, so its value can be ↵jan.nijtmans2014-01-081-6/+39
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | shared in tclCmdMZ.o and TclCompCmdsSZ.o and it no longer pollutes the tclStringTrim.h header file.
* | | | | Factor out the definition of the default string trim set; define it once only.dkf2013-12-301-34/+1
| |_|/ / |/| | |
* | | | simple compilation of [string replace]dkf2013-12-121-1/+1
| | | |
* | | | Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-3/+3
| | | | | | | | | | | | | | | | the no-indices case; that's the only case anyone actually commonly uses.
* | | | First attempt at [string trim] compilation.dkf2013-09-301-3/+5
| | | |
* | | | [3613609]: Replace strcasecmp() with UTF-8-aware version.dkf2013-05-221-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | Proposed solution for 3613609: lsort -nocase does not sort non-ASCII correctlyjan.nijtmans2013-05-211-1/+1
| | | |
* | | | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-2/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | macros using Tcl_NewIntObj, Tcl_DbNewLongObj and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it only eliminates code duplication. Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as TCL_WIDE_INT_IS_LONG
* | | | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-1/+2
| | | | | | | | | | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
* | | | Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-11/+11
| |_|/ |/| | | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* | | Added bytecode compilation of many Tcl commands, merged from development branch.dkf2012-11-051-4/+4
|\ \ \
| * | | Added compilation of [string last] and improved the compilation of [string ↵dkf2012-11-031-1/+1
| | |/ | |/| | | | | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
| * | Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-2/+2
| | |
| * | Added compilation of simplest practical case of [string map].dkf2012-10-291-1/+1
| | |
* | | Remove two characters, zero width non-joiner (U+200c) and zero width joiner ↵jan.nijtmans2012-10-161-3/+1
| | | | | | | | | | | | | | | (U+200d), which were finally left out of TIP #413
* | | and remove the two characters from string trim as welljan.nijtmans2012-10-091-2/+0
| | |
* | | tip 318 updatejan.nijtmans2012-09-231-4/+31
|/ /
* | more result generation conversiondkf2012-08-031-43/+51
| |
* | * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Correcteddkf2012-05-171-2/+6
|\ \ | |/ | | | | | | | | | | | | | | resulting indexes from -indexvar option to be usable with [string range]; this was always the intention (and is consistent with [regexp -indices] too). ***POTENTIAL INCOMPATIBILITY*** Uses of [switch -regexp -indexvar] that previously compensated for the wrong offsets (by subtracting 1 from the end indices) now do not need to do so as the value is correct.
| * * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Correcteddkf2012-05-171-2/+6
| | | | | | | | | | | | | | | | | | resulting indexes from -indexvar option to be usable with [string range]; this was always the intention (and is consistent with [regexp -indices] too). ***POTENTIAL INCOMPATIBILITY*** Uses of [switch -regexp -indexvar] that previously compensated for the wrong offsets (by subtracting 1 from the end indices) now do not need to do so as the value is correct.
| * make some more internal tables constjan.nijtmans2012-04-181-22/+22
| |\ | | | | | | a few CONST -> const changes
| * \ some formatting (*.decls)jan.nijtmans2012-04-041-1/+1
| |\ \ | | |/ | | | | | | | | | move up #undef, for macro which is conflicting with later stuff. remove some unused cygwin-related code some minor gcc warnings
| | * 3484621 Invalidate bytecode when exec traces are added/removed from compiled ↵dgp2012-02-061-1/+20
| | | | | | | | | | | | cmd.
* | | faster memleak-free implementation of [string is entier]jan.nijtmans2012-03-291-4/+42
|\ \ \
| * | | alternative TIP 395 implementation:tip_395_with_alt_namejan.nijtmans2012-01-261-2/+47
| | | | | | | | | | | | | | | | | | | | - more efficient, will not generate bignum - uses "string is integer" in stead of "string is entier" - original "string is integer" renamed to "string is int"
* | | | Implementation of TIP #395dkf2012-03-271-10/+18
|/ / /
* | | Simplify the logic of setting the TCL_REG_NOTBOL flag.dgp2012-01-231-2/+5
|\ \ \ | |/ /
| * | Simplify the logic of setting the TCL_REG_NOTBOL flag.dgp2012-01-231-2/+5
| | |
* | | Prevent buffer read overflow. Thanks to "sebres" for the report and fixjan.nijtmans2012-01-211-1/+1
|\ \ \ | |/ /