summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define tohobbs2000-09-291-3/+3
| | | | FLUSH_DELAY to avoid defn conflict using Tru64's cc.
* up-port of the stacked channel implementation rewrite in 8.3.2 tohobbs2000-09-2810-1912/+4478
| | | | 8.4a2 code base, merged in with some existing new 8.4a2 features.
* * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.jenn2000-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * library/tcltest1.0/tcltest2.tcl: New version of tcltest. Cleanup of command line parsing: allows users to specify command line arguments through an environment variable named TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect arguments, and forces usage of entire flag name when using command line arguments. Defines accessor procs for all tcltest variables. Allows users to use 'return' in test scripts. Allow users to specify whether test files should be sourced or run in a separate process. 'all.tcl' code moved to tcltest package. 'test' proc modified to use attribute-value pairs. Allow users to specify what return codes, output, and errors can be compared and whether these values should be compared using regexp, glob, or exact matching. makeDirectory & removeDirectory now operate with respect to temporaryDirectory [Bug: 6001]. Test results from tests run in slave interpreters are now included in test totals [Bug: 1493]. Test files that return error values are now reported. * tests/all.tcl: Added code to check for the tcltest version loaded; modified to figure out which tests to run based on the tcltest version loaded. * tests/tcltest.test: Modified to explicitly load version 1.0 of tcltest. * tests/tcltest2.test: New test suite for tcltest; includes all of the old tests plus new ones reflecting changes made for version 2.0. * tests/cmdAH.test: Added singleTestInterp constraint to cmdAH-31.2; this test does not run if tests aren't sourced into a single interpreter. * tests/socket.test: Fixed two tests that were referencing variables outside of scope. * tools/tcl.wse.in: Added code to install tcltest2.tcl. * doc/tcltest2.n: New documentation for tcltest version 2.0. Removes documentation for tcltest namespace variables. Adds documentation for new tcltest procs. * unix/mkLinks: Added code to link to tcltest2.n. * generic/tcl.h: Added comment to modify tcltest2.tcl as well as tcltest.tcl for version changes.
* * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, allericm2000-09-201-1/+2
| | | | | | | attempts after the first to match the regexp against the string should include the TCL_REG_NOTBOL flag, to avoid erroneously matching ^ in the middle of the string. Added code to set this flag after the first pass through the matching loop. [Bug: 6284].
* * tests/cmdIL.test: Added a test for fix for [Bug: 6212].ericm2000-09-171-2/+1
| | | | | * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug: 6212], which corrected an error in the handling of the -index option.
* * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.ericm2000-09-146-59/+288
| | | | | | | | | | | | | | | | | | | | | | | | * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength. * generic/tclDecls.h: * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls. * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory allocators and for Tcl_AttemptSetObjLength. * generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc, which map to the Tcl_Attempt* memory allocators. * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc, Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc, Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and the string obj append functions. * generic/tclStringObj.c: Modified string growth algorithm to use doubling algorithm as long as possible, and only fall back when that fails. Added Tcl_AttemptSetObjLength, and modified AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and Tcl_AppendStringsToObjVA to support this.
* * README:hobbs2000-09-061-3/+3
| | | | | | | | | | | * generic/tcl.h: * library/tcltest1.0/tcltest.tcl: * tools/tcl.wse.in: * tools/tcltk-man2html.tcl: * unix/configure.in: * unix/tcl.spec: * win/README.binary: * win/configure.in: updated patchlevel to 8.4a2
* * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT tohobbs2000-09-061-5/+30
| | | | | preallocate the full space of the final string, avoided repeated appends.
* * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixedhobbs2000-09-061-13/+32
| | | | | | pedantic cast warning. Corrected support for building with -DTCL_COMPILE_STATS. Added efficiency check of object equality.
* * generic/tclHash.c: fixed pedantic warning of incorrectly placedhobbs2000-09-061-3/+3
| | | | #endif
* * generic/tclStringObj.c: Applied patch from Gerhard Hintermayerericm2000-08-301-25/+90
| | | | | | to provide a more conservative string growth algorithm for strings larger than one megabyte; this allows more efficient use of memory for very large strings.
* * tests/trace.test: Extended array tracing tests.ericm2000-08-251-2/+3
| | | | | | | | | | * doc/trace.n: Clarified information about when array traces will be fired. * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces (for TCL_TRACE_ARRAY) to only be called when the variable is either an array or is undefined, to ensure that array traces do not fire for scalar variables.
* * doc/trace.n: Updated documentation for new syntax; flagged oldericm2000-08-258-184/+1145
| | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Added check for non-arrays for [array statistics].ericm2000-08-211-1/+6
|
* 2000-08-19 David Gravereaux <davygrvy@ajubasolutions.com>davidg2000-08-201-1/+10
| | | | | | | | | | | | * 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.
* Fixed comment.ericm2000-08-181-3/+2
|
* * win/makefile.vc:ericm2000-08-151-1/+8
| | | | | | | | | | * 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].
* * generic/tclEnv.c (TclUnsetEnv): Changed declaration of lengthericm2000-08-111-2/+2
| | | | | variable from "unsigned int" to "int", to match usage when passed to TclpFindVariable [Bug: 6126].
* 2000-08-10 David Gravereaux <davygrvy@ajubasolutions.com>davidg2000-08-102-16/+17
| | | | | * generic/tclObj.c: r1.15 accidentally changed a global mutex name tclObjMutex to ObjMutex. Put the correct name back.
* * tests/indexObj.test: Added tests using the [testwrongnumargs]ericm2000-08-072-4/+72
| | | | | | | | | | | 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].
* Thread-safe rewrite for the Tcl_Async* commands.davidg2000-07-262-10/+6
|
* no messagedavidg2000-07-262-6/+16
|
* Thread-safe rewrite for the Tcl_Async* commands.davidg2000-07-261-54/+82
|
* * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVEericm2000-07-251-2/+2
| | | | | | | 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/tclStubInit.c:ericm2000-07-227-653/+1115
| | | | | | | | | | | * 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/tclStubInit.c:ericm2000-07-207-1115/+653
| | | | | | | | | | | | * 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/tclStubInit.c:ericm2000-07-197-653/+1115
| | | | | | | | | | | * 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.
* * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys inericm2000-06-242-10/+259
| | | | | | | | 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.
* * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): addedhobbs2000-06-061-1/+5
| | | | | test of iResult return from memcmp, as memcmp isn't required to return only -1,0,1.
* * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Correctedhobbs2000-06-061-2/+6
| | | | | caching of the index ptr to account for offsets != sizeof(char *). [Bug: 5153]
* Comment typo correction.ericm2000-06-051-2/+2
|
* * tests/set-old.test:hobbs2000-06-011-7/+23
| | | | | | * doc/unset.n: * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- options to unset, to allow for a silent unset operation.
* * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp andericm2000-05-311-6/+37
| | | | | | | | | | 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].
* * tests/info.test:hobbs2000-05-272-7/+22
| | | | | | | | * 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]
* * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ,hobbs2000-05-265-230/+456
| | | | | | | | | | | | | | | 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.
* * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code.hobbs2000-05-261-22/+9
| | | | | (AppendUnicodeToUnicodeRep) removed overallocation by extra sizeof(Tcl_UniChar) multiplier.
* * generic/tclInt.h:hobbs2000-05-262-2/+22
| | | | | * generic/tclObj.c (Tcl_DbIsShared): added support for checking result of Tcl_IsShared in evalstats (TCL_COMPILE_STATS).
* * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate inhobbs2000-05-261-282/+253
| | | | | | | | | | 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.
* * generic/tclInt.h: Added function prototypes forericm2000-05-235-8/+311
| | | | | | | | | | | | | | | | | | | | | | 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/tclEnv.c: cast cleanup [Bug: 5624]hobbs2000-05-221-2/+3
|
* * generic/tclTest.c:hobbs2000-05-196-1192/+1227
| | | | | | | | | | | | | * 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.
* * tests/clock.test: Added test for "2 days 2 hours ago" styleericm2000-05-182-78/+85
| | | | | | | | | | 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].
* * generic/tclClock.c (FormatClock): correct code to handle localehobbs2000-05-181-3/+12
| | | | | | | | 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]
* * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines forhobbs2000-05-111-3/+3
| | | | Linux on Sparc to compile correctly. [Bug: 5364]
* * doc/namespace.n:hobbs2000-05-111-9/+64
| | | | | | * tests/namespace.test: * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace exists' command. [Bug: 4665]
* * doc/source.n:hobbs2000-05-111-1/+7
| | | | | | | | | * 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.
* * tests/lsearch.test:ericm2000-05-091-31/+218
| | | | | | * doc/lsearch.n: * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to support sorted list searching and typed list searching. [RFE: 4098].
* * 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
|