summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclVar.c (VarHashInvalidateEntry): Removed obsoleteandreas_kupries2010-11-231-12/+1
| | | | | | patch for AIX defining this macro as function. This is not necessary anymore. See ChangeLog entry 2010-07-28 (Bug 3037525) for the actual bug and fix the patch was a workaround for.
* * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-011-3/+5
| | | | | | | * generic/tclVar.c: make the behaviour of lappend in bytecompiled * tests/append.test: mode consistent with direct-eval and 'append' * tests/appendComp.test: generally. Added tests (append*-9.*) showing the difference.
* * generic/tclVar.c: fix for crash [Bug 3037525]: lose fickleMiguel Sofer2010-07-311-7/+3
| | | | optimisation in TclDeleteVars (used for runtime-created locals)
* More corrections to the [array unset] command.dkf2010-02-031-7/+6
|
* Ensure that decrements never assume that they can't do (actual) deletion.dkf2010-02-021-3/+7
|
* Fix [Bug 2939073]: dangling ref when an unset trace triggered by [array unset]dkf2010-02-021-20/+59
| | | | hits the next element to be deleted.
* Fix [Bug 2629338]: Stop evil unset traces from accessing freed memory.dkf2009-10-171-5/+25
|
* * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* * generic/tclCmdIL.c: Removed unused variables.dgp2009-07-161-1/+5
| | | | | | | | | | | | * generic/tclCompile.c: * generic/tclVar.c: * unix/tclUnixChan.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
* * generic/tclTrace.c: Corrected handling of errors returned bydgp2008-10-081-8/+5
| | | | | | | | | variable traces so that the errorInfo value contains the original error message. [Bug 2151707] * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so that error message construction does not disturb an existing iPtr->errorInfo that may be in progress.
* * generic/tclVar.c (TclLookupSimpleVar): Retrieve the number ofdgp2008-08-071-3/+2
| | | | | | locals in the localCache from the CallFrame and not from the Proc which may have been mangled by a (broken?) recompile. Backport from the HEAD.
* * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-3/+12
| | | | | | | | | | | * generic/tclCmdAH.c: frame), added the ability to track the * generic/tclCompCmds.c: absolute location of literal procedure * generic/tclCompile.c: arguments, and making this information * generic/tclCompile.h: available to uplevel, eval, and * generic/tclInterp.c: siblings. This allows proper tracking of * generic/tclInt.h: absolute location through custom (Tcl-coded) * generic/tclNamesp.c: control structures based on uplevel, etc. * generic/tclProc.c:
* * generic/tclVar.c (TclDeleteNamespaceVars):Miguel Sofer2008-03-111-2/+8
| | | | | | | * tests/var.test (var-8.2): unset traces on vars should be called with a FQ named during namespace deletion. This was causing infinite loops when unset traces recreated the var, as reported by Julian Noble on [Bug 1911919].
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* * generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data forhobbs2007-11-231-6/+11
| | | | * tests/var.test (var-14.2): [array names $var -glob $ptn]
* More minor cleanupdkf2007-11-181-56/+61
|
* Add comments for clarity.dkf2007-11-151-51/+75
|
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-7/+7
| | | | objTypes.
* * generic/tclTest.c (TestSetCmd2):Miguel Sofer2007-11-031-2/+3
| | | | | | | * generic/tclVar.c (TclObjLookupVarEx): * tests/set.test (set-5.1): fix error branch when array name looks like array element (code not normally exercised). x
* * generic/tclVar.c: try to preserve Tcl_Objs when doing variableMiguel Sofer2007-10-271-55/+97
| | | | lookups by name, partially addressing [Bug 1793601]
* * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710]Miguel Sofer2007-09-081-7/+4
| | | | fixed correctly, reverted fix of 2007-05-01.
* make tclVarHashKeyType definition staticdas2007-09-031-2/+2
|
* * generic/tclVar.c: improved localVarNameType caching to leverageMiguel Sofer2007-08-171-9/+42
| | | | | the new availability of Tcl_Obj in variable names, avoiding string comparisons to verify that the cached value is usable.
* modifs to help itcl adapt to VarReformMiguel Sofer2007-08-041-2/+19
|
* Tidying up.dkf2007-08-031-207/+258
|
* Abstracted the 'offsetof' to a TclOffset macro as per Tk_Offset to permitpatthoyts2007-08-011-2/+2
| | | | compilation with MSVC6 and anything else that may not define this macro.
* * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx LarryMiguel Sofer2007-08-011-2/+2
| | | | Virden.
* VarReform [Patch 1750051]Miguel Sofer2007-07-311-777/+1550
| | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* * generic/tclVar.c (UnsetVarStruct): fix possible segfault withMiguel Sofer2007-06-281-5/+6
| | | | recent streamlining.
* * generic/tclVar.c (UnsetVarStruct): more streamlining.Miguel Sofer2007-06-261-10/+8
|
* * generic/tclVar.c (UnsetVarStruct): fixing incomplete change,Miguel Sofer2007-06-251-24/+25
| | | | more streamlining.
* * generic/tclVar.c (UnsetVarStruct): fixing incomplete changeMiguel Sofer2007-06-251-2/+2
|
* * generic/tclVar.c (TclDeleteCompiledLocalVars): removed inliningMiguel Sofer2007-06-241-57/+62
| | | | | | that ended up not really optimising (limited benchmarks). Now calling UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better benchmarks do show a difference).
* * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced inMiguel Sofer2007-06-241-1/+8
| | | | last commit.
* * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logicMiguel Sofer2007-06-231-177/+90
| | | | | | | | | slightly clearer, eliminated some duplicated code. *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users) The core never builds VAR_LINK variable to have traces. Such a "monster", should one exist, will now have its unset traces called *before* it is unlinked.
* * generic/tclVar.c: streamline namespace vars deletion: onlyMiguel Sofer2007-06-201-11/+46
| | | | compute the variable's full name if the variable is traced.
* * generic/tclInt.h:Miguel Sofer2007-06-101-3/+3
| | | | | | | | | * 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.
* Minor whitespace cleanupdkf2007-05-111-1/+6
|
* [Tcl Bug 1706140]dgp2007-05-071-48/+24
| | | | | | | | | | | | | | | | | * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so that * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted() * generic/tclTrace.c (Trace*Proc): for themselves, and do not rely * generic/tclUtil.c (TclPrecTraceProc): on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of TclCallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclTrace.c (TclCallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the TclCallVarTraces routine, the only place it can be done right.
* * generic/tclVar.c (TclPtrSetVar): fixed leak whenever newvaluePtrMiguel Sofer2007-05-021-2/+7
| | | | | had refCount 0 and was used for appending (but not lappending). [Bug 1710710], thanks to mistachkin and kbk.
* * generic/tclVar.c (UnsetVarStruct): Make sure thedgp2007-04-231-2/+2
| | | | | TCL_INTERP_DESTROYED flags gets passed to unset trace routines so they can respond appropriately. [Bug 1705778, leak #9]
* * generic/tclVar.c (TclDeleteNamespaceVars): fixed access to freedMiguel Sofer2007-04-231-3/+2
| | | | memory detected by valgrind.
* Replaced commas in varargs with string concatenation where possible [Patch ↵Kevin B Kenny2007-04-201-3/+3
| | | | 1515234]
* * generic/tclBasic.c: Added bytecode compilers for theMiguel Sofer2007-04-031-2/+3
| | | | | | | | * 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/tclVar.c (TclArraySet): Make efficient private copy ofdgp2007-03-121-3/+6
| | | | | * tests/var.test (var-17.1): the "list" argument to [array set] to avoid crash due to shimmering invalidating pointers. [Bug 1669489].
* various "const" additions, in line with TIP #27nijtmans2007-02-201-105/+105
|
* Cleaning up of various bits in tclVar.c to make code clearer to understand.dkf2006-10-271-38/+41
|
* * generic/tcl.h: Modified the Tcl call stack soMiguel Sofer2006-10-231-15/+13
| | | | | | | | | | | | | * 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-17/+12
|
* Consolidated TIP#257 patch applied to HEAD to allow for experimentation bydkf2006-10-201-12/+17
| | | | other developers