summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
Commit message (Collapse)AuthorAgeFilesLines
* merge trunkjan.nijtmans2014-02-031-1/+1
|\
| * 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).
* | | | | | merge trunkjan.nijtmans2014-01-231-38/+40
|\ \ \ \ \ \ | |/ / / / /
| * | | | | 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
| | | |
* | | | restore all #ifdef TCL_WIDE_INT_IS_LONG, which were accidently removed in ↵jan.nijtmans2013-08-141-0/+4
| | | | | | | | | | | | | | | | [19ff9b95e1]
* | | | merge trunkjan.nijtmans2013-05-281-1/+1
|\ \ \ \ | |/ / /
| * | | [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
| | | | |
* | | | | Change Tcl_UtfNcmp and friend's signature to use size_t in stead of unsigned ↵jan.nijtmans2013-05-061-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | long. This is potentially binary incompatible on win64, but not on any other platform. It eliminates the need for special stub-wrappers on Cygwin64 for those functions. "novem" doesn't promise binary compatibility anyway.
* | | | | merge trunkjan.nijtmans2013-05-061-4/+0
|\ \ \ \ \ | |/ / / /
* | | | | Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as ↵jan.nijtmans2013-04-231-2/+2
|\ \ \ \ \ | |/ / / / | | | | | | | | | | TCL_WIDE_INT_IS_LONG
| * | | | 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
* | | | | Merge trunk. jan.nijtmans2013-02-111-19/+19
|\ \ \ \ \ | |/ / / / | | | | | Various Tcl_NewIntObj/Tcl_NewBooleanObj -> Tcl_NewLongObj modifications
* | | | | Merge trunk. jan.nijtmans2013-02-081-1/+1
|\ \ \ \ \ | |/ / / / | | | | | | | | | | Eliminate all usage of internal macros: TclNewIntObj, TclNewBooleanObj, TclSetIntObj, TclSetBooleanObj. Change various function to macros: Tcl_NewIntObj, Tcl_SetIntObj, Tcl_NewBooleanObj, Tcl_DbNewBooleanObj, Tcl_SetBooleanObj, Tcl_AddErrorInfo, Tcl_AddObjErrorInfo.
* | | | | merge trunkjan.nijtmans2013-02-041-1/+2
|\ \ \ \ \ | |/ / / /
| * | | | 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.
* | | | | Convert Tcl_GetIndexFromObj implementation to macrojan.nijtmans2013-01-241-16/+16
|/ / / /
* | | | 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
|\ \ \ | |/ /
| * | Prevent buffer read overflow. Thanks to "sebres" for the report and fix.jan.nijtmans2012-01-211-1/+1
| |\ \ | | |/
| | * 3475667 Prevent buffer read overflow. Thanks to "sebres" for the report and fix.dgp2012-01-191-1/+1
| | |
| | * * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-1/+1
| | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c: with TclParseBackslash() where possible. * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclUtil.c:
* | | Revised TclFindElement() interface.dgp2011-05-021-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final argument had been bracePtr, the address of a boolean var, where the caller can be told whether or not the parsed list element was enclosed in braces. In practice, no callers really care about that. What the callers really want to know is whether the list element value exists as a literal substring of the string being parsed, or whether a call to TclCopyAndCollpase() is needed to produce the list element value. Now the final argument is changed to do what callers actually need. This is a better fit for the calls in tclParse.c, where now a good deal of post-processing checking for "naked backslashes" is no longer necessary. ***POTENTIAL INCOMPATIBILITY*** For any callers calling in via the internal stubs table who really do use the final argument explicitly to check for the enclosing brace scenario. Simply looking for the braces where they must be is the revision available to those callers, and it will backport cleanly. Tests for expanded literals quoting detection.
| * | Revised TclFindElement() interface.dgp2011-05-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final argument had been bracePtr, the address of a boolean var, where the caller can be told whether or not the parsed list element was enclosed in braces. In practice, no callers really care about that. What the callers really want to know is whether the list element value exists as a literal substring of the string being parsed, or whether a call to TclCopyAndCollpase() is needed to produce the list element value. Now the final argument is changed to do what callers actually need. This is a better fit for the calls in tclParse.c, where now a good deal of post-processing checking for "naked backslashes" is no longer necessary. ***POTENTIAL INCOMPATIBILITY*** For any callers calling in via the internal stubs table who really do use the final argument explicitly to check for the enclosing brace scenario. Simply looking for the braces where they must be is the revision available to those callers, and it will backport cleanly.