| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* 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]
|
|
|
|
| |
deleting a command that had trace on it. [Bug #693564] (sofer)
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar.
Also added a special case for single-ascii-char splits.
(Tcl_StringObjCmd): Use TclUtfToUniChar.
For STR_RANGE, support getting ranges of ByteArrays (reverts
change from 2000-05-26).
(TraceExecutionProc) add proper static declaration.
|
| |
|
|
|
|
|
| |
* generic/tclCmdMZ.c: fix for freed memory r/w in delete traces
[Bug 589863], patch by Hemang Lavana.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/Concat.3: all remaining public interfaces of Tcl.
* doc/CrtCommand.3: Notably, the parser no longer writes on
* doc/CrtSlave.3: the string it is parsing, so it is no
* doc/CrtTrace.3: longer necessary for Tcl_Eval() to be
* doc/Eval.3: given a writable string. Also, the
* doc/ExprLong.3: refactoring of the Tcl_*Var* routines
* doc/LinkVar.3: by Miguel Sofer is included, so that the
* doc/ParseCmd.3: "part1" argument for them no longer needs
* doc/SetVar.3: to be writable either.
* doc/TraceVar.3:
* doc/UpVar.3: Compatibility support has been enhanced so
* generic/tcl.decls that a #define of USE_NON_CONST will remove
* generic/tcl.h all possible source incompatibilities with
* generic/tclBasic.c the 8.3 version of the header file(s).
* generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does
* generic/tclCompCmds.c what USE_NON_CONST used to do -- disable
* generic/tclCompExpr.c only those new CONST's that introduce
* generic/tclCompile.c irreconcilable incompatibilities.
* generic/tclCompile.h
* generic/tclDecls.h Several bugs are also fixed by this patch.
* generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429]
* generic/tclEvent.c
* generic/tclInt.decls
* generic/tclInt.h
* generic/tclIntDecls.h
* generic/tclInterp.c
* generic/tclLink.c
* generic/tclObj.c
* generic/tclParse.c
* generic/tclParseExpr.c
* generic/tclProc.c
* generic/tclTest.c
* generic/tclUtf.c
* generic/tclUtil.c
* generic/tclVar.c
* mac/tclMacTest.c
* tests/expr-old.test
* tests/parseExpr.test
* unix/tclUnixTest.c
* unix/tclXtTest.c
* win/tclWinTest.c
|
|
|
|
|
| |
as the Tcl_ObjSetVar2 may cause the result to change.
[Patch #558324] (watson)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
| |
TCL_BREAK and TCL_CONTINUE returned by variable substitution
have the same effect as when those codes are returned by command
substitution. [Bug 536879]
|
|
|
|
|
|
|
|
|
| |
(TraceCommandProc, TclTraceCommandObjCmd): corrected
potential double-free of traces on variables by flagging in
Trace*Proc that it will free the var in case the eval wants to
delete the var trace as well. [Bug #536937]
Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 and Tcl_Eval to
Tcl_EvalEx in Trace*Proc for slight efficiency improvement.
|
|
|
|
| |
to TIP 27. In particular, the "part2" arguments were CONSTified.
|
|
|
|
|
| |
structure was also deleted when a command was deleted to prevent a
mem leak.
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
restored to return (char *): Tcl_DStringAppend,
Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also
restored Tcl_WinUtfToTChar to return (TCHAR *) and
Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified
some callers. This change recognizes that Tcl_DStrings are
de-facto white-box objects.
* generic/tclCmdMZ.c: corrected use of C++-style comment.
|
|
|
|
|
|
|
|
| |
search for simple 'string map' style regsub calls.
Delayed creation of resultPtr object until an initial match is
made, as the input string object can then be reused for no matches.
(Tcl_StringObjCmd): optimization improvements to the STR_MAP
algorithm for zero-length and nocase cases.
|
|
|
|
| |
earlier to avoid shimmering problem.
|
|
|
|
| |
of TIP 27.
|
|
|
|
|
|
|
| |
overlooked before. Updated callers.
***POTENTIAL INCOMPATIBILITY***
Includes a source incompatibility in the tablePtr arguments of
the Tcl_GetIndexFromObj* routines.
|
|
|
|
| |
to the guidelines of TIP 27. Updated callers.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ>c (Tcl_UntraceCommand): Added Tcl_Preserve and
Tcl_Release calls to prevent deletion of CommandTrace structures
until all callers are done using them, preventing memory corruption.
[Bug 453805]
|
|
|
|
| |
This deprecates TclpGetTime in favor of new Tcl_GetTime.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
2001-08-06 to actually duplicate the objects in certain cases.
This is really a place where feather would have been essential.
[Bug #461322]
|
|
|
|
| |
of Tcl_EvalTokens, replaced by the new Tcl_EvalTokensStandard.
|
|
|
|
|
| |
reordered the retrieval of arguments to avoid shimmering bug when
the pattern and string referenced the same object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following files were impacted.
* doc/Access.3:
* doc/FileSystem.3:
* doc/OpenFileChnl.3:
* doc/file.n:
* doc/glob.n:
* generic/tcl.decls:
* generic/tcl.h:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclDate.c:
* generic/tclDecls.h:
* generic/tclEncoding.c:
* generic/tclFCmd.c:
* generic/tclFileName.c:
* generic/tclGetDate.y:
* generic/tclIO.c:
* generic/tclIOCmd.c:
* generic/tclIOUtil.c:
* generic/tclInt.decls:
* generic/tclInt.h:
* generic/tclIntDecls.h:
* generic/tclLoad.c:
* generic/tclStubInit.c:
* generic/tclTest.c:
* generic/tclUtil.c:
* library/init.tcl:
* mac/tclMacFCmd.c:
* mac/tclMacFile.c:
* mac/tclMacInit.c:
* mac/tclMacPort.h:
* mac/tclMacResource.c:
* mac/tclMacTime.c:
* tests/cmdAH.test:
* tests/event.test:
* tests/fCmd.test:
* tests/fileName.test:
* tests/io.test:
* tests/ioCmd.test:
* tests/proc-old.test:
* tests/registry.test:
* tests/unixFCmd.test:
* tests/winDde.test:
* tests/winFCmd.test:
* unix/mkLinks:
* unix/tclUnixFCmd.c:
* unix/tclUnixFile.c:
* unix/tclUnixInit.c:
* unix/tclUnixPipe.c:
* win/tclWinFCmd.c:
* win/tclWinFile.c:
* win/tclWinInit.c:
* win/tclWinPipe.c
|