| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
| |
| |
| | |
creating our own in [regexp] and [regsub].
|
| |
| |
| | |
rest of Tcl source code. No ABI change. API change *should* be harmless.
|
| |
| |
| | |
the Engineering Manual.
|
|\ \
| |/
| | |
cause more harm than good. Purged them (except in zlib files).
|
| |\
| | |
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | | |
more harm than good. Purged them.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
recursive parsing calls to convert O(N^2) operations of [subst]
to O(N).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations,
TclEvalObjEx):
* generic/tclCmdMZ.c (Tcl_SwitchObjCmd, ListLines):
* generic/tclCompCmds.c (*):
* generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv,
TclFreeCompileEnv, TclCompileScript):
* generic/tclCompile.h (CompileEnv):
* generic/tclInt.h (ContLineLoc, Interp):
* generic/tclObj.c (ThreadSpecificData, ContLineLocFree,
TclThreadFinalizeObjects, TclInitObjSubsystem,
TclContinuationsEnter, TclContinuationsEnterDerived,
TclContinuationsCopy, TclContinuationsGet, TclFreeObj):
* generic/tclProc.c (TclCreateProc):
* generic/tclVar.c (TclPtrSetVar):
* tests/info.test (info-30.0-22):
Extended parser, compiler, and execution with code and attendant
data structures tracking the positions of continuation lines which
are not visible in script's, to properly account for them while
counting lines for #280, during direct and compiled execution.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclTest.c: TclCheckInterpTraces that led to infinite loop
* tests/basic.test: when multiple Tcl_CreateTrace traces were set and
one of them did not fire due to level restrictions. [Bug 1743931].
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
TCL_TIP280.
* 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:
|
| | |
| | |
| | |
| | | |
* tests/trace.test: and enterstep traces. [Bug 1458266]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c (TraceCommandProc):
* generic/tclInt.h (NS_KILLED):
* generic/tclNamesp.c (Tcl_DeleteNamespace
* tests/namespace.test (namespace-7.3-6):
* tests/trace.test (trace-20.13-16): fix [Bugs 1355942/1355342].
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
assumption that all command traces are set at the script level.
Report/fix from Jacques H. de Villiers. [Bug 1337941]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fix. Insure that a second call with TCL_TRACE_DESTROYED does not
lead to a second call to Tcl_EventuallyFree(). It is still true
that that second call should not happen, so the bug is not
completely fixed.
* tests/trace.test (test-18.3-4): added tests for bugs #1337229
and 1338280.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclBinary.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclExecute.c:
* generic/tclLink.c:
* generic/tclMain.c:
* generic/tclProc.c:
* generic/tclScan.c:
* generic/tclTest.c:
* generic/tclVar.c:
* mac/tclMacInit.c:
* unix/tclUnixInit.c:
* win/tclWinInit.c: Insure that the core never calls TclPtrSetVar,
Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref
new value. It is not possible to handle error returns correctly in
that case [Bug 1334947], one has the choice of leaking the object
in some cases, or else risk crashing in some others.
|
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c: of the direction of trace scanning, so the
* generic/tclInt.h: proper correction can be made. [Bug 1224585]
* tests/trace.test (trace-34.2,3):
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
count > 1 to return a string with a float value instead of a rounded
off integer. [Bug 1202178]
|
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to
prevent possible UMR in unichar cmp function for string map.
|
| | |
| | |
| | |
| | | |
* tests/string.test: [string is boolean] [Bug 1187123]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c (Tcl_SubstObj):
* tests/basic.test (basic-46.4): Restored recursion limit
* tests/parse.test (parse-19.*): testing in nested command
substitutions within direct script evaluation (Tcl_EvalEx)
that got lost in the parser reforms of Tcl 8.1. Added tests for
correct behavior. [Bug 1115904]
|
| | |
| | |
| | |
| | |
| | | |
cast of ClientData to (TraceCommandInfo *) when not warranted.
Thanks to Yuri Victorovich for the report. [Bug 1153871]
|
| | |
| | |
| | |
| | |
| | |
| | | |
* tests/trace.test (trace-33.1): to permit a variable trace
created with [trace variable] to be destroyed with [trace remove].
Thanks to Keith Vetter for the report.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclTest.c (TestcmdtraceCmd): implementation introduced a
* tests/basic.test (basic-39.10): bug by testing the CallFrame
level instead of the iPtr->numLevels level when deciding what traces
created by Tcl_Create(Obj)Trace to call. Added test to expose the
error, and made fix. [Request 462580]
|
| | |
| | |
| | |
| | | |
(TclTraceCommandObjCmd): fix possible mem leak in trace info.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c: and execution traces that caused access to
freed memory in trace-32.1. [Bug 811483].
|
| | |
| | |
| | |
| | |
| | |
| | | |
* tests/trace.test (trace-31,32.*): the introspection results
of both [trace info command] and [trace info execution] were getting
co-mingled. Thanks to Mark Saye for the report.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
crash when overflow sizes were given (throws error). [Bug #714106]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
inconsistent results of [string is integer] observed on systems
where sizeof(long) != sizeof(int). [Bug 718878]
* tests/string.test: Added tests for Bug 718878.
* doc/string.n: Clarified that [string is integer] accepts
32-bit integers.
|
| | |
| | |
| | |
| | | |
Tcl_DiscardResult() call to avoid memory leak.
|
| | |
| | |
| | |
| | |
| | | |
* tests/subst.test (subst-2.4): Tcl_SubstObj's incorrect
halting of substitution at the first \x00 byte. [Bug 685106]
|
| | |
| | |
| | |
| | | |
Backport of updates to make handling of RE line anchors correct.
|
| | |
| | |
| | |
| | |
| | | |
jnterface implicitly decrements refcount of the passed result object
when the passed result object refcount was already zero.
|
| | | |
|