summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclBasic.c (Tcl_EvalObjEx):Miguel Sofer2005-02-101-5/+21
| | | | | | * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV in the pure-list branch, in case the list shimmers away. Fix for [Bug 1119369], reported by Peter MacDonald.
* fix to test suite failuresvincentdarley2005-02-101-3/+12
|
* * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread.davidw2005-02-051-2/+2
| | | | | | | * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath documentation. * generic/tclPathObj.c: Cleaned up typo in comment.
* Whitespace fixes and add notes to #else/#endif so it is clearer what's happeningdkf2005-02-031-25/+26
|
* * generic/tclProc.c (TclInitCompiledLocals):mdejong2005-02-021-3/+9
| | | | | | | | | | Add check for type of the framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if it is not the correct type. If the body of the proc is not of the compiled byte code type then the code will crash. This was discovered while tracking down a crash in Itcl, that crash is fixed by Itcl patch 1115085.
* * generic/tclExecute.c (TclCompEvalObj): Removed stray statementdgp2005-02-011-2/+1
| | | | left behind in prior code reorganization.
* Added test for [1109484]dkf2005-01-281-3/+8
|
* * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble)hobbs2005-01-281-4/+46
| | | | (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484]
* TIP#218 IMPLEMENTATIONandreas_kupries2005-01-276-29/+102
| | | | | | | | | | | | | | | | | | | | * generic/tclDecls.h: Regenerated from tcl.decls. * generic/tclStubInit.c: * doc/CrtChannel.3: Documentation of extended API, * generic/tcl.decls: extended testsuite, and * generic/tcl.h: implementation. Removal of old * generic/tclIO.c: driver-specific TclpCut/Splice * generic/tclInt.h: functions. Replaced with generic * tests/io.test: thread-action calls through the * unix/tclUnixChan.c: new hooks. Update of all builtin * unix/tclUnixPipe.c: channel drivers to version 4. * unix/tclUnixSock.c: Windows drivers extended to * win/tclWinChan.c: manage thread state in a thread * win/tclWinConsole.c: action handler. * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c:
* * generic/tclStubInit.c: Regenerated the stubs support code fromandreas_kupries2005-01-215-5/+58
| | | | | | | | | | | | | | * generic/tclDecls.h: the modified tcl.decls (TIP #233, see below). * doc/GetTime.3: Implemented TIP #233, i.e. the * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. * generic/tcl.h: Declared, implemented, and documented the * generic/tclInt.h: specified new API functions. Moved the * unix/tclUnixEvent.c: native (OS) access to time information * unix/tclUnixNotfy.c: into standard handler functions. Inserted * unix/tclUnixTime.c: hooks calling on the handlers where native * win/tclWinNotify.c: access was done before, and where scaling * win/tclWinTime.c: between domains (real/virtual) is required.
* * generic/tclThread.c: Typo police. Fixed some nitsandreas_kupries2005-01-214-9/+9
| | | | | | * generic/tclCmdAH.c: in header comments of functions. * generic/tclBasic.c: (Missing --). * generic/tclFileName.c:
* regendkf2005-01-192-2/+155
|
* TIP#235 implementation (rename functions, add to stubs table, document)dkf2005-01-195-112/+132
| | | | Ensembles now have a C API. :^)
* fix to glob failure on Windows sharesvincentdarley2005-01-171-2/+18
|
* With vfs permissions can exist on non-unix filesystemsvincentdarley2005-01-141-3/+1
|
* D'oh!dkf2005-01-141-2/+2
|
* Stop reliance on absolute attribute indexes with helper function [Bug 1100671]dkf2005-01-143-10/+95
|
* Move #include of tclConfig.h to right place.dkf2005-01-052-6/+6
|
* bugs 1090413, 1092789 fixedKevin B Kenny2004-12-292-103/+107
|
* Avoid sharing cmdName literals accross namespaces, and generalise usage ofMiguel Sofer2004-12-246-37/+74
| | | | the TclRegisterNewLiteral macro [Patch 1090905]
* fix for last commit; thanks dgp and tclguy for catch/classify/throwMiguel Sofer2004-12-201-3/+3
|
* * generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.cMiguel Sofer2004-12-202-170/+235
| | | | | | | | * generic/tclProc.c: new static InitCompiledLocals to allow for a single pass over the proc's arguments at proc load time (instead of two as previously). TclObjInterpProc() now allocates the compiledLocals on the tcl execution stack, using the new TclStackAlloc/Free functions.
* Upgrade the capabilities of time limits by allowing them to fire in the midstdkf2004-12-164-19/+145
| | | | of the processing of the event loop or during a blocking [after]. [Bug 1085023]
* * generic/tclTest.c: Added two new functions to allocate memoryMiguel Sofer2004-12-158-33/+229
| | | | | | | | | | from the execution stack (TclStackAlloc, TclStackFree). Added functions TclPushStackFrame and TclPopStackFrame that do the work of Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in the execution stack - i.e., heap instead of C-stack. The core uses these two new functions exclusively; the old ones remain for backwards compat, as at least two popular extensions (itcl, xotcl) are known to use them.
* changing the isProcCallFrame field of the CallFrame struct from a 0/1 fieldMiguel Sofer2004-12-144-23/+27
| | | | to flags. Should be perfectly backwards compatible.
* * generic/tcl.h: Restored extern "C" guards so that C++ codedgp2004-12-131-1/+17
| | | | | sees function pointer typedef linkage consistent with earlier Tcl releases. [Bug 1082349].
* * generic/tclEncoding.c: Plugged some memory leaks. Thanks todgp2004-12-132-3/+5
| | | | * generic/tclUtil.c: Rolf Ade for reports and testing [Bug 1083082]
* * generic/tclVar.c (TclArrayObjCmd - ARRAY_NAMES): leaking an object [BugMiguel Sofer2004-12-131-1/+2
| | | | 1084111] - thanks to Rolf Ade.
* * generic/tclObj.c (TclSetCmdNameObj): special handling for fully qualifiedMiguel Sofer2004-12-121-1/+19
| | | | command names (as in fix [Patch 456668]).
* converting the static function GetNamespaceFromObj() to MODULE_SCOPEMiguel Sofer2004-12-112-13/+14
| | | | TclGetNamespaceFromObj().
* Bump to a3 to prevent confusion with a2 release.dkf2004-12-101-3/+3
|
* optimised loops that initialise a proc's arguments and compiled localMiguel Sofer2004-12-104-114/+162
| | | | variables, removing tests from inner loops.
* Make ensemble API available to rest of Tcl core.dkf2004-12-102-36/+36
|
* Provide an internal API for manipulating ensembles.dkf2004-12-091-133/+635
|
* * generic/tclEncoding.c: Different fix for [Bug 1077005].dgp2004-12-043-4/+6
| | | | | | | | | * generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on * generic/tclInt.h: Windows into TclpSetInterfaces(), that is * unix/tclUnixInit.c: fundamentally essential, and the initialization * win/tclWinInit.c: of the system encoding, which is not. Made the TclpSetInterfaces call part of TclInitSubsystems so it cannot be overlooked.
* * generic/tclUtil.c (TclSetProcessGlobalValue): Handle the casedgp2004-12-022-6/+7
| | | | | | | | where a ProcessGlobalValue might be assigned to itself. * generic/tclEncoding.c (MakeFileMap): Correct refcounting errors managing values returned by TclPathPart (with refCount of 1!) that led to a memory leak. [Bug 1077474].
* filesystem, glob, tilde fixvincentdarley2004-12-021-1/+17
|
* Remove a global mutex/state by using lists instead of hashtables to store thedkf2004-12-021-49/+51
| | | | collection of aliases that refer to an interpreter. [FRQ 1077210]
* Convert mutex-protected global state into thread-local state. [FRQ 1077210]dkf2004-12-021-9/+18
|
* * generic/tclUtil.c (TclGetProcessGlobalValue): Narrowed the scopedgp2004-12-021-50/+58
| | | | of mutex locks.
* * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() todgp2004-12-018-120/+130
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclEncoding.c: make use of a ProcessGlobalValue for * generic/tclEvent.c: storing the executable name. Added internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that storage in Tcl_Obj, rather than string format. * unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use * win/tclWinFile.c: TclSetObjNameOfExecutable to store the executable name it computes. * generic/tclInt.h: Added internal stub entries for * generic/tclInt.decls: TclpFindExecutable and Tcl(Get|Set)ObjNameOfExecutable. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form * win/tclWinPipe.c: instead of string form. * unix/tclUnixTest.c: Update [testfindexecutable] command to use new internal interfaces.
* * generic/tclEncoding.c: Moved TclpSetInitialEncodings()dgp2004-12-011-3/+2
| | | | | | | | call from Tcl_FindExecutable() into TclInitEncodingSubsystem(). This is important on Windows where it establishes whether the "ascii" or "unicode" set of system routines will be used, and that needs to be done earlier to support filesystem operations. [Bug 1077005]
* Patch 976520 reworks several of the details involved withdgp2004-11-3012-559/+1006
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | startup/initialization of the Tcl library, focused on the activities of Tcl_FindExecutable(). * generic/tclIO.c: Removed bogus claim in comment that encoding "iso8859-1" is "built-in" to Tcl. * generic/tclInt.h: Created a new struct ProcessGlobalValue, * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and function type TclInitProcessGlobalValueProc. Together, these take care of the housekeeping for "values" (things that can be held in a Tcl_Obj) that are global across a whole process. That is, they are shared among multiple threads, and epoch and mutex protection must govern the validity of cached copies maintained in each thread. * generic/tclNotify.c: Modified TclInitNotifier() to tolerate being called multiple times in the same thread. * generic/tclEvent.c: Dropped the unused argv0 argument to TclInitSubsystems(). Removed machinery to unsure only one TclInitNotifier() call per thread, now that that is safe. Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to tclEncoding.c. * generic/tclBasic.c: Updated caller. * generic/tclInt.h: TclpFindExecutable now returns void. * unix/tclUnixFile.c: * win/tclWinFile.c: * win/tclWinPipe.c: * generic/tclEncoding.c: Built new encoding search initialization on a foundation of ProcessGlobalValues, exposing new routines Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to directory pathname keeps track of where encodings are available for loading. Tcl_FindExecutable greatly simplified into just three function calls. The "library path" is now misnamed, as its only remaining purpose is as a foundation for the default encoding search path. * generic/tclInterp.c: Inlined the initScript that is evaluated by Tcl_Init(). Added verification after initScript evaluation that Tcl can find its installed *.enc files, and that it has initialized [encoding system] in agreement with what the environment expects. [tclInit] no longer driven by the value of $::tcl_libPath; it largely constructs its own search path now, rather than attempt to share one with the encoding system. * unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can reveal that Tcl thinks the [encoding system] should be, even when an incomplete encoding search path, or a missing *.enc file won't allow that initialization to succeed. TclpInitLibraryPath reworked as an initializer of a ProcessGlobalValue. * unix/tclUnixTest.c: Update implementations of [testfindexecutable], [testgetdefenc], and [testsetdefenc]. * tests/unixInit.test: Corrected tests to operate properly even when a value of TCL_LIBRARY is required to find encodings. * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath, TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These are candidates for public exposure by future TIPs. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclTest.c: Updated [testencoding] to use * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
* Fix [Bug 1066837] without reopening other bugs... What a horrid hack! :^/dkf2004-11-252-4/+32
|
* * generic/tclPort.h: Relative include of tclWinPort.h returned as it was ↵davygrvy2004-11-241-2/+2
| | | | | | | requiring me set -I$(tcl_root)/win for my extensions that need to include tclInt.h and doesn't appear to serve any purpose on windows builds.
* * generic/tclCmdIL.c (InfoVarsCmd): Corrected segfault in newdgp2004-11-241-6/+8
| | | | * tests/info.test (info-19.6): trivial matching branch [Bug 1072654]
* Remove call to Tcl_GetStringResult to speed up processing of [$canv postscript]dkf2004-11-231-1/+13
| | | | and other repeated callers of Tcl_AppendResult(). [Patch 1041072]
* * generic/tclInterp.c: Restored several directories to the searchdgp2004-11-221-11/+29
| | | | | | | | * tests/unixInit.test: path used to locate init.tcl within [tclInit]. This change does not restore any directories to the encoding search path, so should still avoid the price of an unreasonably large number of filesystem accesses during encoding initialization at startup [Bug 976438]
* fix to windows file join bugvincentdarley2004-11-221-4/+12
|
* * tests/interp.test (interp-36.*): [interp bgerror] tests.dgp2004-11-181-5/+3
| | | | * generic/tclInterp.c: Corrected [interp bgerror] error messages.