summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
Commit message (Collapse)AuthorAgeFilesLines
* micro-opt of hash lookups found by drhMiguel Sofer2015-09-221-6/+5
|
* remove potential crash detected by Coverity (it is a should-never-happen thing)Miguel Sofer2015-08-051-1/+1
|
* [9bad630c31] Prevent read outside of buffer bounds.dgp2015-07-151-1/+1
|\
| * [9bad630c31] Prevent read outside of buffer bounds.dgp2015-07-151-1/+1
| |
* | remove code that was ifdef'ed out for ages (ENABLE_NS_VARNAME_CACHING), has ↵Miguel Sofer2015-07-021-163/+0
| | | | | | | | zero hope of being revived and got out of sync anyway
* | Consistancy in refcount management.jan.nijtmans2015-06-301-2/+2
| |
* | Use twoPtrValue in stead of ptrAndLongRep for implementation of some ↵jan.nijtmans2015-06-301-17/+16
| | | | | | | | | | internal Obj types. On most platforms this doesn't make a difference, as (void *) and (long) generially have the same size. The only exception where it makes a difference is win64, as we can now store 64 bits in this field in stead of only 32 bits, exactly what the processor is optimized for.
* | Protect against extension variable resolvers that fail to play by the ↵dgp2015-01-291-1/+1
|\ \ | |/ | | | | post-Var Reform rules.
| * Protect against extension variable resolvers that fail to play bydgp2015-01-291-1/+2
| | | | | | the post-Var Reform rules.
* | [2486824] Improve error message; not all that upvars is an upvar.dkf2014-09-101-5/+4
|\ \ | |/
| * [2486824] Improve error message; not all that upvars is an upvar.dkf2014-09-101-5/+4
| |
* | [7368d225a6] Extend the auto-cleanup of zero ref count values passed in todgp2014-07-101-0/+3
|\ \ | |/ | | | | | | the Tcl_*SetVar*() family of routines to cover the missing case where the flags value of TCL_APPEND_VALUE is passed in alone. *** POTENTIAL INCOMAPTIBILITY***
| * [7368d225a6] Extend the auto-cleanup of zero ref count values passed indgp2014-07-101-0/+3
| | | | | | | | | | to the Tcl_*SetVar*() family of routines to cover the missing case where the flags value of TCL_APPEND_VALUE is passed in alone. *** POTENTIAL INCOMAPTIBILITY***
| * Implement many Tcl_*Var* functions and Tcl_GetIndexFromObj as ↵jan.nijtmans2013-04-191-0/+4
| |\ | | | | | | | | | (faster/stack-saving) macros around resp their Tcl_*Var*2 equivalent and Tcl_GetIndexFromObjStruct
| | * Implement many Tcl_*Var* functions and Tcl_GetIndexFromObj as ↵jan.nijtmans2013-04-191-0/+7
| | | | | | | | | | | | (faster/stack-saving) macros around resp their Tcl_*Var*2 equivalent and Tcl_GetIndexFromObjStruct
| | * Tcl_HashStats does not return a CONSTjan.nijtmans2011-09-061-1/+1
| | |
| | * fix for [Bug 2662380], crash caused by appending to a variable with a write ↵mig2011-04-131-1/+2
| | | | | | | | | | | | trace that unsets it
* | | [219226]: Rewrote how ::env is synchronized to the environment so it no longerdkf2013-09-271-0/+47
| | | | | | | | | | | | smashes the array or its elements flat, This affects traces on env, links to env, and iterations over env: it makes them work as naïvely expected.
* | | Allow Tcl to be compiled even if Tcl_Eval, Tcl_GetVar, ... are macros.jan.nijtmans2013-02-281-0/+4
| | |
* | | Array Search struct used only locally. Remove from tclInt.h.dgp2013-02-251-0/+24
|\ \ \ | |/ /
| * | ArraySearch struct used only locally. Remove from tclInt.h.dgp2013-02-251-0/+24
| | |
* | | Merge in fix for 3602706dgp2013-02-041-27/+31
|\ \ \ | |/ /
| * | Cherrypick again. Add test.bug_3602706dgp2013-02-041-6/+0
| | |
| * | Cherrypick the refcount fixes and comments from mig-review.dgp2013-02-041-2/+28
| | | | | | | | | | | | | | | | | | I also find the revised "createPart2" values in *Lookup* calls appealing, but I'm too fearful of breaking things without understanding the implications. This approach just focuses on fixing the things I broke, without trying to "fix" things long "broken" in multiple years of releases.
* | | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-1/+2
| | | | | | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
* | | More symmetric Tcl_(Incr|Decr)RefCount call, preventing bugs like #3601260 ↵jan.nijtmans2013-02-031-2/+9
|\ \ \ | | | | | | | | | | | | and #3602706
| * \ \ re-apply [8aca9a8e96], while backporting [d91c86d0da] from trunk.jan.nijtmans2013-02-031-55/+98
| |\ \ \ | | |/ / | | | | This fixes bugs #3601260 and #3602706
| * | | Bug 3601260: Reverting [8aca9a8e96] fixes it.jan.nijtmans2013-01-171-54/+57
| |/ /
* | | Eliminate some unneeded usages of Tcl_SetResult, Tcl_AddObjErrorInfojan.nijtmans2013-01-251-2/+2
| | | | | | | | | Fix "make test-packages" on cygwin
* | | Various bits of cleanup, efficiencies, and comment documentation in tclVar.c ↵mig2013-01-131-66/+54
|\ \ \ | |/ / | | | | | | (from mig-review)
| * | Various bits of cleanup, efficiencies, and comment documentation in tclVar.cdgp2012-12-141-57/+54
| | |
| * | Backport fix for [Bug 2857044].dgp2011-04-271-0/+3
| | |
* | | Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-8/+8
| | | | | | | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* | | Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-3/+3
| | | | | | | | | | | | whole bunch of issues with opcode issuing that were causing problems with stack depth calculations.
* | | converting to using Tcl_Obj API for error message generation; part donedkf2012-08-031-35/+38
| | |
* | | Fix [Bug 2712377]: [info vars] and object declared variablesdkf2012-04-091-4/+48
| | |
* | | Reduce amount of unreachable code. Refactor Win socket and load code to be lessdkf2012-04-051-2/+2
| | | | | | | | | baroque in its internals.
* | | Small changes to quell gcc warnings and make message generation less ugly.dkf2011-08-161-5/+2
| | |
* | | * generic/tclVar.c (TclPtrSetVar): fix valgrind-detected error when ↵mig2011-08-041-1/+2
| | | | | | | | | | | | newValuePtr is the interp's result obj.
* | | TclFreeIntRep() cleanup.dgp2011-04-271-2/+0
| | |
* | | fix for [Bug 2662380], crash caused by appending to a variable with a write ↵mig2011-04-131-3/+4
|\ \ \ | |/ / | | | | | | trace that unsets it
| * | fix for [Bug 2662380], crash caused by appending to a variable with a write ↵mig2011-04-131-3/+4
| | | | | | | | | | | | trace that unsets it
* | | Corrected odd commentdkf2011-03-281-1/+1
| | |
* | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-16/+14
| | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | cause more harm than good. Purged them (except in zlib files).
| * | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ \ | | |/ | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * 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/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, ListLines): * 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/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-22): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script's, to properly account for them while counting lines for #280, during direct and compiled execution.
| | * [Tcl Bug 1706140]dgp2007-05-101-45/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so * generic/tclLink.c (LinkTraceProc): that they call * generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for themselves, and do not rely on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of CallVarTraces 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/tclVar.c (CallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the CallVarTraces routine, the only place it can be done right.