| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| | |
[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.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| |\ \ |
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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).
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | | |
shared in tclCmdMZ.o and TclCompCmdsSZ.o
and it no longer pollutes the tclStringTrim.h header file.
|
| |_|/ /
|/| | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
the no-indices case; that's the only case anyone actually commonly uses.
|
| | | | |
|
|\ \ \ \
| | |_|/
| |/| | |
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
|
| |_|/
|/| |
| | |
| | |
| | | |
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.
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | | |
range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
(U+200d),
which were finally left out of TIP #413
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | | |
a few CONST -> const changes
|
| |\ \
| | |/
| | |
| | |
| | | |
move up #undef, for macro which is conflicting with later stuff.
remove some unused cygwin-related code
some minor gcc warnings
|
| | |
| | |
| | |
| | | |
cmd.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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"
|
|/ / / |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c: with TclParseBackslash() where possible.
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclUtil.c:
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | | |
Use to replace calls to isspace() and their /* INTL */ risk.
|
| | |
| | |
| | | |
Use to replace calls to isspace() and their /* INTL */ risk.
|
| | | |
|
|\ \ \
| |/ / |
|