| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclPlatDecls.h: without a previous '#include <windows.h>',
tclPlatDecls.h can't be parsed due to a missing definition of TCHAR.
Added a check to include it when not defined.
***POSSIBLE OBSCURE BUG*** could be caused when the compile flags
for the core happen to be different than a project who uses these
publics regarding -D_MBCS and -D_UNICODE. This added check might
have to be revisited later with a better understanding of the
reprocusions. I think TCHAR should be replaced with it's expansion.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* win/Makefile.in:
* unix/Makefile.in: Added tclPlatDecls.h to the list of installed
headers, for more complete stubs support. [Bug: 5241].
* generic/tcl.h: Added #include "tclPlatDecls.h" to get
platform-specific stubs declarations (Tcl_WinTCharToUtf, etc)
[Bug: 5241].
|
|
|
|
|
| |
variable from "unsigned int" to "int", to match usage when passed
to TclpFindVariable [Bug: 6126].
|
|
|
|
|
| |
* generic/tclObj.c: r1.15 accidentally changed a global mutex
name tclObjMutex to ObjMutex. Put the correct name back.
|
|
|
|
|
|
|
|
|
|
|
| |
command to test Tcl_WrongNumArgs.
* generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function
for the Tcl_WrongNumArgs function.
* generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to
not insert a space before the message component when objc == 0
[Bug: 6078].
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
on the array containing the variable before executing traces on
that array, to conform with normal variable traces and the
documentation, which states that while executing a trace, other
traces on that variable are disabled. [Bug: 6049].
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclObj.c:
* generic/tclInt.h:
* generic/tclHash.c:
* generic/tclDecls.h:
* generic/tcl.h:
* generic/tcl.decls:
* doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables
to allow custom key types, such as Tcl_Obj *'s, and others.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclObj.c:
* generic/tclInt.h:
* generic/tclHash.c:
* generic/tclDecls.h:
* generic/tcl.h:
* generic/tcl.decls:
* doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables
to allow custom key types, such as Tcl_Obj *'s, and others; it
seems to break Tk.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclObj.c:
* generic/tclInt.h:
* generic/tclHash.c:
* generic/tclDecls.h:
* generic/tcl.h:
* generic/tcl.decls:
* doc/Hash.3: Applied patch from Paul Duffin to extend hash tables
to allow custom key types, such as Tcl_Obj *'s, and others.
|
|
|
|
|
|
|
|
| |
Tcl hash tables [RFE: 5934].
* generic/tcl.h:
* generic/tclHash.c: Applied patch from [RFE: 5934], which extends
Tcl hash tables to allow Tcl_Obj *'s as the key.
|
|
|
|
|
| |
test of iResult return from memcmp, as memcmp isn't required to
return only -1,0,1.
|
|
|
|
|
| |
caching of the index ptr to account for offsets != sizeof(char *).
[Bug: 5153]
|
| |
|
|
|
|
|
|
| |
* doc/unset.n:
* generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and --
options to unset, to allow for a silent unset operation.
|
|
|
|
|
|
|
|
|
|
| |
exact matching for [array names] command. [RFE: 3684].
* doc/array.n: Added documentation for [array names
-exact/-regexp/-glob] [RFE: 3684].
* tests/set-old.test: Added tests for [array names
-exact/-regexp/-glob] [RFE: 3684].
|
|
|
|
|
|
|
|
| |
* doc/info.n:
* generic/tclIOUtil.c (Tcl_EvalFile):
* generic/tclCmdIL.c (InfoScriptCmd): added ability to set the
info script return value [info script ?newFileName?]. This will
be beneficial for virtual file system programs. [Bug: 4225]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
INST_STRNEQ -> INST_STR_NEQ
* generic/tclCompile.c: added streq, strneq, strcmp, strlen &
strmatch to the compiled stats instructionTable
* generic/tclCompile.h: added instructions INST_STR_CMP,
INST_STR_INDEX, INST_STR_MATCH
* generic/tclCompCmds.c: added byte compiler support for
[string compare|match|index].
* generic/tclExecute.c:
Changed INST_STR_(N)EQ to return an Int object and not bother
trying to reuse the top stack object.
Added INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops.
Extended evalstats output info with Tcl_IsShared stat info.
|
|
|
|
|
| |
(AppendUnicodeToUnicodeRep) removed overallocation by extra
sizeof(Tcl_UniChar) multiplier.
|
|
|
|
|
| |
* generic/tclObj.c (Tcl_DbIsShared): added support for checking
result of Tcl_IsShared in evalstats (TCL_COMPILE_STATS).
|
|
|
|
|
|
|
|
|
|
| |
Unicode, tweaked for performance.
(Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to
something more understandable, reworked STR_FIRST, STR_LAST,
STR_MAP, STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode.
Removed inneffectual STR_RANGE "special" ByteArray support.
Optimized STR_MAP algorithm, especially optimized for one-pair case.
Fixed possible mem overrun in STR_INDEX bytearray case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIO.c: moved channel test commands from tclIO.c to
tclTest.c.
* generic/tclIO.h: new file, split out from tclIO.c to allow test
commands to be moved to tclTest.c.
* generic/tclStubInit.c:
* generic/tclIntDecls.h:
* generic/tclInt.decls: removed TclTestChannel*Cmd from internal
stubs table and added TclChannelEventScriptInvoker to the internal
stubs table so it can be used from the test code.
|
|
|
|
|
|
|
|
|
|
| |
specifications.
* generic/tclDate.c: Regenerated from tclGetDate.y.
* generic/tclGetDate.y: Tweaked grammar to properly handle the
"ago" keyword when it follows multiple relative unit specifiers,
as in "2 days 2 hours ago". [Bug: 5497].
|
|
|
|
|
|
|
|
| |
specific return values from strftime, if any. [Bug: 3345]
* unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to
correct setlocale calls for XIM support and locale issues.
[BUG: 5422 3345 4236 2522 2521]
|
|
|
|
| |
Linux on Sparc to compile correctly. [Bug: 5364]
|
|
|
|
|
|
| |
* tests/namespace.test:
* generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace
exists' command. [Bug: 4665]
|
|
|
|
|
|
|
|
|
| |
* doc/Eval.3:
* tests/source.test:
* generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z)
eofchar (affects Tcl_EvalFile in C, "source" in Tcl). This was
implicit on Windows already, and is now cross-platform to allow
for scripted documents.
|
|
|
|
|
|
| |
* doc/lsearch.n:
* generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to
support sorted list searching and typed list searching. [RFE: 4098].
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/expr.test:
* tests/expr-old.test: added tests for 'eq' and 'ne'
* generic/tclExecute.c:
* generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes
that do strict string comparisons.
* generic/tclCompExpr.c: added 'eq' and 'ne' string comparison
operators.
* generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr
parse terms (string (in)equality check).
|
|
|
|
|
|
|
|
| |
Tcl_DuplicateObj where code was otherwise duplicated. Made
special case of inserting one element at the end work again (where
index == len).
(Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and
cleaned up use of other arguments.
|
| |
|
|
|
|
| |
TclInitStringRep, which the code was just duplicating in part.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclStubInit.c:
* generic/tcl.decls:
* generic/tclDecls.h:
* generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and
Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch)
* generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for
optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch
|
|
|
|
|
| |
* doc/array.n:
* generic/tclVar.c: Added [array statistics] command [RFE: 4557]
|
|
|
|
|
|
|
|
| |
operating as proxy for David Gravereaux <davygrvy@pobox.com>
* tclThreadJoin.c: Fixed several places with missing a & in
arguments to calls of Tcl_Mutex(Un)lock and
Tcl_ConditionNotify functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h:
* library/init.tcl:
* library/reg1.0/pkgIndex.tcl:
* library/tcltest1.0/tcltest.tcl:
* mac/README:
* tools/tcl.hpj.in:
* tools/tcl.wse.in:
* unix/README:
* unix/configure.in:
* unix/tcl.spec:
* win/README:
* win/README.binary:
* win/configure.in:
* win/makefile.vc:
* win/tcl.m4: updated patchlevel to 8.4a1
|
|
|
|
|
|
|
|
|
|
| |
* tests/init.test:
* tests/proc.test:
* tests/proc-old.test:
* tests/rename.test:
* generic/tclProc.c: reworked error return for procedures with
incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong #
args: ..." message is printed out with the args list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Overall changes:
(1) Implementation of joinable threads for all platforms.
(2) Additional API's for channels. Required to allow the
thread extension to move channels between threads.
* generic/tcl.decls (lines 1360f): Added Tcl_JoinThread,
Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel,
Tcl_SpliceChannel, Tcl_IsChannelExisting and
Tcl_ClearChannelHandlers (slots 394 to 400).
* generic/tclIO.c: Implemented Tcl_IsChannelRegistered,
Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
Tcl_CutChannel uses code from CloseChannel. Replaced this code
by a call to Tcl_CutChannel. Replaced several code fragments
adding channels to the channel list with calls to
Tcl_SpliceChannel. Removed now unused variables from
CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers
uses code from Tcl_Close. Replaced this code by a call to
Tcl_ClearChannelHandlers. Removed now unused variables from
Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and
'isshared' to the test code
(TclTestChannelCmd).
* unix/tclUnixThread.c: Implemented Tcl_JoinThread using the
pthread-functionality.
* win/tclWinThrd.c: Fixed several small typos in comments.
Implemented Tcl_JoinThread using a platform independent
emulation layer (see generic/tclThreadJoin.c below). Added
'joinLock' to serialize Tcl_CreateThread and TclpExitThread to
prevent a race for joinable threads.
* mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform
independent emulation layer (see generic/tclThreadJoin.c
below). Due to the cooperative nature of threading on this
platform the race mentioned above is not present.
* generic/tclThreadJoin.c: New file. Contains a platform
independent emulation layer helping in the implementation of
joinable threads for the win and mac platforms.
* generic/tclInt.h: Added declarations for TclJoinThread,
TclRememberJoinableThread and TclSignalExitThread. These
procedures define the API of the emulation layer for joinable
threads (see generic/tclThreadJoin.c above).
* win/Makefile.in:
* win/makefile.vc: Added generic/tclTheadJoin.o to the rules.
* mac/: I don't know to which file generic/tclTheadJoin.o has to
be added to so that it compiles. Sorry.
* unix/tclUnixChan.c: #ifdef'd the thread-local list of file
channels as it prevents us from transfering channels. To restore
this we may need an extended interface to drivers in the
future. Target: 9.0. Found while testing the new transfer of
channels. The information in this list for a channel was left
behind and then crashed the system during finalization.
* generic/tclThreadTest.c: Added -joinable flag to 'testthread
create'. Added subcommand 'testthread join'.
* doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered,
Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
* doc/Thread.3: Added documentation for Tcl_JoinThread.
* tests/thread.test: Added tests for joining of threads.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
created when TCL_MEM_DEBUG is defined at compile time.
* doc/TCL_MEM_DEBUG.3: Man page with overall information about
TCL_MEM_DEBUG usage.
* doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory,
Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835].
* generic/tclCkalloc.c: Fixed some function headers.
* unix/mkLinks: Regen'd with new mkLinks.tcl.
* unix/mkLinks.tcl: Fixed indentation, made link setup more
intelligent (only do one existance test per man page, instead of
one per function).
|
|
|
|
|
| |
* unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of
USE_TCLALLOC on Unix. [Bug: 4731]
|
|
|
|
| |
node ids.
|