| 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.
|
|
|
|
| |
sanity check ?
|
| |
|
|
|
|
| |
(https://groups.google.com/forum/?fromgroups#!topic/comp.lang.tcl/vfpI3bc-DkQ)
|
|\
| |
| |
| | |
possibly conflicting LOCAL/OFFSET
|
| |
| |
| |
| |
| | |
Make TclFreeCompileEnv smarter about cleanup so all callers do not have to be.
Revise TclSetByteCodeFromAny() so that when hookProc raises an error, bytecode
is not generated. This was rumored to cause crashes.
|
| | |
|
| |
| |
| |
| | |
systems.
|
| | |
|
| |
| |
| |
| | |
the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
|
| |
| |
| |
| | |
ckalloc to allow MEM_DEBUG to work properly
|
|\ \
| |/ |
|
| |
| |
| | |
On cygwin, install dll's in /usr/bin, not in /usr/lib
|
| |
| |
| | |
fix compilation with -DNO_CONST
|
|\ \
| |/
| |
| |
| | |
move up #undef, for macro which is conflicting with later stuff.
remove some unused cygwin-related code
some minor gcc warnings
|
| | |
|
| | |
|
| |
| |
| |
| | |
not needed
|
|\ \
| |/
| | |
more harm than good. Purged them.
|
| |
| |
| | |
more harm than good. Purged them.
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclVar.c: make the behaviour of lappend in bytecompiled
* tests/append.test: mode consistent with direct-eval and 'append'
* tests/appendComp.test: generally. Added tests (append*-9.*)
showing the difference.
|
| |
| |
| |
| | |
Added some test cases, adapted and backported from 8.5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| | |
the max length of a Tcl value. [Bug 2669109]
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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].
|
| |
| |
| |
| | |
2008-03-07 commit. [Bug 1940433]
|
| | |
|
| |
| |
| |
| |
| |
| | |
compiling so that bytecodes invalid due to changing context or due
to the difference between expressions and scripts are not reused.
[Bug 1899164].
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclCompile.h: tracing of proc and command entry &
* generic/tclBasic.c: return, bytecode execution, object
* generic/tclExecute.c: allocation and more; with essentially
* generic/tclInt.h: zero cost when tracing is inactive;
* generic/tclObj.c: enable with --enable-dtrace configure
* generic/tclProc.c: arg (disabled by default, will only
* unix/Makefile.in: enable if DTrace is present).
* unix/configure.in: [Patch 1793984]
* macosx/Makefile: enable DTrace support.
* unix/configure: autoconf-2.13
|
| |
| |
| |
| |
| | |
* tests/foreach.test (foreach-10.1): the value list each iteration
of the loop as defense against shimmers. [Bug 1671087]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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/expr-old.test: integer values by srand() [Bug 1480509].
|
| |
| |
| |
| |
| | |
so that it doesn't break on compilers that don't assume integers
to wrap around (e.g. gcc-4.1.0).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix typo where number before rounding is
compared with smallest integer instead of
number after rounding. This fix does not
change the results of any tests.
* tests/expr.test: Add round() tests
for cases near the min and max int values.
* tests/util.test: Remove pointless
warning code about testobj command.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| | |
wide integers, [Bug 1251791].
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* 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]
|
| |
| |
| |
| | |
left behind in prior code reorganization.
|
| |
| |
| |
| | |
[Bug 761471]
|
| | |
|
| |
| |
| |
| |
| |
| | |
optimisation for concatting an empty string. This enables
replacing the idiom 'K $x [set x {}]' by '$x[set x {}]' for
fastest execution.
|
| |
| |
| |
| | |
Hemang Lavana.
|
| |
| |
| |
| |
| |
| | |
properly have tclIntType used for smaller values. This corrects
TclX bug 896727 and any other 3rd party extension that created
math functions but was not yet WIDE_INT aware in them.
|
| |
| |
| |
| |
| | |
protect all calls that may cause traces on ::errorInfo or
::errorCode to corrupt the stack [Bug 804681]
|
| |
| |
| |
| |
| |
| |
| |
| | |
added a Tcl_ResetResult(interp) at each point where the interp's
result is pushed onto the stack, to avoid keeping an extra
reference that may cause costly Tcl_Obj duplication [Bug 781585]
Detected by Franco Violi, analyzed by Peter Spjuth and Donal
Fellows.
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c: let TclExecuteObjvInternal call
TclInterpReady instead of relying on its callers to do so; fix for
the part of [Bug 495830] that is new in 8.4.
* tests/interp.test: Added tests 18.9 (knownbug) and 18.10
|