summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
...
* modifs to help itcl adapt to VarReformMiguel Sofer2007-08-041-7/+12
|
* Tidying up.dkf2007-08-031-37/+35
|
* Abstracted the 'offsetof' to a TclOffset macro as per Tk_Offset to permitpatthoyts2007-08-011-1/+13
| | | | compilation with MSVC6 and anything else that may not define this macro.
* VarReform [Patch 1750051]Miguel Sofer2007-07-311-95/+218
| | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* * generic/tclBasic.c (TEOvI, GetCommandSource):Miguel Sofer2007-07-241-1/+2
| | | | | | | | | | * generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd): * generic/tclInt.h: * generic/tclTrace.c (TclCheck(Interp|Execution)Traces): Removed the need for TEBC to inspect the command before calling TEOvI, leveraging the TIP 282 infrastructure. Moved the generation of a correct nul-terminated command string away from the trace code, back into TEOvI/GetCommandSource.
* * generic/tclCompExpr.c: Removed dead code, old implementationsdgp2007-07-021-30/+1
| | | | | * generic/tclEvent.c: of expr parsing and compiling, including the * generic/tclInt.h: routine TclFinalizeCompilation().
* * generic/tclCompExpr.c: Removed dead code, old implementationsdgp2007-07-021-2/+1
| | | | | * generic/tclEvent.c: of expr parsing and compiling, including the * generic/tclInt.h: routine TclFinalizeCompilation().
* * generic/tclBasic.c: Removed dead code, including thedgp2007-06-281-35/+2
| | | | | | | | | | | | | * generic/tclExecute.c: entire file tclMathOp.c. * generic/tclInt.h: * generic/tclMathOp.c (removed): * generic/tclTestObj.c: * win/tclWinFile.c: * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c. * win/Makefile.in: * win/makefile.bc: * win/makefile.vc:
* * generic/tclExecute.c: Revised TclStackRealloc() signature to betterdgp2007-06-221-1/+3
| | | | | | | * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc. * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced ckrealloc based allocations with TclStackRealloc allocations.
* * generic/tclInt.decls: Modif to the internals ofMiguel Sofer2007-06-141-2/+3
| | | | | | | * generic/tclInt.h: TclObjInterpProc to reduce stack * generic/tclIntDecls.h: consumption and improve task * generic/tclProc.c: separation. Changes the interface of TclObjInterpProcCore (patching TclOO simultaneously).
* Convert [info] into an ensemble command.dkf2007-06-121-4/+2
|
* Improve the argument substitution behaviour of Tcl_WrongNumArgs when faced withdkf2007-06-121-1/+23
| | | | ensemble and interp-alias rewrites.
* * generic/tclInt.h:Miguel Sofer2007-06-101-1/+12
| | | | | | | | | * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclvar.c: new macros TclGetCurrentNamespace() and TclGetGlobalNamespace(); Tcl_GetCommandFromObj and TclGetNamespaceFromObj rewritten to make the logic clearer; slightly faster too.
* fix for ne TclCleanupCommandMacro (doh!)Miguel Sofer2007-06-101-2/+2
|
* * generic/tclBasic.c: Split TEOv in two, by separating aMiguel Sofer2007-06-091-1/+36
| | | | | | | | | | | | | | | | | | | | | | processor for non-TCL_OK returns. Also spli TEOvI in a full version that handles non-existing and traced commands, and a separate shorter version for the regular case. * generic/tclBasic.c: Moved the generation of command strings for * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in TclCheck[Interp|Execution]Traces(). Also insured that the strings are properly nul terminated at the correct length [Bug 1693986] * generic/tclBasic.c: Extend usage of TclLimitReady() and * generic/tclExecute.c: (new) TclLimitExceeded() macros. * generic/tclInt.h: * generic/tclInterp.c: * generic/tclInt.h: New TclCleanupCommandMacro for core usage. * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclObj.c:
* * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY todgp2007-06-051-1/+2
| | | | | | | | * generic/tclInt.h: control the timing with which the global * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get * generic/tclProc.c: updated after an error. This keeps more * generic/tclResult.c: precise compatibility with Tcl 8.4. * tests/result.test (result-6.2): [Bug 1649062]
* * generic/tclInt.h:Miguel Sofer2007-06-051-8/+18
| | | | * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
* * generic/tclBasic.c: Removed code that dealt withdgp2007-05-301-5/+1
| | | | | | | | | | | | | | | | * generic/tclCompile.c: TCL_TOKEN_EXPAND_WORD tokens representing * generic/tclCompile.h: expanded literal words. These sections were mostly in place to enable [info frame] to discover line information in expanded literals. Since the parser now generates a token for each post-expansion word referring to the right location in the original script string, [info frame] gets all the data it needs. * generic/tclInt.h: Revised the parser so that it never produces * generic/tclParse.c: TCL_TOKEN_EXPAND_WORD tokens when parsing an * tests/parse.test: expanded literal word; that is, something like {*}{x y z}. Instead, generate the series of TCL_TOKEN_SIMPLE_WORD tokens to represent the words that expansion of the literal string produces. [RFE 1725186]
* * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPcpatthoyts2007-05-111-5/+1
| | | | from tclInt.h now they are in the internal stubs table.
* * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined,dgp2007-05-091-2/+2
| | | | so make sure it is also always declared (with MODULE_SCOPE).
* * generic/tclInt.h: fix warning when building threaded with -DPURIFY.das2007-05-091-1/+2
|
* Changes to allow the tip257 code to work as an extension properly post-tip280dkf2007-05-051-76/+101
|
* * generic/tclInt.h (TclDecrRefCount): change the order of theMiguel Sofer2007-04-181-6/+7
| | | | | branches, use empty 'if ; else' to handle use in unbraced outer if/else conditions (as already done in tcl.h)
* Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-4/+14
| | | | efficient). After [Patch 1529526] (afredd)
* * generic/tclInt.decls: Moved TclGetNamespaceFromObj() toMiguel Sofer2007-04-031-3/+1
| | | | | | * generic/tclInt.h: the internal stubs table; regen. * generic/tclIntDecls.h: * generic/tclStubInit.c:
* * generic/tclBasic.c: Added bytecode compilers for theMiguel Sofer2007-04-031-3/+11
| | | | | | | | * generic/tclCompCmds.c: variable linking commands: 'global', * generic/tclCompile.h: 'variable', 'upvar', 'namespace upvar' * generic/tclExecute.c: [Patch 1688593] * generic/tclInt.h: * generic/tclVar.c:
* * generic/tclCmdMZ.c (STR_REVERSE): Implement the actualdgp2007-03-281-1/+2
| | | | | | | | | | | [string reverse] command in terms of the new TclStringObjReverse() routine. * generic/tclInt.h (TclStringObjReverse): New internal routine * generic/tclStringObj.c (TclStringObjReverse): that implements the [string reverse] operation, making use of knowledge/surgery of the String intrep to minimize the number of allocs and copies needed to do the job.
* * generic/tclBasic.c: Use new interface in Tcl_EvalObjEx so thatdgp2007-02-241-1/+2
| | | | | | | | | | | | the recounting logic of the List internal rep need not be repeated there. Better encapsulation of internal details. * generic/tclInt.h: New internal routine TclListObjCopy() used * generic/tclListObj.c: to efficiently do the equivalent of [lrange $list 0 end]. After some experience with this, might be a good candidate for exposure as a public interface. It's useful for callers of Tcl_ListObjGetElements() who want to control the ongoing validity of the returned objv pointer.
* TIP#287 IMPLEMENTATIONdgp2006-12-011-1/+4
| | | | | | | | | | * doc/chan.n: New subcommand [chan pending]. * generic/tclBasic.c: Thanks to Michael Cleverly for proposal * generic/tclInt.h: and implementation. * generic/tclIOCmd.c: * library/init.tcl: * tests/chan.test: * tests/ioCmd.test:
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-2/+152
| | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclProc.c: * tests/compile.test: * tests/info.test: * tests/platform.test: * tests/safe.test:
* *Partial* implementation of TIP#174. Still needs non-compiled versions of mostdkf2006-11-231-1/+117
| | | | operators, plus docs and tests.
* * generic/tcl.h: Moved TCL_REG_BOSONLY #define from tcl.h todgp2006-11-221-2/+13
| | | | | | * generic/tclInt.h: tclInt.h. Only know user is Expect, which already #include's tclInt.h. No need to continue greater exposure. [Bug 926500]
* TIP#270 IMPLEMENTATIONdgp2006-11-151-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed. * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* * generic/tclCompExpr.c: fix gcc warnings about 'cast to/fromdas2006-11-131-1/+26
| | | | | | | | | | | | | | | | | | | | | | | * generic/tclEncoding.c: pointer from/to integer of different * generic/tclEvent.c: size' on 64-bit platforms by casting to * generic/tclExecute.c: intermediate types intptr_t/uintptr_t * generic/tclHash.c: via new PTR2INT(), INT2PTR(), * generic/tclIO.c: PTR2UINT() and UINT2PTR() macros. * generic/tclInt.h: [Patch 1592791] * generic/tclProc.c: * generic/tclTest.c: * generic/tclThreadStorage.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/configure.in: * unix/tclUnixChan.c: * unix/tclUnixPipe.c: * unix/tclUnixPort.h: * unix/tclUnixTest.c: * unix/tclUnixThrd.c: * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59
* Transfer TclPtrMakeUpvar and TclObjLookupVar to the internal stubs table.dkf2006-11-121-8/+1
|
* Implemented [lreverse] from TIP#272dkf2006-11-091-1/+4
|
* * generic/tclCmdAH.c: Further revisions to produce the routinesdgp2006-11-021-7/+5
| | | | | | * generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that * generic/tclNamesp.c: accept (objc, objv) arguments rather than * generic/tclStringObj.c: any varargs stuff.
* * generic/tclBasic.c: Further revised TclAppendPrintToObj() anddgp2006-11-021-5/+4
| | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable * generic/tclCmdAH.c: to complete their formatting operations, rather * generic/tclCmdIL.c: than report an error message. This means an * generic/tclCmdMZ.c: interp argument for error message recording is * generic/tclDictObj.c: no longer needed, further simplifying the * generic/tclExecute.c: interface for callers. * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* * generic/tclBasic.c: Refactored and renamed the routinesdgp2006-10-311-7/+9
| | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of * generic/tclCmdIL.c: routines TclAppendPrintfToObj, * generic/tclCmdMZ.c: TclAppendFormatToObj, TclObjPrintf, and * generic/tclDictObj.c: TclObjFormat, with the intent of making * generic/tclExecute.c: the latter list, plus TclAppendLimitedToObj * generic/tclIORChan.c: and TclAppendObjToErrorInfo, public via * generic/tclIOUtil.c: a revised TIP 270. * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* Fix [Bug 1587618], eliminating the callObjc and callObjv fields from the Interpdkf2006-10-311-16/+3
| | | | structure.
* Minor style consistency cleanupdkf2006-10-281-39/+39
|
* Added some explanatory comments.dkf2006-10-281-10/+14
|
* Insert of calling point in middle of procedure code. Also cleaned up howdkf2006-10-281-1/+8
| | | | [apply] terms generate stack trace info.
* Added missing type to declarationdkf2006-10-271-2/+2
|
* Add field to CallFrame for holding object call frame data.dkf2006-10-271-2/+11
|
* * library/clock.tcl (format, scan): corrected wrong # argsMiguel Sofer2006-10-231-3/+11
| | | | | | | | | | | | | | | | | * tests/clock.test (3.1, 34.1): messages to make use of the new rewrite capabilities of [info level] * generic/tcl.h: Lets TEOV update the iPtr->objc/objv * generic/tclBasic.c: fields, except when the (new) flag bit * generic/tclInt.h: TCL_EVAL_NOREWRITE is present. This * generic/tclNamesp.c: causes [info level] to know and use * generic/tclProc.c: ensemble rewrites [Bug 1577492] * tests/namespace.test: ***POTENTIAL INCOMPATIBILITY*** The return value from [info level 0] on interp alias calls is changed: previously returned the target command (including curried values), now returns the source - what was actually called.
* * generic/tcl.h: Modified the Tcl call stack soMiguel Sofer2006-10-231-8/+7
| | | | | | | | | | | | | * generic/tclBasic.c: there is always a valid CallFrame, even * generic/tclCmdIL.c: at level 0 [Patch 1577278]. Most of the * generic/tclInt.h: changes involve removing tests for * generic/tclNamesp.c: iPtr->(var)framePtr==NULL. There is now a * generic/tclObj.c: CallFrame pushed at interp creation * generic/tclProc.c: with a pointer to it stored in * generic/tclTrace.c: iPtr->rootFramePtr. A second unused * generic/tclVar.c: field in Interp is hijacked to enable further functionality, currently unused (but with several FRQs depending on it).
* Undo mistaken commit to wrong branch caused by CVS fumble... :-}dkf2006-10-201-71/+2
|
* Consolidated TIP#257 patch applied to HEAD to allow for experimentation bydkf2006-10-201-2/+71
| | | | other developers
* * generic/tclInt.decls:Miguel Sofer2006-09-301-4/+9
| | | | | | | | | * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclObj.c: * generic/tclStubInit.c: added an internal function TclObjBeingDeleted to provide info as to the reason for the loss of an internal rep. [FR 1512138]