| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
* generic/tclCkalloc.c: call stacks for memory allocation to
* generic/tclParse.c: guarantee that any size values computed
* generic/tclThreadAlloc.c: are within the domains of the routines
they get passed to. [Bugs 2557696 and 2557796].
|
|
|
|
|
| |
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.
|
|
|
|
| |
* tests/fileName.test: matches something like ~foo. [Bug 2837800]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TclArgumentBCRelease, TclArgumentGet):
* generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode,
TclInitCompileEnv, TclCompileScript):
* generic/tclCompile.h (ExtCmdLoc):
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclInt.h (ExtIndex, CFWordBC):
* tests/info.test (info-39.0):
Backport of some changes made to the Tcl head, to handle literal
sharing better. The code here is much simpler (trimmed down)
compared to the head as the 8.4 branch is not bytecode compiling
whole files, and doesn't compile eval'd code either.
Reworked the handling of literal command arguments in bytecode to
be saved (compiler) and used (execution) per command (See the
TCL_INVOKE_STK* instructions), and not per the whole bytecode.
This removes the problems with location data caused by literal
sharing in proc bodies. Simplified the associated datastructures
(ExtIndex is gone, as is the function EnterCmdWordIndex).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclProc.c: when compiling a proc survives too long. We
* tests/execute.test: only need it there long enough for the right
TclInitCompileEnv() call to re-stash it into envPtr->procPtr. Once
that is done, the CompileEnv controls. If we let the value of
iPtr->compiledProcPtr linger, though, then any other bytecode compile
operation that takes place will also have its CompileEnv initialized
with it, and that's not correct. The value is meant to control the
compile of the proc body only, not other compile tasks that happen
along. Thanks to Carlos Tasada for discovering and reporting the
problem. [Bug 2802881].
|
|
|
|
| |
"late exit handlers" for similar late process-wide cleanups.
|
|
|
|
| |
signed/unsigned mismatch breaking win32 symbol/debug build.
|
| |
|
|
|
|
| |
to set stringPtr->allocated to 0, leading to crashes.
|
|
|
|
| |
[Bug 2494093] and [Bug 2553906].
|
|
|
|
|
|
|
| |
* generic/tclTestObj.c: accesses when we append (some part of)
* tests/stringObj.test: a Tcl_Obj to itself. Added the
appendself and appendself2 subcommands to the [teststringobj] testing
command and added tests to the test suite. [Bug 2603158]
|
|
|
|
|
| |
* tests/stringObj.test: Tcl_AppendStringsToObj() no longer
crashes when operating on a pure unicode value. [Bug 2597185]
|
|
|
|
| |
the max length of a Tcl value. [Bug 2669109]
|
|
|
|
|
|
| |
* tests/fileName.test: that assumed (not "absolute" => "relative").
This is a false assumption on Windows, where "volumerelative" is
another possibility. [Bug 2571597].
|
|
|
|
| |
panic macro and panic() function declaration in <mach/mach.h> header.
|
|
|
|
|
| |
AppendUtfToUtfRep routine to either avoid invalid arguments and
crashes, or to replace them with controlled panics. [Bug 2561794]
|
|
|
|
|
| |
Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
factored out common code to reduce duplication.
|
|
|
|
|
| |
memory allocation requests to the sizes that can be supported by
Tcl's memory allocation routines. [Bug 2494093].
|
|
|
|
|
| |
required to get correct results out of things like
STRING_UALLOC(num + append). [Bug 2494093].
|
|
|
|
|
| |
flag value TCLPATH_NEEDNORM to mark those intreps which need more
complete normalization attention for correct results. [Bug 2385549]
|
|
|
|
|
|
|
| |
Tcl_FSMatchInDirectory() calls did not have its return code
checked. Some VFS drivers can return TCL_ERROR, and when that's
not checked, the error message gets converted into a list of
matching files returned by [glob], with ridiculous results.
|
|
|
|
| |
something that doesn't crash the test suite.
|
|
|
|
|
|
| |
Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite
looping during finalization of channels not bound to
interpreters.
|
| |
|
|
|
|
|
| |
build system already has it, and it confuses builds when used with
private headers installed.
|
|
|
|
|
| |
* generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does
_not_ require a platform with DTrace).
|
|
|
|
|
| |
* tests/fileName.test: option to [glob]. [Bug 1750300]
Thanks to Matthias Kraft and George Peter Staplin.
|
|
|
|
|
|
| |
* tests/proc.test: by procbody::test::proc. See [Bug 2043636].
Added a test case demonstrating the leak before the fix. Fixed a
few spelling errors in test descriptions as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
word index when deleting an interpreter (DeleteInterpProc). Added
missing ref count when creating an empty string as path (EvalEx).
* generic/tclCompile.c (TclInitCompileEnv): Made same change to
control flow as in TclEvalObjEx. Not needed while uplevel and
siblings go through the eval-direct code path, however if that
changes (like it did in 8.5+) better to have this in place instead
of re-searching why certain places are without absolute locations.
* tests/info.test: Added tests 38.*, exactly testing the tracking
of location for uplevel scripts, and made the testsuite fully
usable with and without -singleproc 1.
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdIL.c: immediately, without search. Reworked setup
* generic/tclCompile.c: of eoFramePtr, doesn't need the line
* tests/info.test: information, more sensible to have everything
on line 1 when eval'ing a pure list. Updated the users of the line
information to special case this based on the frame type (i.e.
TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new
behaviour.
|
| |
|
| |
|
|
|
|
| |
* generic/tclCompile.h: static.
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c: for #280 to fix the abysmal performance
* generic/tclCompile.h: for deep recursion, replaced the linear
* generic/tclExecute.c: search through the whole stack with
* generic/tclInt.h: another hashtable and simplified the data
structure used by the compiler (array instead of hashtable).
Incidentially this also fixes the memory leak reported via [Bug
2024937].
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c: frame), added the ability to track the
* generic/tclCompCmds.c: absolute location of literal procedure
* generic/tclCompile.c: arguments, and making this information
* generic/tclCompile.h: available to uplevel, eval, and
* generic/tclInterp.c: siblings. This allows proper tracking of
* generic/tclInt.h: absolute location through custom (Tcl-coded)
* generic/tclNamesp.c: control structures based on uplevel, etc.
* generic/tclProc.c:
|
|
|
|
| |
the interp result found by Don Porter.
|
|
|
|
| |
sequences. See [Bug 1908443] for details.
|
|
|
|
| |
Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
|
| |
|
|
|
|
|
|
|
| |
operating on the "Special path" variant of the "path" Tcl_ObjType
intrep. A full normalization was getting done, in particular, coercing
relative paths to absolute, contrary to what the function of
producing the "translated path" is supposed to do. [Bug 1972879].
|
|
|
|
|
| |
functions named eq(...) or ne(...). Any attempts to use such
functions were panicking. [Bug 1971879].
|
|
|
|
|
|
|
|
|
| |
* tests/info.test: head branch :: Moved the code looking up the
information for key 'proc' out of the TCL_LOCATION_BC branch to
after the switch, this is common to all frame types. Updated the
testsuite to match. This was exposed by the 2008-06-08 commit
(Miguel), switching uplevel from direct eval to compilation. Fixes
[Bug 1987851].
|
|
|
|
|
|
| |
feature. Added checks to validate HashEntry and HashTable
information gotten from Command structures. This seems to be
needed to handle structures managed by Itcl.
|
|
|
|
|
|
|
|
|
|
|
| |
Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the
[Bug 1965787]. 'tell' now works for locations > 2 GB as well
instead of going negative.
* generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by
* tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net>
to fix the [Bug 1969953]. Buffersize outside of the supported
range are now clipped to nearest boundary instead of ignored.
|
|
|
|
|
| |
to delete the async handler (common trap). As, only the one
that created the handler is allowed to delete it.
|