summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* * tests/clock.test: Added tests for "next <day-of-week>" andericm2000-01-122-73/+105
| | | | "<day-of-week>"
* * doc/tests/clock.test: Added numerous tests for clock scan.ericm2000-01-122-182/+120
| | | | | | | | | * 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.
* * generic/tclClock.c: fixed support for 64bit handling of clockhobbs2000-01-124-34/+116
| | | | | | | | | | | | 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]
* * generic/tclGetDate.y: Added comments for the Convert function.ericm2000-01-122-702/+1039
| | | | | | | Added a fix for daylight savings time handling for relative time spans of days, weeks or fortnights. * generic/tclDate.c: Fixed compiler warning issues.
* * generic/tclGetDate.y: Added comments for the Convert function.ericm2000-01-122-7/+69
| | | | * generic/tclDate.c: Fixed compiler warning issues.
* * generic/tclUtf.c: changed Tcl_UtfBackslash to not allowhobbs2000-01-113-9/+21
| | | | | | | non-octal digits (8,9) in \ooo substs. [Bug: 3975] * generic/tcl.h: noted need to change win/tcl.m4 and tools/tclSplash.bmp for minor version changes
* fixed "next" constant to give 1 unit ahead, not 2.ericm2000-01-112-4/+4
|
* yacc runericm2000-01-112-4/+2
|
* *** empty log message ***ericm2000-01-111-860/+682
|
* * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847):ericm2000-01-111-32/+70
| | | | | | | | | | | | | CCYY-MM-DD CCYYMMDD YY-MM-DD YYMMDD CCYYMMDDTHHMMSS CCYYMMDD HHMMSS CCYYMMDDTHH:MM:SS Fixed "clock scan <number>" to scan the number as an hour for the current day, rather than a minute after 00:00 for the current day (bug #2732).
* * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to useericm2000-01-081-6/+12
| | | | | enumerated values instead of constants. (ie, COMMAND_SCAN instead of 3).
* * generic/tclCmdIL.c: added -unique option to lsorthobbs1999-12-214-21/+47
| | | | * generic/tclThreadTest.c: changed thread ids to longs [Bug: 3902]
* * doc/glob.n:hobbs1999-12-126-72/+502
| | | | | | | | | | | | | | | | * tests/fileName.test: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclEncoding.c: * generic/tclFileName.c: * mac/tclMacFile.c: * unix/tclUnixFile.c: * win/tclWinFile.c: enhanced the glob command with the new options -types -path -directory and -join. Deprecated TclpMatchFiles with TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added GlobTypeData structure.
* * tests/var.test:hobbs1999-12-129-72/+140
| | | | | | | | | | | | | | | | | | | | | | | | | * 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)
* * generic/tclDate.c:hobbs1999-12-083-24/+26
| | | | | | | | | | | | * unix/Makefile.in: fixed make gendate to swap const with CONST so it uses the Tcl defined CONST type [Bug: 3521] * generic/tclIO.c: removed panic that could occur in FlushChannel when a "blocking" channel would receive EAGAIN, instead treating it the same as non-blocking. [Bug: 3773] * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step beyond the end of the counted string [Bug: 3336]
* check for whitespace after bad octalshobbs1999-12-041-1/+4
|
* * tests/expr-old.test:hobbs1999-12-047-363/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/parseExpr.test: * tests/string.test: * generic/tclGet.c: * generic/tclInt.h: * generic/tclObj.c: * generic/tclParseExpr.c: * generic/tclUtil.c: * generic/tclExecute.c: added TclCheckBadOctal routine to enhance error message checking for when users use invalid octal numbers (like 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType to simplify type handling. * tests/expr.test: * generic/tclCompile.c: fixed 'bad code length' error for 'expr + {[incr]}' case, with new test case [Bug: 3736] and seg fault on 'expr + {[error]}' (different cause) that was caused by a correct optimization that didn't correctly track how it was modifying the source string in the opt. The optimization was removed, which means that: expr 1 + {[string length abc]} will be not be compiled inline as before, but this should be written: expr {1 + [string length abc]} which will be compiled inline for speed. This prevents expr 1 + {[mindless error]} from seg faulting, and only affects optimizations for degenerate cases [Bug: 3737]