summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdIL.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them easier for callers to use (or more precisely, harder to misuse). TclStackFree now takes a (void *) argument which is the pointer intended to be freed. TclStackFree will panic if that's not actually the memory the call will free. TSA/TSF also now tolerate receiving (interp == NULL), in which case they simply fall back to be calls to Tcl_Alloc/Tcl_Free. * generic/tclIntDecls.h: make genstubs * generic/tclBasic.c: Updated callers * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclIOCmd.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclProc.c: * generic/tclTrace.c: * unix/tclUnixPipe.c:
* | * generic/tclCmdIL.c (InfoFrameCmd):Miguel Sofer2007-06-181-10/+15
| | | | | | | | | | | | | | * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * generic/tclCompile.c (TclInitCompileEnv): * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the CmdFrame off the C stack and onto the Tcl stack.
* | Convert [info] into an ensemble command.dkf2007-06-121-183/+145
| |
* | Changes to allow the tip257 code to work as an extension properly post-tip280dkf2007-05-051-7/+16
| |
* | Whitespace policing, replacing commas in varargs with constant string ↵Kevin B Kenny2007-04-201-3/+3
| | | | | | | | catenation, and fixed an oversight in the fix for NZA time zones.
* | Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-45/+31
| | | | | | | | efficient). After [Patch 1529526] (afredd)
* | Fix [Bug 1679072]dkf2007-03-121-33/+43
| |
* | Fix [Bug 1675044]dkf2007-03-111-3/+15
| |
* | * generic/tclCmdIL (Tcl_LsortObjCmd): changed fix to [Bug 1675116]Miguel Sofer2007-03-101-10/+13
| | | | | | | | to use the cheaper TclListObjCopy() instead of Tcl_DuplicateObj()
* | Fix [Bug 1675116]dkf2007-03-091-13/+20
| |
* | Moved [lindex] guts to tclListObj.c, same as [lset] guts.dkf2007-03-081-187/+23
| |
* | * generic/tclCmdIL.c (TclLindex*): Rewrites to make efficient ↵dgp2007-03-071-180/+66
| | | | | | | | | | | | | | | | | | | | private copies of the list and indexlist arguments, so we can operate on the list elements directly with no fear of shimmering effects. Replaces defensive coding schemes that are otherwise required. End result is that TclLindexList is entirely a wrapper around TclLindexFlat, which is now the core engine of all [lindex] operations.
* | * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Added missingdgp2007-03-021-1/+2
| | | | | | | | | | TclInvalidateStringRep() call when we directly manipulate the intrep of an unshared "list" Tcl_Obj. [Bug 1672585].
* | Added comments warning against certain optimizationsdgp2007-03-021-1/+10
| |
* | * generic/tclCmdIL.c (Tcl_JoinObjCmd): Revised [join] implementationdgp2007-03-021-20/+11
| | | | | | | | to append Tcl_Obj's instead of strings. [RFE 1669420]
* | * generic/tclCmdIL.c (Info*Cmd): Code simplifications anddgp2007-03-021-28/+20
| | | | | | | | optimizations.
* | * generic/tclCmdIL.c (Tcl_LinsertObjCmd): Code simplificationsdgp2007-03-011-15/+6
| | | | | | | | and optimizations.
* | * generic/tclCmdIL.c (Tcl_LreplaceObjCmd): Code simplificationsdgp2007-03-011-19/+5
| | | | | | | | and optimizations.
* | Remove line with no effectdgp2007-03-011-2/+1
| |
* | * generic/tclCmdIL.c (Tcl_LrangeObjCmd): Rewrite in the samedgp2007-03-011-47/+24
| | | | | | | | spirit; avoid shimmer effects rather than react to them.
* | * generic/tclCmdIL.c (Tcl_LassignObjCmd): Rewrite to make andgp2007-03-011-63/+28
| | | | | | | | | | | | efficient private copy of the list argument, so we can operate on the list elements directly with no fear of shimmering effects. Replaces defensive coding schemes that are otherwise required.
* | Function header/whitespace police/general format fixesdkf2007-02-061-574/+589
| |
* | * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-8/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | TIP#270 IMPLEMENTATIONdgp2006-11-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | Optimize for the unshared case.dkf2006-11-091-12/+28
| |
* | Implemented [lreverse] from TIP#272dkf2006-11-091-1/+51
| |
* | * generic/tclBasic.c: Further revised TclAppendPrintToObj() anddgp2006-11-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | * generic/tcl.h: Modified the Tcl call stack soMiguel Sofer2006-10-231-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-13/+7
| |
* | Consolidated TIP#257 patch applied to HEAD to allow for experimentation bydkf2006-10-201-7/+13
| | | | | | | | other developers
* | Error message consistency improvements. [Bug 1534628]dkf2006-08-091-3/+3
| |
* | Fix [Bug 1374778]dkf2005-12-091-4/+18
| |
* | Fix [Bug 1366683]dkf2005-11-291-3/+17
| |
* | * generic/tclBinary.c:Miguel Sofer2005-11-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIOCmd.c: * generic/tclLink.c: * generic/tclTest.c: * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar, Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr argument - i.e., they will free a 0-refCount object if they failed to set the variable. Fixed all callers in the core.
* | * generic/tclClock.c: Removed some dead code.dgp2005-10-191-55/+1
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompCmds.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclLiteral.c: * generic/tclParseExpr.c: * generic/tclScan.c: * generic/tclUtil.c: * generic/tclVar.c:
* | TIP#237 IMPLEMENTATIONdgp2005-10-081-2/+17
| | | | | | | | | | | | [kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code.
* | * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed todgp2005-09-141-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | support "*" fields and needed to interpret precision limits on %s conversions as a maximum number of bytes, not Tcl_UniChars, to take from the (char *) argument. * generic/tclBasic.c: Updated several callers to use * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or * generic/tclCmdAH.c: TclObjPrintf(). * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclProc.c:
* | More whitespace cleansing and _ANSI_ARGS_ purgingdkf2005-08-261-192/+166
| |
* | Take care with globals that have an entry in the var table but "don't exist"dkf2005-07-291-19/+41
| |
* | Getting more systematic about styledkf2005-07-171-556/+582
| |
* | Stop warningdkf2005-07-141-2/+2
| |
* | Implementation of TIP#241 from Joe Mistachkindkf2005-06-011-14/+48
| | | | | | | | Also compilation of [switch -glob -nocase] from Donal Fellows
* | TIP#229 implementationdkf2005-05-301-6/+124
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.dgp2005-05-051-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: * generic/tclUtil.c: * generic/tclIntDecls.h: `make genstubs` * generic/tclStubInit.c: * generic/tclBasic.c: Added callers of TclMatchIsTrivial where * generic/tclCmdIL.c: a search can be done more efficiently * generic/tclCompCmds.c:when it is recognized that a pattern match * generic/tclDictObj.c: is really an exact match. [Patch 1076088] * generic/tclIO.c: * generic/tclNamesp.c: * generic/tclVar.c:
* | Changed the internal representation of lists to (a) reduce the malloc/freeMiguel Sofer2005-04-021-33/+13
| | | | | | | | | | | | | | | | calls at list creation (from 2 to 1), (b) reduce the cost of handling empty lists (we now never create a list internal rep for them), (c) allow refcounting of the list internal rep. The latter permits insuring that the pointers returned by Tcl_ListObjGetElements remain valid even if the object shimmers away from its original list type. This is [Patch 1158008]
* | changing the isProcCallFrame field of the CallFrame struct from a 0/1 fieldMiguel Sofer2004-12-141-3/+4
| | | | | | | | to flags. Should be perfectly backwards compatible.
* | * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() todgp2004-12-011-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tclCmdIL.c (InfoVarsCmd): Corrected segfault in newdgp2004-11-241-6/+8
| | | | | | | | * tests/info.test (info-19.6): trivial matching branch [Bug 1072654]