summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | * generic/tclInt.decls: Modif to the internals ofMiguel Sofer2007-06-141-212/+278
| | | | | | | | | | | | | | * 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).
* | * generic/tclProc.c (TclObjInterpProcCore): simplified objMiguel Sofer2007-06-141-10/+5
| | | | | | | | management in wrongNumArgs calls.
* | remove C99 var declarationhobbs2007-06-141-3/+4
| |
* | * generic/tclCompile.c: SetByteCodeFromAny() can no longer returndgp2007-06-141-35/+18
| | | | | | | | | | * generic/tclExecute.c: any code other than TCL_OK, so remove code * generic/tclProc.c: that formerly handled exceptional codes.
* | * generic/tclExecute.c (TclCompEvalObj): missed update to "thereMiguel Sofer2007-06-141-15/+23
| | | | | | | | | | | | | | | | | | is always a valid frame". * generic/tclProc.c (TclObjInterpProcCore): call TEBC directly instead of going through TclCompEvalObj - no need to check the compilation's freshness, this has already been done. This improves speed and should also provide some relief to [Bug 1066755].
* | * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY todgp2007-06-051-1/+4
| | | | | | | | | | | | | | | | * 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]
* | Minor comment improvements and code reordering for claritydkf2007-05-111-32/+42
| |
* | Changes to allow the tip257 code to work as an extension properly post-tip280dkf2007-05-051-25/+31
| |
* | * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): CorrectedKevin B Kenny2007-04-301-74/+82
| | | | | | | | | | reference count mismanagement on the name of the source file in the TIP 280 code. [Bug 1705778, leak K02 among other manifestations]
* | Fix [Bug 1705778, leak K15]dkf2007-04-251-229/+264
| |
* | Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-9/+10
| | | | | | | | efficient). After [Patch 1529526] (afredd)
* | * generic/tclExecute.c (TEBC):Miguel Sofer2007-04-061-79/+98
| | | | | | | | | | | | | | | | * generic/tclNamespace.c (NsEnsembleImplementationCmd): * generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx, TclObjInterpProcCore, ProcCompileProc): code reordering to reduce branching and improve branch prediction (assume that forward branches are typically not taken).
* | * generic/tclProc.c (Tcl_ApplyObjCmd):Miguel Sofer2007-03-291-5/+1
| | | | | | | | | | | | * tests/apply.test (9.3): Fixed Tcl_Obj leak on error return; an unneeded ref to lambdaPtr was being set and not released on an error return path.
* | * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-3/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Silence compiler grumbles.dkf2006-11-021-2/+2
| |
* | * generic/tclBasic.c: Further revised TclAppendPrintToObj() anddgp2006-11-021-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-24/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-33/+32
| | | | | | | | structure.
* | Insert of calling point in middle of procedure code. Also cleaned up howdkf2006-10-281-119/+230
| | | | | | | | [apply] terms generate stack trace info.
* | * generic/tclProc.c (SetLambdaFromAny): minor change, eliminateMiguel Sofer2006-10-271-2/+2
| | | | | | | | redundant call to Tcl_GetString (thanks aku).
* | * generic/tclProc.c (ObjInterpProcEx): disable itcl hacks forMiguel Sofer2006-10-241-8/+8
| | | | | | | | | | calls from ApplyObjCmd (islambda==1), as they mess apply's error messages [Bug 1583266]
* | * generic/tclProc.c (ApplyObjCmd): fix wrong#args for apply byMiguel Sofer2006-10-241-13/+34
| | | | | | | | | | | | using the ensemble rewrite engine, [Bug 1574835]. * generic/tclInterp.c (AliasObjCmd): previous commit missed usage of TCL_EVAL_NOREWRITE for aliases.
* | * library/clock.tcl (format, scan): corrected wrong # argsMiguel Sofer2006-10-231-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-211/+64
| |
* | Consolidated TIP#257 patch applied to HEAD to allow for experimentation bydkf2006-10-201-64/+211
| | | | | | | | other developers
* | * tclProc.c (SetLambdaFromAny):Miguel Sofer2006-10-161-2/+6
| | | | | | | | | | * tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454], found by mjanssen.
* | * generic/tclCompile.c:Miguel Sofer2006-09-301-46/+1
| | | | | | | | | | | | | | | | | | * generic/tclHistory.c: * generic/tclInt.h: * generic/tclProc.c: made Tcl_RecordAndEvalObj not call "history" if it has been redefined to an empty proc, in order to reduce the noise when debugging [FR 1190441]. Moved TclCompileNoOp from tclProc.c to tclCompile.c
* | Silence compiler warning.dgp2006-05-151-2/+3
| |
* | * generic/tclProc.c (ProcCompileProc): When a bump of the compiledgp2006-05-131-5/+83
| | | | | | | | | | | | | | | | epoch forces the re-compile of a proc body, take care not to overwrite any Proc struct that may be referred to on the active call stack. This fixes [Bug 148218]. Note that the fix will not be effective for code that calls the private routine TclProcCompileProc() directly.
* | missing statics revealed by 'make checkexports'das2006-03-161-2/+2
| |
* | * generic/tclProc.c (ObjInterpProcEx):Miguel Sofer2006-03-101-2/+17
| | | | | | | | | | * tests/apply.test (apply-5.1): fix [apply] error messages so that they quote the lambda expression [Bug 1447355].
* | Style/comment fixesdkf2006-02-021-83/+81
| |
* | * generic/tclProc.c: minor improvements to [apply]Miguel Sofer2006-02-011-27/+27
| | | | | | | | | | * tests/apply.test: new tests; apply-5.1 currently fails to indicate missing work in error reporting
* | TIP#194 IMPLEMENTATIONdgp2006-02-011-16/+257
| | | | | | | | | | | | | | | | | | | | | | * doc/apply.n: (New file) New command [apply]. [Patch 944803]. * doc/uplevel.n: * generic/tclBasic.c: * generic/tclInt.h: * generic/tclProc.c: * tests/apply.test: (New file) * tests/proc-old.test: * tests/proc.test:
* | * generic/tclProc.c: fixed args handling for precompiled bodiesMiguel Sofer2006-01-231-7/+7
| | | | | | | | [Bug 1412695]; thanks to Uwe Traum.
* | Export stubs for libtommath; fix mingw compiler warningsKevin B Kenny2005-12-131-2/+2
| |
* | ANSIfydkf2005-11-021-128/+125
| |
* | TIP#237 IMPLEMENTATIONdgp2005-10-081-3/+11
| | | | | | | | | | | | [kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code.
* | * generic/tclBasic.c: More callers of TclObjPrintf anddgp2005-09-151-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclFormatToErrorInfo. * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclMain.c: * generic/tclProc.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c * unix/configure: autoconf-2.59
* | * generic/tclBasic.c: Updated several callers to usedgp2005-09-141-25/+14
| | | | | | | | | | | | | | * generic/tclCmdMZ.c: TclFormatToErrorInfo(). * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclProc.c:
* | Systematizing the formattingdkf2005-07-211-269/+298
| |
* | * generic/tclInt.h: Reduced the Tcl_ObjTypes "index",dgp2005-06-071-5/+5
| | | | | | | | | | | | | | * generic/tclIndexObj.c: "enembleCmd", "localVarName", and * generic/tclNamesp.c: "levelReference" to file static scope. * generic/tclProc.c: * generic/tclVar.c:
* | This close to a release, simple is better.dgp2005-06-021-3/+1
| |
* | * generic/tclProc.c: Revised fix for [Bug 1209759] is more complex,dgp2005-06-011-2/+4
| | | | | | | | * generic/tclResult.c: but should have less performance impact.
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | * 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.
* | Avoid sharing cmdName literals accross namespaces, and generalise usage ofMiguel Sofer2004-12-241-2/+2
| | | | | | | | the TclRegisterNewLiteral macro [Patch 1090905]