summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * doc/expr.n:hobbs2000-05-094-12/+104
| | | | | | | | | | | | * 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).
* * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use ofhobbs2000-05-081-75/+56
| | | | | | | | 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.
* lint chan = NULL inithobbs2000-05-081-2/+2
|
* * generic/tclObj.c (Tcl_DuplicateObj): simplified code to callhobbs2000-05-081-10/+2
| | | | TclInitStringRep, which the code was just duplicating in part.
* minor comment correctionhobbs2000-05-081-2/+2
|
* removed unreferenced varhobbs2000-05-081-2/+1
|
* * doc/Utf.3:hobbs2000-05-085-148/+292
| | | | | | | | | | * 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
* * tests/set-old.test:ericm2000-05-081-4/+19
| | | | | * doc/array.n: * generic/tclVar.c: Added [array statistics] command [RFE: 4557]
* 2000-05-06 Andreas Kupries <a.kupries@westend.com>kupries2000-05-061-21/+22
| | | | | | | | 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.
* * README:hobbs2000-05-031-7/+7
| | | | | | | | | | | | | | | | | | * 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/compile.test:hobbs2000-05-031-10/+23
| | | | | | | | | | * 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.
* 2000-05-02 Andreas Kupries <a.kupries@westend.com>kupries2000-05-027-99/+838
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * doc/memory.n: Man page for Tcl "memory" command, which isericm2000-04-271-22/+55
| | | | | | | | | | | | | | | | | | 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).
* * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unixhobbs2000-04-211-1/+6
| | | | | * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of USE_TCLALLOC on Unix. [Bug: 4731]
* * generic/tclFileName.c (SplitUnixPath): added support for QNXhobbs2000-04-191-1/+14
| | | | node ids.
* * README:hobbs2000-04-192-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath tohobbs2000-04-181-22/+30
| | | | | thread-local storage to prevent thread-related race condition. [Bug: 5033]
* Added Tcl_CreateThreadType and TCL_RETURN_THREAD_TYPEwelch2000-04-172-15/+27
| | | | macros for declaring the NewThread callback proc.
* * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minorhobbs2000-04-151-11/+11
| | | | to not conflict with global decl on some systems [Bug: 2882]
* removed __stdcall decl for WIN32 case on ThreadCreatehobbs2000-04-131-3/+1
|
* Fixed Tcl_CreateThreadProc declarationwelch2000-04-101-1/+3
|
* * win/tclWinPipe.c (TclpCreateTempFile): Added conversion ofericm2000-04-101-3/+27
| | | | | | | | 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].
* * generic/tcl.h: removed specific typedef of Tcl_ThreadCreateProchobbs2000-04-101-3/+1
| | | | | for Windows as the build choked. It seems to be OK using the Unix fallback (void).
* * generic/tclBasic.c (Tcl_SetCommandInfo): comment fixhobbs2000-04-101-2/+2
|
* 2000-04-08 Andreas Kupries <a.kupries@westend.com>kupries2000-04-096-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2000-04-05 Andreas Kupries <a.kupries@westend.com>kupries2000-04-051-1/+2
| | | | | | | | * 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: ??].
* Fixed compilation w/out TCL_THREADSwelch2000-04-053-15/+29
|
* 2000-04-03 Andreas Kupries <a.kupries@westend.com>kupries2000-04-048-20/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtrhobbs2000-04-041-2/+2
| | | | to prevent itcl info override crash [Bug: 4064]
* * generic/tclGet.c (Tcl_GetDouble): Added additional conditions toericm2000-03-311-2/+3
| | | | | | | | | | | | | | | | | 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.)
* * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added commentshobbs2000-03-315-19/+28
| | | | | | | | | | 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).
* * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanuphobbs2000-03-302-4/+35
| | | | | | | | 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
* * tests/namespace.test:hobbs2000-03-272-23/+46
| | | | | | | | | * 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
* * generic/tclFileName.c (Tcl_TranslateFileName): Applied patchhobbs2000-03-031-67/+75
| | | | | from Newman to significantly speedup file split/join on Windows (replaces regexp with custom parser). [Bug: 2867]
* * tests/clock.test: Added test for ISO bases < 100000ericm2000-02-282-4/+12
| | | | | | | * 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.
* * tests/clock.test: Added tests for "next monthname" constructs.ericm2000-02-092-104/+210
| | | | | | | * 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/tclDecls.h:hobbs2000-02-083-9/+9
| | | | | | | * 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
* *** empty log message ***hobbs2000-02-051-2/+1
|
* * tests/regexp.test: added tests for -all and -inline switcheshobbs2000-02-021-74/+150
| | | | | | * 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
* * generic/tclFileName.c (Tcl_JoinPath): improved support for specialhobbs2000-02-011-3/+6
| | | | QNX node id prefixes in pathnames [Bug: 4053]
* * generic/tclNamesp.c: Undid fix for #956, which broke backwardsericm2000-01-261-3/+2
| | | | | | | | | | | | | 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.
* * generic/tclClock.c (FormatClock): inlined resultPtr, as ithobbs2000-01-264-13/+24
| | | | | | | | | | 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/tclInt.h:hobbs2000-01-245-19/+28
| | | | | | | | | * 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.test: Added test for undefined variables withericm2000-01-211-2/+3
| | | | | | | namespace which (bug #956). * tclNamesp.c: Added check for undefined variables in NamespaceWhichCmd (bug #956).
* * var.test: Added tests for corrected variable behavior (bug #981).ericm2000-01-211-1/+12
| | | | | | | | | | * 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).
* * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return ahobbs2000-01-215-27/+61
| | | | | | | | | | | 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]
* * tests/var.test: Added a test for the array multiple deleteericm2000-01-151-1/+16
| | | | | | | | | | | 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.
* * unix/tclUnixTime.c: New clock format format.ericm2000-01-142-129/+167
| | | | | | * compat/strftime.c: New clock format format. * generic/tclGetDate.y: New clock scan format.
* * README:core_8_3_b2hobbs2000-01-142-5/+5
| | | | | | | | | * generic/tcl.h: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.m4: * win/README.binary: * win/configure.in: updated to patchlevel 8.3b2
* * tests/cmdIL.test: Added tests for lsort -dictionary withericm2000-01-131-18/+16
| | | | | | | | | | 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.