| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_SubstObj):
* generic/tclCompCmds.c (TclCompileSwitchCmd):
* generic/tclCompExpr.c (CompileSubExpr):
* generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript,
TclCompileTokens,TclCompileCmdWord):
* generic/tclCompile.h (TclCompileScript):
* generic/tclExecute.c (TclCompEvalObj):
* generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens):
* generic/tclParse.c (ParseTokens,Tcl_SubstObj,TclSubstTokens):
* tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5):
Substantial refactoring of Tcl_SubstObj to make use of the same
parsing and substitution procedures as normal script evaluation.
Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens()
created in tclParse.c which implements all substantial functioning
of Tcl_EvalTokensStandard(). TclCompileScript() loses its
"nested" argument, the Tcl_Interp struct loses its termOffset
field and the TCL_BRACKET_TERM flag in the evalFlags field, all
of which were only used (indirectly) by Tcl_SubstObj(). Tests
subst-8.7,8.8,11.4,11.5 modified to accomodate the only behavior
change: reporting of parse errors now takes precedence over
[return] and [continue] exceptions. All other behavior should
|
|
|
|
|
|
|
|
|
| |
variable "range" [Bug 664743]
* generic/tclExecute.c (ExprSrandFunc): remove unused
variable "result" [Bug 664743]
* generic/tclStringObj.c (UpdateStringOfString): remove unused
variable "length" [Bug 664751]
* tests/execute.test (execute-7.30): fix for [Bug 664775]
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH):
* generic/tclUtf.c (TclUniCharMatch):
* generic/tclInt.decls: add private TclUniCharMatch function that
* generic/tclIntDecls.h: does string match on counted unicode
* generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the
* tests/string.test: failing that it can't handle strings or
* tests/stringComp.test: patterns with embedded NULLs. Added
tests that actually try strings/pats with NULLs. TclUniCharMatch
should be TIPed and made public in the next minor version rev.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
error is encountered reading the increment value during
a compiled call to incr, add a "(reading increment)"
error string to the errorInfo variable. This makes
the errorInfo variable set by the compiled incr command
match the value set by the non-compiled version.
* tests/incr-old.test: Change errorInfo result for
the compiled incr command case to match the modified
implementation.
* tests/incr.test: Add tests to make sure the compiled
and non-compiled errorInfo messages are the same.
|
|
|
|
| |
for greater clarity of code.
|
|
|
|
|
| |
to use memcmp in the one-byte/char case, also use direct index for
INST_STR_INDEX in that case.
|
| |
|
|
|
|
| |
passed on linux/i386, compile-13.1 hung on linux/alpha.
|
| |
|
| |
|
|
|
|
| |
to the macro NEXT_INST_V(x, 0, 1) [Bug 587495].
|
|
|
|
|
| |
* tests/expr-old.test: fix for erroneous error messages in [expr],
[Bug 587140] reported by Martin Lemburg.
|
|
|
|
| |
functionality.
|
|
|
|
|
|
| |
while I repair tcl_traceExec. The core now compiles and runs
also under TCL_COMPILE_DEBUG, but execution in the bytecode
engine can still not be traced.
|
|
|
|
| |
Also produce better error messages when this happens.
|
|
|
|
| |
have file-scope.
|
| |
|
| |
|
|
|
|
| |
results in (Tcl_AddObjErrorInfo) and (TclUpdateReturnInfo)
|
| |
|
|
|
|
| |
logic for compilation/recompilation.
|
| |
|
|
|
|
| |
comments; re-indentation.
|
|
|
|
|
|
| |
non-immediate INST_INCR instructions; elimination of 103 (!)
TclDecrRefCount macros. The different instructions now jump back to a
common "DecrRefCount zone" at the topof the loop.
|
|
|
|
| |
for tcl-stack corruption.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/trace.n: execution tracing [FR #462580] (lavana).
* generic/tcl.h: This includes enter/leave tracing as well
* generic/tclBasic.c: as inter-procedure stepping.
* generic/tclCmdMZ.c:
* generic/tclCompile.c:
* generic/tclExecute.c:
* generic/tclInt.decls:
* generic/tclInt.h:
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
* generic/tclVar.c:
* tests/trace.test:
|
| |
|
|
|
|
| |
and commands (INST_INVOKE); faster check for the existence of a catch.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
INST_EVAL, INST_BREAK and INST_CONTINUE.
|
|
|
|
|
| |
code. Added the new (but pre-existent in tcl.h) possible flag bit
TCL_TRACE_READS to Tcl_(Obj)?SetVar.*
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
TclMathInProgress and Unix implementation of matherr(). These
are now obsolete, dealing with very old versions of the C math
library. Windows version is retained in case Borland compilers
require it, but it is inactive. Thanks to Joe English.
[Bug 474335, Patch 555635].
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for
choosing the Tcl_UniCharNcmp compare to when both objs are of
StringType, as benchmarks show that is the optimal check (both
bigendian and littleendian systems).
|
|
|
|
|
| |
probably optimized far in excess of anything we could do! Little-endian
just use the old code...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
* generic/tclUtf.c: added TclpUtfNcmp2 private command that
mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This
provides a faster alternative for comparing utf strings internally.
(Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end
of string check as it wasn't correct for the function (by doc and
logic).
* generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal
comparison code to use TclpUtfNcmp2 as well as short-circuit for
equal objects or unequal length strings in the equal case.
Removed the use of goto and streamlined the other parts.
* generic/tclExecute.c (TclExecuteByteCode): added check for
object equality in the comparison instructions. Added
short-circuit for != length strings in INST_EQ, INST_NEQ and
INST_STR_CMP. Reworked INST_STR_CMP to use TclpUtfNcmp2 where
appropriate, and only use Tcl_UniCharNcmp when at least one of the
objects is a Unicode obj with no utf bytes.
|
|
|
|
| |
"floating-point value" in [expr] error messages.
|
|
|
|
| |
otherwise non-catchable. [Bug 542588]
|
|
|
|
|
| |
having influence over the wrong scope of Tcl_*Eval* calls. Patch
from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181]
|
|
|
|
|
| |
runLevel 0 [Bug 533758]. Removed the static RecordTracebackInfo(), as
its functionality is easily replicated by Tcl_LogCommandInfo.
|
| |
|
|
|
|
|
|
|
| |
* tclIOGT.c:
* tclIndexObj.c: Touchups to the TIP 72 patch to make it
compileable under Windows again. The changes are not complete,
there is one nasty regarding _stati64
|
|
|
|
|
| |
This version builds clean on Solaris/SPARC, with GCC and CC, both with and
without threads and both in 32-bit and 64-bit mode.
|
|
|
|
| |
possibly dangerous decr in macro call.
|