summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
Commit message (Collapse)AuthorAgeFilesLines
* Stick to TCL_CHANNEL_VERSION_4; it's all in alpha anyway!dkf2005-06-071-6/+2
|
* Bump patchlevel to a4dkf2005-06-071-3/+3
|
* TIP#208 implementationdkf2005-06-061-8/+20
| | | | It's crude (especially in the tests and docs department) and incomplete (no truncation on non-POSIX platforms).
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+18
|
* * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistakendgp2005-03-101-9/+1
| | | | | | | | | cast of ClientData to (TraceCommandInfo *) when not warranted. Thanks to Yuri Victorovich for the report. [Bug 1153871] * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface into private. Should be used only by internal workings of execution traces.
* TIP#218 IMPLEMENTATIONandreas_kupries2005-01-271-1/+22
| | | | | | | | | | | | | | | | | | | | * 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-211-1/+6
| | | | | | | | | | | | | | * 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.
* TIP#235 implementation (rename functions, add to stubs table, document)dkf2005-01-191-1/+8
| | | | Ensembles now have a C API. :^)
* * 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].
* Bump to a3 to prevent confusion with a2 release.dkf2004-12-101-3/+3
|
* * unix/configure.in: The change below reveals that the publicdgp2004-11-171-5/+1
| | | | | | | | | | | | | | data type Tcl_StatBuf relies on config information. For now, disabled the use of the tclConfig.h file until its full impact on Tcl's interface can be assessed. * unix/configure: autoconf-2.57 * generic/tcl.h: Moved the #include "tclConfig.h" out of * generic/tclInt.h: tcl.h. The config settings are not part of * generic/tclPort.: the public interface, and having it there breaks compiled against uninstalled Tcl and extensions using autoconf-2.5*.
* * generic/tcl.h:das2004-11-161-2/+2
| | | | | | * unix/configure.in: changed HAVE_CONFIG_H to HAVE_TCL_CONFIG_H. * unix/configure: autoconf-2.57
* TIP #221 IMPLEMENTATIONdgp2004-11-131-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBasic.c: Define [::tcl::Bgerror] in new interps. * generic/tclEvent.c: Update Tcl_BackgroundError to make use of the registered [interp bgerror] command. * generic/tclInterp.c: New [interp bgerror] subcommand. * tests/interp.test: syntax tests updated. TIP #226 IMPLEMENTATION * generic/tcl.decls: Stubs for Tcl_(Save|Restore|Discard)InterpState * generic/tcl.h: New public opaque type, Tcl_InterpState. * generic/tclInt.h: Drop old private declarations. Add Tcl(Get|Set)BgErrorHandler * generic/tclResult.c: Tcl_*InterpState implementations. * generic/tclDictObj.c: Update callers. * generic/tclIOGT.c: * generic/tclTrace.c: TIP #227 IMPLEMENTATION * generic/tcl.decls: Stubs for Tcl_(Get|Set)ReturnOptions. * generic/tclInt.h: Drop old private declarations. * generic/tclResult.c: Tcl_*ReturnOptions implementations. * generic/tclCmdAH.c: Update callers. * generic/tclMain.c:
* * generic/tcl.h:das2004-11-121-1/+5
| | | | | | | | | | * generic/tclInt.h: * unix/Makefile.in: include tclConfig.h from tcl.h and install it as a public header. Normalized compiler include path order to -I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}. * unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path to pick up tclConfig.h.
* * generic/tcl.h: Moved the preprocessor logicdavygrvy2004-11-031-8/+8
| | | | | | | | | | | * generic/tclDecls.h: from tclInt.h of setting the * generic/tclInt.h: TCL_STORAGE_CLASS macro to the * generic/tclIntDecls.h: tcl*Decls.h files now that no * generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h. * generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h * win/tclWinPort.h: to prior the inclusion of the Stubs headers as they are now resetting TCL_STORAGE_CLASS. Removed extrainious reset from tclWinPort.h. [Patch 1055668]
* Improved comments on selected flags in tcl.hdkf2004-11-011-3/+13
|
* * generic/tcl.h: Removed the file level 'extern "C" {' and thedavygrvy2004-10-271-17/+1
| | | | | coresponding closing block as it serves no purpose given that all the function prototypes have the proper extern usage already.
* Modify the semantics of [dict set] to be what everyone expected them to bedkf2004-10-021-4/+5
| | | | | in a straw poll. Also made T_DODone;T_DONext a non-fatal sequence, leading to simplified code.
* * generic/tcl.h: Micro formatting fixes.andreas_kupries2004-09-101-4/+4
| | | | | * generic/tclIOGT.c: Channel version fixed, must be 3, to have wideseekProc. Thanks to David Graveraux <davygrvy@pobox.com>.
* Fix missed references to 8.4, spotted by Theo Verelst.dkf2004-07-011-3/+3
|
* * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw Kevin B Kenny2004-06-051-4/+9
| | | | | | | | | | | | | | | | | | | | build works again. * generic/tclDecls.h: Changes to the tests for * generic/tclInt.decls: clock frequency in * generic/tclIntDecls.h: Tcl_WinTime * generic/tclIntPlatDecls.h: so that any clock frequency * generic/tclPlatDecls.h: is accepted provided that * generic/tclStubInit.c: all CPU's in the system share * tests/platform.test (platform-1.3): a common chip, and hence, * win/tclWin32Dll.c (TclWinCPUID): presumably, a common clock. * win/tclWinTest.c (TestwincpuidCmd) This change necessitated a * win/tclWinTime.c (Tcl_GetTime): small burst of assembly code to read CPU ID information, which was added as TclWinCPUID in the internal Stubs. To test this code in the common case of a single-processor machine, a 'testwincpuid' command was added to tclWinTest.c, and a test case in platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for reporting this bug. [Bug #976722]
* * generic/tcl.h: Restored #include <stdio.h> to tcl.h,dgp2004-06-041-1/+12
| | | | | | rejecting the "fix" for "Bug" 945570. Tcl_FSSeek() needs the values of SEEK_SET, etc. and too many extensions rely on tcl.h providing stdio.h for them.
* Finish fixing comments for [Bug 848440]dkf2004-05-251-2/+3
|
* TIP#143 implementation; still needs docs and more tests...dkf2004-05-131-1/+19
|
* * generic/tcl.h: Removed obsolete declarations and #include's.dgp2004-04-251-7/+1
| | | | * generic/tclInt.h: [Bugs 926459, 926486]
* Add comment for TCL_TOKEN_EXPAND_WORD flagdgp2004-03-311-1/+6
|
* * README: Bumped version number to 8.5a2 todgp2004-03-261-3/+3
| | | | | | | | | | | * tools/tcl.wse.in: distinguish HEAD of CVS development * unix/configure.in: from the recent 8.5a1 release. * unix/tcl.spec: * win/README.binary: * win/configure.in: * unix/configure: autoconf-2.57 * win/configure:
* Removed support for Mac OS Classic platform [Patch 918142]das2004-03-171-44/+6
|
* reformatted a comment I had once moved so it doesn't exceed 74 colums.davygrvy2004-03-081-3/+3
|
* update patchlevel to 8.5a1hobbs2004-03-021-3/+3
|
* TIP#100 implementation largely based on work by Georgios Petasis.dkf2004-02-241-1/+8
|
* Renamed and deprecated #defines moved to within the #ifndef TCL_NO_DEPRECATEDdavygrvy2004-01-091-16/+18
| | | | | block. This alows us to build Tcl to check for deprecated functions in use, such as panic() and Tcl_Ckalloc(). By request from DKF.
* Removed note that makefile.vc needs to have a version number changed.davygrvy2003-12-231-2/+1
|
* TIP#138 implementation plus extra test stuff [Patch 731356]dkf2003-11-141-1/+6
|
* * doc/ParseCmd.3: Implementation of TIP 157. Adds recognitiondgp2003-11-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Tcl.n: of the new leading {expand} syntax on words. * generic/tcl.h: Parses such words as the new Tcl_Token type * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx * generic/tclCompile.c: and the bytecode compiler/execution engine * generic/tclCompile.h: to recognize the new token type. New opcodes * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs * generic/tclTest.c: and tests are included. * tests/basic.test: * tests/compile.test: * tests/parse.test: * library/auto.tcl: Replaced several [eval]s used to perform * library/package.tcl: argument expansion with the new syntax. * library/safe.tcl: In the test files lindex.test and lset.test, * tests/cmdInfo.test: replaced use of [eval] to force direct * tests/encoding.test: string evaluation with use of [testevalex] * tests/execute.test: which more directly and robustly serves the * tests/fCmd.test: same purpose. * tests/http.test: * tests/init.test: * tests/interp.test: * tests/io.test: * tests/ioUtil.test: * tests/iogt.test: * tests/lindex.test: * tests/lset.test: * tests/namespace-old.test: * tests/namespace.test: * tests/pkg.test: * tests/pkgMkIndex.test: * tests/proc.test: * tests/reg.test: * tests/trace.test: * tests/upvar.test: * tests/winConsole.test: * tests/winFCmd.test:
* filesystem bug fixesvincentdarley2003-10-131-2/+3
|
* * doc/SplitList.3: Implementation of TIP 148. Fixes [Bug 489537].dgp2003-09-041-4/+11
| | | | | | | | | | * generic/tcl.h: Updated Tcl_ConvertCountedElement() to quote * generic/tclUtil.c: the leading "#" character of all list elements unless the TCL_DONT_QUOTE_HASH flag is passed in. * generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers * generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags * generic/tclResult.c: when appropriate.
* Added some support for the OpenWatcom compiler. A win/makefile.wc todavygrvy2003-08-271-3/+6
| | | | follow soon.
* Added some support for the LCC-Win32 compiler. Unfortunetly, this compilerdavygrvy2003-08-261-2/+2
| | | | has a bug in its preprocessor and can't build Tcl even with this minor patch.
* * generic/tcl.h: Revert change made on 2003-07-21mdejong2003-07-241-10/+1
| | | | | | | | | | | | | | | since it made the sizeof(Tcl_Obj) different for regular vs mem debug builds. * generic/tclInt.h: Define TclDecrRefCount in terms of Tcl_DbDecrRefCount which removes one layer of inderection. * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, Tcl_DbDecrRefCount, Tcl_DbIsShared): Define ThreadSpecificData that contains a hashtable. The table is used to ensure that a Tcl_Obj is only acted upon in the thread that allocated it. This checking code is enabled only when mem debug and threads are enabled.
* Check that the thread incrementing or decrementingmdejong2003-07-221-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the ref count of a Tcl_Obj is the thread that originally allocated the thread. This fail fast behavior will catch programming errors that allow a single Tcl_Obj to be accessed from multiple threads. * generic/tcl.h (Tcl_Obj): Add allocThread member to Tcl_Obj. This member records the thread id the Tcl_Obj was allocated. It is used to check that any future ref count incr or decr is done from the same thread that allocated the Tcl_Obj. This member is defined only when threads and mem debug are enabled. * generic/tclInt.h (TclNewObj, TclDbNewObj, TclDecrRefCount): Define TclNewObj and TclDbNewObj using TclDbInitNewObj when mem debug is enabled. This fixes a problem where TclNewObj calls did not work the same as TclDbNewObj when mem debug was enabled. * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj members when mem debug is enabled. Init the allocThread member in TclDbInitNewObj and check it in Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure a Tcl_Obj allocated in one thread is not being acted upon in another thread.
* * unix/tclUnixFCmd.c: fix for compilation errors on platforms wheredas2003-07-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure detects non-functional chflags(). [Bug 748946] * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build to be purely make driven; in order to become independent of Apple's closed-source IDE and build tool. The changes are intended to be transparent to the Makefile user, all existing make targets and cmd line variable overrides should continue to work. Changed build to only include tcl specific html help in Tcl.framework, the tk specific html help is now included in Tk.framework. Added var to allow overriding of tclsh used during html help building (Landon Fuller). * macosx/Tcl.pbproj/project.pbxproj: * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to the make driven buildsystem; Tcl.framework is no longer assembled by ProjectBuilder. Set default SYMROOT in target options to simplify setting up PB (manually setting common build folder for tcl & tk no longer needed). * tools/tcltk-man2html.tcl: Added options to allow building only the tcl or tk html help files; the default behaviour with none of the new options is to build both, as before. * unix/Makefile.in: Added targets for building only the tcl or tk help. * macosx/README (new): Tcl specific excerpts of tk/macosx/README. * generic/tcl.h: Updated reminder comment about editing macosx/Tcl.pbproj/project.pbxproj when version number changes.
* * generic/tcl.h: add recognition of -DTCL_UTF_MAX=6 on thehobbs2003-07-161-3/+20
| | | | | * generic/regcustom.h: make line to support UCS-4 mode. No config arg at this time, as it is not the recommended build mode.
* * generic/tcl.decls: Ported the changes from theandreas_kupries2003-06-091-1/+11
| | | | | | | | | | | | | | | | | * generic/tcl.h: 'tip-59-implementation' branch into the CVS * generic/tclBasic.c: head. Regenerated stub table. Regenerated * generic/tclInt.h: the configure's scripts, with help from Joe * generic/tclDecls.h English. * generic/tclStubInit.c: * generic/tclConfig.c: * generic/tclPkgConfig.c: * unix/Makefile.in: * unix/configure.in: The changes in the windows section are not * unix/tcl.m4: yet committed, they await feedback from * unix/mkLinks: David Gravereaux. * doc/RegConfig.3: * mac/tclMacPkgConfig.c: * tests/config.test:
* * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjTypedgp2003-04-161-6/+1
| | | | | | | | | | | | | | | | | | | | | | * generic/tclObj.c is defined on all platforms, even those where * generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made the Tcl_Value struct have a wideValue field on all platforms. This is a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms because that struct changes size. This is the same TIP 72 incompatibility that was seen on other platforms at the 8.4.0 release, when this change should have happened as well. [Bug 713562] * generic/tclInt.h: New internal macros TclGetWide() and TclGetLongFromWide() to deal with both forms of the "wideInt" Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined to the header file. * generic/tclCmdAH.c: Replaced most coding that was conditional * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that * generic/tclExecute.c: works across platforms, sometimes using * generic/tclTest.c: the new macros above to do it. * generic/tclUtil.c: * generic/tclVar.c:
* Build support for dicts on Unix and Windows, plus public API (structuredkf2003-04-051-1/+14
| | | | declaration and stubs entries.)
* * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENTdgp2003-03-121-4/+1
| | | | | * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's public interface. Put them in win/tclWinPipe.c where they are used.
* * README: Bumped version number ofdgp2003-03-041-6/+7
| | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.h: Tcl to 8.5a0. * library.init.tcl: * mac/README: * macosx/Tcl.pbproj/project.pbxproc: * tests/basic.test: * tools/configure.in: * tools/tcl.hpj.in: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/README: * win/README.binary: * win/configure.in: * win/makefile.bc: * win/makefile.vc: * win/tcl.m4: * tools/configure: autoconf * unix/configure: * win/configure:
* * README: Bumped to version 8.4.2.hobbs2003-02-151-3/+3
| | | | | | | | | | | | | * generic/tcl.h: * tools/tcl.wse.in: * unix/configure: * unix/configure.in: * unix/tcl.m4: * unix/tcl.spec: * win/README.binary: * win/configure: * win/configure.in: * macosx/Tcl.pbproj/project.pbxproj:
* * generic/tcl.h: Add TCL_PREFIX_IDENT andmdejong2003-01-281-1/+4
| | | | | | | | | | | | | | | | | TCL_DEBUG_IDENT, used only by TclpCreateProcess. * unix/Makefile.in: Define TCL_DBGX. * win/Makefile.in: Define TCL_DBGX. * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll actually exists in the Tcl bin directory and panic if it is not found. Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a really mysterious error that would show up when exec'ing a 16 bit application under Win95 or Win98 when Tcl was compiled with symbols. The error seemed to indicate that the executable could not be found, but it was actually the Tcl pipe dll that could not be found.