| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
having influence over the wrong scope of Tcl_*Eval* calls. Patch
from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181]
|
|
|
|
| |
fix by David Knoll.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
runLevel 0 [Bug 533758]. Removed the static RecordTracebackInfo(), as
its functionality is easily replicated by Tcl_LogCommandInfo.
|
|
|
|
| |
correctly.
|
|
|
|
| |
in error case.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
| |
Tcl_SetCommandInfoFromToken. (TIPs #32 and #79.)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclBasic.c: added TclCompileRegexpCmd entry
* generic/tclCompCmds.c (TclCompileStringCmd): corrected to return
TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so
it only throws the error for runtime compile, in case the user
modifies 'string'.
(TclCompileRegexpCmd): first try at a byte-compiled regexp
command. It handles static strings and ^$ bounded static strings.
(TclCompileAppendCmd): made TclPushVarName call always use
TCL_CREATE_VAR as numWords is always > 2 at that point.
|
|
|
|
|
|
|
| |
* [Patch 506818] Updated interfaces of generic/tclHash.c (TIP 27).
* [Patch 506807] Updated interfaces of generic/tclObj.c (TIP 27).
* [Patch 507304] Updated interfaces of win/tclWin32.c (TIP 27).
* Update all 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]
|
| |
|
| |
|
|
|
|
| |
computations)
|
| |
|
| |
|
|
|
|
|
|
| |
ability of the [lindex] command to have multiple index arguments,
and adds the [lset] command. Both commands are byte-code compiled.
[Patch #471874] (work by Kenny, commited by Hobbs)
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: added TclCompileListCmd compile proc
* generic/tclCompCmds.c (TclCompileListCmd): function to compile
the 'list' command at parse time.
* generic/tclExecute.c (TclExecuteByteCode): definition of
INST_LIST bytecode.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command initialization.
* generic/tclCompCmds.c: added new compile commands for append,
lappend, lindex and llength. Refactored set and incr compile
commands to use new TclPushVarName function for handling the
varname component during compilation (also used by append and
lappend). Changed string compile command to compile toplevel code
as well (when possible).
* generic/tclCompile.c: added new instruction enums
* generic/tclCompile.h: added debug info for new instructions
* generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to
toplevel var (oft-used). Added definitions for new bytecode
instructions INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1,
INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4,
INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1,
INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4,
INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK.
Refactored repititious code for reuse with INST_LOAD_STK (same as
INST_LOAD_SCALAR_STK), INST_STORE_STK (same as
INST_STORE_SCALAR_STK).
Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows
[Bug #219201] as that fix only affected the runtime eval'ed
"string" (string compare is normally byte-compiled now). We
may want to back these out for speed in the future, noting the
problems with \x00 comparisons in the docs.
* generic/tclInt.h: declarations for new compile commands.
* generic/tclVar.c: change TclGetIndexedScalar,
TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and
TclSetIndexedScalar to use flags. The Set functions now support
TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well.
* generic/tclInt.decls:
* generic/tclIntDecls.h: minor signature changes for above.
|
|
|
|
| |
using TclGetNamespaceForQualName from the (Solaris8) SUNWspro cc.
|
|
|
|
|
|
|
|
|
| |
time adding CONST to the API's exported from tclBasic.c.
[Patch #415179]
***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince
Darley's changes to command tracing were added. A const has been
added to the type signature of one of the parameters to
Tcl_CommandTraceProc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syntax as deprecated; added documentation for command
rename/delete traces and variable array traces.
* tests/trace.test: Updated tests for new trace syntax; new tests
for command rename/delete traces; new tests for array traces.
* generic/tclVar.c: Support for new trace syntax; support for
TCL_TRACE_ARRAY.
* generic/tclStubInit.c:
* generic/tclDecls.h:
* generic/tcl.decls: Stub functions for command rename/delete traces.
* generic/tcl.h:
* generic/tclInt.h:
* generic/tclBasic.c: Support for command traces.
* generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support
new [trace] syntax:
trace {add|remove|list} {variable|command} name ops command
Added support for command traces (rename, delete operations).
Added support for TCL_TRACE_ARRAY at Tcl level (array operation
for variable traces).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TclCompileStringCmd and TclCompileReturnCmd.
* generic/tclCompile.h: Added definition of INST_STRLEN opcode and
updated LAST_INST_OPCODE value.
* generic/tclBasic.c: Added information about TclCompileStringCmd
and TclCompileReturnCmd to BuiltInCmds table.
* generic/tclExecute.c (TclExecuteByteCode): Added support for the
INST_STRLEN opcode.
* generic/tclCompCmds.c
(TclCompileStringCmd): Basic implementation of byte-compiled
[string] command. Not all subcommands are implemented; those
that are not an out-line compiled.
(TclCompileReturnCmd): Byte-compiled implementation of [return]
command. Only "simple" returns are byte-compiled; in particular,
if the -code, -errorinfo or -errorcode flags are used, the command
is not byte-compiled.
|
|
|
|
| |
to not conflict with global decl on some systems [Bug: 2882]
|
| |
|
|
|
|
|
|
|
|
|
|
| |
noting the need to pair ckalloc with ckfree. [Bug: 4262]
* generic/tclInt.decls:
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c:
* win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s
support).
|
|
|
|
|
|
|
|
|
|
|
| |
string if the body has been bytecompiled.
* generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for
originating proc body of bytecompiled code, #def'd out as the
change for [info body] should make it unnecessary
* tests/set.test: added test for complex array elem name compiling
* generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array
elements during compiling, and slightly optimised same [Bug: 3889]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c: fixed problem where setting to {} array
would intermittently not work. (Fontaine) [Bug: 3339]
* generic/tclCmdMZ.c:
* generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to
recognize boolean objects. (Spjuth) [Bug: 2815]
* tests/info.test:
* tests/parseOld.test:
* generic/tclCmdAH.c:
* generic/tclProc.c: changed Tcl_UplevelObjCmd (uplevel) and
Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg
case as well, to take advantage of potential pure list input
optimization. This means that it won't get byte compiled though,
which should be acceptable.
* generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in
the TCL_EVAL_DIRECT case for efficiency.
* generic/tclUtil.c: made Tcl_ConcatObj pure list object aware,
and return a list object in that case [Bug: 2098 2257]
* generic/tclMain.c: changed Tcl_Main to not constantly reuse the
commandPtr object (interactive case) as it could be shared. (Fellows)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
at the global level for uplevel command.
* generic/tclIOSock.c: changed int to size_t type for len
in TclSockMinimumBuffers.
* generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value
on NULL input. [Bug: 3400]
* generic/tclStringObj.c: fixed support for passing in negative
length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380]
* doc/scan.n:
* tests/scan.test:
* generic/tclScan.c: finished support for inline scan by
supporting XPG identifiers.
* doc/http.n:
* library/http2.1/http.tcl: added register and unregister
commands to http:: package (better support for tls/SSL),
as well as -type argument to http::geturl. [RFE: 2617]
* generic/tclBasic.c: removed extra decr of numLevels in
Tcl_EvalObjEx that could cause seg fault. (mjansen@wendt.de)
* generic/tclEvent.c: fixed possible lack of MutexUnlock in
Tcl_DeleteExitHandler [Bug: 3545]
|
|
|
|
| |
threads enabled
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclBasic.c:
* generic/tclRegexp.h:
* generic/tclRegexp.c: Replaced the per-interpreter regexp cache
with a per-thread cache. Changed the Regexp object to take
advantage of this extra cache. Added a reference count to the
TclRegexp type so regexps can be shared by multiple objects.
Removed the per-interp regexp cache from the interpreter. Now
regexps can be used with no need for an interpreter. [Bug: 1063]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it matches 8.1.
* generic/tclBasic.c:
* generic/tcl.h:
* generic/tcl.decls: Changed Tcl_ReleaseType from an enum to
macros so it can be used in .rc files.
Added Tcl_GetString.
* unix/Makefile.in: Added compat binaries to the stub library.
Changed compat binaries to always compile with shared flags since
they need to be shared for the stub library.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclNamesp.c:
* generic/tclInt.h:
* generic/tclCmdIL.c:
* generic/tclBasic.c:
* generic/tclVar.c: Applied patch from Viktor Dukhovni to
rationalize TCL_LEAVE_ERR_MSG behavior when creating variables.
* generic/tclVar.c: Fixed bug in namespace tail computation.
Fixed bug where upvar could resurrect a namespace variable whose
namespace had been deleted.
* generic/tclCompile.c (TclCompileExprCmd): Eliminated yet another
bogus optimization in expression compilation.
* generic/tclCompile.c (CompileExprWord): Fixed exception stack
overflow bug caused by missing statement. [Bug: 928]
* generic/tclIOCmd.c:
* generic/tclBasic.c: Objectified the "open" command. [Bug: 1113]
|
|
|
|
| |
* generic/tclBasic.c: Objectified the "open" command. [Bug: 1113]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
parent workspace "/home/welch/ws/tcl8.0.3".
|
|
|
|
| |
has changed in the interpreter. Instead, reset the epoch in the ByteCode.
|
| |
|