| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
* win/configure.in:
* win/README.binary: bumped version to 8.3.1
* win/tcl.hpj.in: updated copyright date
* generic/tclEnv.c: environment support for Mac OS/X
* unix/tclUnixPort.h: environment support for Mac OS/X
* unix/tclLoadDyld.c: new file for Mac OS/X dl functions
* unix/Makefile.in: added install-strip target; bindir, libdir,
mandir, includedir vars; tclLoadDyld.c target [Bug: 2527]
* unix/tclUnixChan.c (CreateSocket): force a socket back into
blocking mode (default state) after a -async connect succeeds.
[Bug: 4388]
* generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to
thread-local storage to prevent thread-related race condition.
[Bug: 5033]
* unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the
library path as it was unnecessary and conflicts with move of
tclLibraryPath to thread-local storage.
|
|
|
|
|
| |
thread-local storage to prevent thread-related race condition.
[Bug: 5033]
|
|
|
|
| |
macros for declaring the NewThread callback proc.
|
|
|
|
| |
to not conflict with global decl on some systems [Bug: 2882]
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
contents string from UTF to native encoding [Bug: 4030].
* tests/regexp.test: Added tests for infinite looping in [regexp -all].
* generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all] [Bug: 4981].
|
|
|
|
|
| |
for Windows as the build choked. It seems to be OK using the Unix
fallback (void).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Overall change: Definition of a public API for the creation of
new threads.
* generic/tclInt.h (line 1802f): Removed the definition of
'TclpThreadCreate'. (line 793f) Removed the definition of
'Tcl_ThreadCreateProc'.
* generic/tcl.h (line 388f): Readded the definition of
'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David
Graveraux <davygrvy@bigfoot.com> to that too (__stdcall,
...). Added macros for the default stacksize and allowed flags.
* generic/tcl.decls (line 1356f): Added definition of
'Tcl_CreateThread', slot 393 of the stub table. Two new
arguments in the public API, for stacksize and flags.
* win/tclWinThrd.c:
* mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread,
added handling of the stacksize. Flags are currently ignored.
* unix/tclUnixThrd.c: See above, but handles joinable
flag. Ignores the specified stacksize if the macro
HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined.
* generic/tclThreadTest.c (line 363): See below.
* unix/tclUnixNotfy.c (line 210): Adapted to the changes
above. Uses default stacksize and no flags now.
* unic/tcl.m4 (line 382f): Added a check for
'pthread_attr_setstacksize' to detect platforms not implementing
this feature of pthreads. If it is implemented, configure will
define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See
unix/tclUnixThrd.c too).
* doc/Thread.3: Added Tcl_CreateThread and its arguments to the
list of described functions. Removed stuff about not providing a
public C-API for thread-creation.
|
|
|
|
|
|
|
|
| |
* generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest
mask to the correct value after an unstack and re-initialization
of the notifier via the watchProc. Without this the first
fileevent after an unstack will come through and be processed,
but no more. [Bug: ??].
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Overall change: Definition of public API's for the finalization
of conditions and mutexes. [Bug: 4199].
* generic/tclInt.h: Removed definitions of TclFinalizeMutex and
TclFinalizeCondition.
* generic/tcl.decls: Added declarations of Tcl_MutexFinalize and
Tcl_ConditionFinalize.
* generic/tclThread.c: Renamed TclFinalizeMutex to
Tcl_MutexFinalize. Renamed TclFinalizeCondition to
Tcl_ConditionFinalize.
* generic/tclNotify.c: Changed usage of TclFinalizeMutex to
Tcl_MutexFinalize.
* unix/tclUnixNotfy.c:
* generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to
Tcl_ConditionFinalize.
* generic/tcl.h: Added empty macros for Tcl_MutexFinalize and
Tcl_ConditionFinalize, to be used when the core is compiled
without threads.
* doc/Thread.3: Added description the new API's.
|
|
|
|
| |
to prevent itcl info override crash [Bug: 4064]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
error test (previously only errno was checked, but the return
value of strtod() should be checked as well). [Bug: 4118].
* tests/exec.test: Added test for proper conversion of UTF data
when used with "<< $dataWithUTF" on exec's.
* unix/tclUnixPipe.c (TclpCreateTempFile): Added
Tcl_UtfToExternalDString call, so that if there is UTF content in
the string it will be properly converted to the system encoding
before being written [Bug: 4030].
(TclpCreateTempFile): Added a check on the return value of tmpnam;
some systems (Linux, for example) will start to return NULL after
tmpnam has been called TMP_MAX times; not checking for this can
have bad results (overwriting temp files, core dumps, etc.)
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by
tbcload), to correctly clean them up.
* generic/tclClock.c (FormatClock): moved check for empty format
earlier, commented 0 result return value
|
|
|
|
|
|
|
|
|
| |
* generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the
export list so only one instance of each export pattern would
exist in the list.
* generic/tclExecute.c (TclExecuteByteCode): optimized case for
the empty string in ==/!= comparisons
|
|
|
|
|
| |
from Newman to significantly speedup file split/join on Windows
(replaces regexp with custom parser). [Bug: 2867]
|
|
|
|
|
|
|
| |
* generic/tclDate.c: (generated on Solaris)
* generic/tclGetDate.y: Changed condition for deciding if a number
is an ISO 8601 base from number >= 100000 to numberOfDigits >= 6.
Previously it would fail to recognize 000000 as an ISO base.
|
|
|
|
|
|
|
| |
* generic/tclDate.c:
* generic/tclGetDate.y (Message): Added a grammar rule for "next
monthname" so that we can handle "next january" and similar
constructs (bug #4146).
|
|
|
|
|
|
|
| |
* generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int
forWriting' instead of 'int write' to avoid shadowing [Bug: 4121]
* generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel
|
| |
|
|
|
|
|
|
| |
* doc/regexp.n: added docs for -all and -inline switches
* generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for
new -all and -inline switches to regexp command
|
|
|
|
| |
QNX node id prefixes in pathnames [Bug: 4053]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compatibility.
* doc/variable.n:
* doc/trace.n:
* doc/namespace.n:
* doc/info.n: Added further information about differences between
"namespace which" and "info exists".
* doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg()
functions.
|
|
|
|
|
|
|
|
|
|
| |
conflicted with var creation for HAVE_TZSET #def [Bug: 4063]
* generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak
when calling lsort -command with bad command [Bug: 4067]
* generic/tclFileName.c (Tcl_JoinPath): added support for special
QNX node id prefixes in pathnames [Bug: 4053]
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827]
and removed 'register' from stub definition of
Tcl_AppendUnicodeToObj [Bug: 4038]
* generic/tclFileName.c: improved guessing of path separator
for the Mac. (Darley)
|
|
|
|
|
|
|
| |
namespace which (bug #956).
* tclNamesp.c: Added check for undefined variables in
NamespaceWhichCmd (bug #956).
|
|
|
|
|
|
|
|
|
|
| |
* upvar.n: Expanded explanation of upvar behavior with respect to
variable traces. (bugs 3917 1433 2110).
* tclVar.c: Changed behavior of variable command when name refers
to an element in an array (ie, "variable foo(x)") to always return
an error, regardless of existance of that element in the array
(now behavior is consistant with docs too) (bug #981).
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
|
|
| |
protection in Tcl_UnsetVar2.
* generic/tclVar.c: Added protection in Tcl_UnsetVar2 against
attempts to multiply delete arrays when unsetting them (bug
#3453). This could happen if there was an unset trace on an array
element and the trace proc made a global or upvar link to the
array, and then the array was unset at the global level. See the
bug reference for more information.
|
|
|
|
|
|
| |
* compat/strftime.c: New clock format format.
* generic/tclGetDate.y: New clock scan format.
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.m4:
* win/README.binary:
* win/configure.in: updated to patchlevel 8.3b2
|
|
|
|
|
|
|
|
|
|
| |
characters that occur between Z and a in ASCII.
* generic/tclCmdIL.c: Modified DictionaryCompare function (used by
lsort -dictionary) to do upper/lower case equivalency before doing
character comparisons, instead of after. This fixes bug #1357, in
which lsort -dictionary [list ` AA c CC] and lsort -dictionary
[list AA c ` CC] gave different (and both wrong) results.
|
|
|
|
| |
"<day-of-week>"
|
|
|
|
|
|
|
|
|
| |
* doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in
clock grammar.
* doc/doc/clock.n: Added documentation for new supported clock
scan formats and additional explanation of daylight savings time
correction algorithm.
|
|
|
|
|
|
|
|
|
|
|
|
| |
values [Bug: 1806]
* generic/tclThreadTest.c: upped a buffer size to hold double
* tests/info.test:
* generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong)
* generic/tclNamesp.c: made imported commands also import their
compile proc [Bug: 2100]
|