summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
Commit message (Collapse)AuthorAgeFilesLines
* More usage of TclNewObj() in stead of Tcl_NewObj() and TclNewIntObj() in ↵jan.nijtmans2020-10-131-4/+5
| | | | stead of Tcl_NewIntObj()
* Make Tcl compile warning-free using -Wshadowjan.nijtmans2020-09-281-29/+29
|
* Eliminate many "register" keywords (which do nothing with modern compilers)jan.nijtmans2020-09-141-35/+35
| | | Eliminate many unnecessary type-casts to (unsigned)
* Contributed patch from Gustaf Neumann, preventing problems where ↵jan.nijtmans2018-09-251-23/+30
| | | | "localCachePtr" can be NULL
* DeleteArray has only one caller. It is called on the "dummy" variabledgp2018-04-201-3/+0
| | | | | that is created during unset, and which cannot be reached by resolving any name. It cannot have VAR_SEARCH_ACTIVE set because the sole thing that sets that flag is an [array startsearch] applied to a named variable.
* Fold TclArraySet() into its only caller. tclEnv.c no longer calls itdgp2018-04-191-170/+141
|
* merge 8.5dgp2018-04-191-1/+1
|\
| * An [array set] from a dict can only take shortcuts when the dict is "pure",dgp2018-04-191-1/+1
| | | | | | that is, has no string rep.
* | Refactor error reporting when value is not an expected array variable name.dgp2018-04-181-36/+20
| |
* | Refactor to bring the test for existence of an array variable intodgp2018-04-181-88/+44
| | | | | | LocateArray().
* | cleanup of refactordgp2018-04-181-13/+6
| |
* | Refactor the common operations of looking up and checking traces on an arraydgp2018-04-181-111/+41
| | | | | | variable into a single routine LocateArray().
* | Refactor array trace handling into a common routine TclCheckArrayTraces().dgp2018-04-171-143/+37
| |
* | Expose some of the core variable access APIs. dkf2017-06-061-28/+247
| | | | | | (Cherrypick from [b4dfc30083])
* | compatability -> compatibilityjan.nijtmans2016-12-011-1/+1
|\ \ | |/
| * compatability -> compatibilityjan.nijtmans2016-12-011-1/+1
| |
* | [4dbdd9af14] Plug mem leak when var unset trace re-creates namespace var. ↵dgp2016-09-071-5/+19
|\ \ | |/ | | | | Thanks mr_calvin for report and fix.
| * Improve the comments and add a test.dgp2016-09-071-2/+11
| |
| * [4dbdd9af14] Proposed fix for mem leak.dgp2016-09-061-1/+6
| |
| * Improve code 'quality' by fixing some harmless clang/cppcheck warnings. ↵jan.nijtmans2016-01-221-31/+51
| | | | | | | | Thanks to Gustaf Neumann. No change in functionality.
* | Remove outdated comment.dgp2016-07-191-4/+0
| |
* | Expose the AVOID_RESOLVERS flag to [namespace upvar] implementations, which ↵dkf2016-07-071-34/+21
| | | | | | | | seem to need it.
* | [c95b9fc0e3] Make errorcodes out of level parsing more consistent.dkf2016-06-221-1/+2
| |
* | Extra safety against cyclesdgp2016-03-011-1/+2
| |
* | [80304238ac] Candidate fix for memleak due to RC cycle.dgp2016-02-261-5/+7
| |
* | Align comment. Remove some end-of-line spacing. No functional changes.jan.nijtmans2015-09-281-5/+5
|\ \ | |/
* | 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.dgp2013-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.