summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdIL.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Factor out the core compiled-ensemble builder for simplicity.dkf2007-11-211-42/+3
|
* Greatly improved ensemble compiler. This one now can handle any ensemble.dkf2007-11-161-34/+36
| | | | | It is usually not enabled though; only worth it when a subcommand is actually expected to undergo bytecode compilation.
* Compile [info exists] into bytecode. Includes new instructions to support it.dkf2007-11-141-7/+12
|
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-36/+36
| | | | objTypes.
* * generic/tclCmdIL.c: factor our core of InfoFrameCmd() into internaldas2007-09-131-14/+41
| | | | TclInfoFrame() for use by DTrace probes.
* VarReform [Patch 1750051]Miguel Sofer2007-07-311-449/+6
| | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* fix typo ... donal broke the buildMiguel Sofer2007-07-011-2/+2
|
* Plug a memory leak caused by a missing Tcl_DecrRefCount on an error path. ↵dkf2007-06-301-9/+11
| | | | [Bug 1717186]
* * generic/tclCmdIL.c: More conversions to use TclStackAlloc.dgp2007-06-221-3/+5
| | | | * generic/tclScan.c:
* * 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
|