| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
to the callers. Needs more work on comments, and testing to check for any
performance impact in either direction. Fixes reported bug.
|
|
|
| |
string reps of lists to stop using the unnecessary flag BRACES_UNMATCHED.
|
|\
| |
| | |
more harm than good. Purged them.
|
| |
| |
| | |
more harm than good. Purged them.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so
* generic/tclLink.c (LinkTraceProc): that they call
* generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for
themselves, and do not rely on (frequently buggy) setting of the
TCL_INTERP_DESTROYED flag by the trace core.
* generic/tclVar.c: Update callers of CallVarTraces to not
pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that
public routines only pass documented flag values down to lower level
routines.
* generic/tclVar.c (CallVarTraces): The setting of the
TCL_INTERP_DESTROYED flag is now done entirely within the
CallVarTraces routine, the only place it can be done right.
|
| |
| |
| |
| |
| | |
* generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747]
by dgp.
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types
with simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj,
now that those routines are better behaved wrt shimmering.
[Patch 1177219]
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped
spaces were handled incorrectly.
* tests/util.test: Added new tests util-8.[2-6].
|
| |
| |
| |
| |
| | |
* generic/tclUtil.c: assume that ckfree == free, as that is not
* generic/tclResult.c: always true. [Bug 756791] (fuller)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclObj.c is defined on all platforms, even those where
* generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made
the Tcl_Value struct have a wideValue field on all platforms. This is
a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms
because that struct changes size. This is the same TIP 72
incompatibility that was seen on other platforms at the 8.4.0 release,
when this change should have happened as well. [Bug 713562]
* generic/tclInt.h: New internal macros TclGetWide() and
TclGetLongFromWide() to deal with both forms of the "wideInt"
Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code
is confined to the header file.
* generic/tclCmdAH.c: Replaced most coding that was conditional
* generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that
* generic/tclExecute.c: works across platforms, sometimes using
* generic/tclTest.c: the new macros above to do it.
* generic/tclUtil.c:
* generic/tclVar.c:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclStrToD.c:
* generic/tclUtil.c (Tcl_PrintDouble):
* tests/util.test (util-16.*): Restored full Tcl 8.4 compatibility
for the formatting of floating point numbers when $::tcl_precision
is not zero. Added compatibility tests to make sure that excess
trailing zeroes are suppressed for all eight major code paths.
[Bug 3157475]
|
| |
| |
| |
| |
| | |
inner *s that leads to poor recursive glob matching, defer to
original RE instead. tclbench RE var backtrack.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclInt.h: the Tcl Head, with help from Jeff Hobbs.
* generic/tclStrToD.c:
* generic/tclTest.c:
* generic/tclTomMath.decls:
* generic/tclUtil.c:
* tests/util.test:
* unix/Makefile.in:
* win/Makefile.in:
* win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits
that (a) fixes a severe performance problem with floating point
shimmering reported by Karl Lehenbauer, (b) allows TclDoubleDigits
to generate the digit strings for 'e' and 'f' format, so that it
can be used for tcl_precision != 0 (and possibly later for [format]),
(c) fixes [Bug 3120139] by making TclPrintDouble inherently
locale-independent, (d) adds test cases to util.test for
correct rounding in difficult cases of TclDoubleDigits where fixed-
precision results are requested. (e) adds test cases to util.test for
the controversial aspects of [Bug 3105247]. As a side effect, two
more modules from libtommath (bn_mp_set_int.c and bn_mp_init_set_int.c)
are brought into the build, since the new code uses them.
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
* generic/tclTomMathDecls.h: Regenerated.
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclStubInit.c: TclFormatInt restored at slot 24
* generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from
2005-07-05 macro-ization. Benchmarks indicate it is faster, as a
key int->string routine (e.g. int-indexed arrays).
|
| |
| |
| |
| | |
null-terminated, so account for that.
|
| |
| |
| |
| |
| | |
*exactPtr value to really fix [Bug 2065115]. Also avoid possible
DString overflow.
|
| |
| |
| |
| |
| | |
*exactPtr value to really fix [Bug 2065115].
* tests/regexpComp.test: Correct duplicate test names.
|
| | |
|
| |
| |
| |
| |
| | |
* generic/tclUtil.c (TclReToGlob): translation from exact
to anywhere-in-string match. [Bug 2065115]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclUtil.c (Tcl_ConcatObj):
* tests/util.test (util-4.7):
fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into
a hairy monster. This was exposed by [Bug 2055782]. Additionally,
Tcl_ConcatObj could corrupt its input under certain conditions!
*** NASTY BUG FIXED ***
|
| |
| |
| |
| |
| | |
* tests/regexpComp.test: star possibly being escaped in
determining right anchor. [Bug 1902436]
|
| | |
|
| |
| |
| |
| | |
when not necessary
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclIntDecls.h: to tclInt.h from stubs.
* generic/tclStubInit.c: Add flags var to TclByteArrayMatch for
* generic/tclInt.h: future extensibility
* generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch.
* doc/StrMatch.3: It is compatible with existing usage.
* generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch
* generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj):
* generic/tclRegexp.c (Tcl_RegExpExecObj):
* generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj
* tests/string.test (11.9.* 11.10.*): more tests
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
perfomance wins, which turn out to be tiny. Not worth the
complication.
|
| |
| |
| |
| | |
result if specified on error.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for
* generic/tclInt.h: Tcl_ResetResult for the "normal" case:
* generic/tclProc.c: TCL_OK, no return options, no errorCode
* generic/tclResult.c: nor errorInfo, return at normal level.
* generic/tclStubLib.c: [Patch 1830184]
* generic/tclUtil.c:
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h:
* generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully
* generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the
* tests/regexpComp.test: [Bug 1830166] simple cases. Also
added TclReToGlob function to convert RE to glob patterns and use
these in the possible cases.
|
| |
| |
| |
| | |
objTypes.
|
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch
and don't allow a nocase option. [Bug 1828296]
For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case.
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclInt.decls, generic/tclIntDecls.h: added TclByteArrayMatch
* generic/tclUtil.c (TclByteArrayMatch): for efficient glob
* generic/tclExecute.c (TclExecuteByteCode): matching of ByteArray
Tcl_Objs, used in INST_STR_MATCH. [Bug 1827996]
|
| |
| |
| |
| | |
concatenees being empty objs [Bug 1447328]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
zero strings passed as the "permissions" argument as octal numbers,
even if Tcl itself no longer parses integers in that way.
* unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so
that it interprets leading zero strings as octal numbers, even if Tcl
itself no longer parses integers in that way.
* generic/tclCompExpr.c: Corrections to code that produces
* generic/tclUtil.c: extended "bad octal" error messages.
* tests/cmdAH.test: Test revisions so that tests pass whether or
* tests/cmdIL.test: not Tcl parses leading zero strings as octal.
* tests/compExpr-old.test:
* tests/compExpr.test:
* tests/compile.test:
* tests/expr-old.test:
* tests/expr.test:
* tests/incr.test:
* tests/io.test:
* tests/lindex.test:
* tests/link.test:
* tests/mathop.test:
* tests/parseExpr.test:
* tests/set.test:
* tests/string.test:
* tests/stringComp.test:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so that
* generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted()
* generic/tclTrace.c (Trace*Proc): for themselves, and do not rely
* generic/tclUtil.c (TclPrecTraceProc): on (frequently buggy) setting
of the TCL_INTERP_DESTROYED flag by the trace core.
* generic/tclVar.c: Update callers of TclCallVarTraces to not
pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that
public routines only pass documented flag values down to lower level
routines.
* generic/tclTrace.c (TclCallVarTraces): The setting of the
TCL_INTERP_DESTROYED flag is now done entirely within the
TclCallVarTraces routine, the only place it can be done right.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclLiteral.c:
* generic/tclNamesp.c:
* generic/tclParse.c:
* generic/tclPreserve.c:
* generic/tclStringObj.c:
* generic/tclUtil.c:
|
| | |
|
| | |
|
| |
| |
| |
| | |
was doing...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompCmds.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclCompile.h:
* generic/tclExecute.c:
* generic/tclIOUtil.c:
* generic/tclInt.h:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclProc.c:
* tests/compile.test:
* tests/info.test:
* tests/platform.test:
* tests/safe.test:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tcl.decls: New public routines Tcl_ObjPrintf,
* generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format,
* generic/tclInt.h: Tcl_AppendLimitedToObj,
Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal
versions removed.
* generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclBasic.c: Updated callers.
* generic/tclCkalloc.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclIORChan.c:
* generic/tclIOUtil.c:
* generic/tclMain.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclPkg.c:
* generic/tclProc.c:
* generic/tclStrToD.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/tclUnixFCmd.c:
|