summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert b98ee56376. The "bug" fixed was documented behavior.dgp2016-09-091-33/+16
|
* Attempt to fix [7f02ff1efa]. Make trace-18.1 fail. Suspect test is andgp2016-09-071-16/+33
| | | experiment that preserves the bug.
* [4dbdd9af14] Plug mem leak when var unset trace re-creates namespace var. ↵dgp2016-09-071-5/+19
|\ | | | | | | Thanks mr_calvin for report and fix.
| * [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.bug_4dbdd9af14dgp2016-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.
* | | Don't ever allow UTF-8 sequences of more than 4 characters to be generated ↵jan.nijtmans2016-08-301-2/+2
|\ \ \ | |/ / | | | | | | | | | or parsed, even when TCL_UTF_MAX>4: According to current Unicode standard, a byte string of >4 characters can never form a single UTF-8 character. And a few minor micro-optimizations related to UTF-8 handling.
* | | Streamline TclObjLookupVarExdgp2016-07-201-14/+18
| | |
* | | Use strchr() to parse array variable syntax.dgp2016-07-201-43/+15
| | |
* | | Factor out common prologue.dgp2016-07-191-128/+48
| | |
* | | merge 8.6dgp2016-07-191-4/+0
|\ \ \ | |/ /
| * | Remove outdated comment.dgp2016-07-191-4/+0
| | |
* | | [0363f0146c] Fix [array startsearch] id handling to support var name variationsdgp2016-07-191-140/+31
| | |
* | | Plug memory leak created in recent variable Tcl_ObjType reform.dgp2016-07-141-8/+1
| | |
* | | merge 8.6dgp2016-07-091-34/+21
|\ \ \ | |/ /
| * | Expose the AVOID_RESOLVERS flag to [namespace upvar] implementations, which ↵bug_1493a43044dkf2016-07-071-34/+21
| | | | | | | | | | | | seem to need it.
* | | [c95b9fc0e3] Make errorcodes out of level parsing more consistent.dkf2016-06-221-1/+2
|\ \ \ | |/ /
| * | [c95b9fc0e3] Make errorcodes out of level parsing more consistent.dkf2016-06-221-1/+2
| | |
* | | [d1f55451c6] Remove unnecessary panic routines.dgp2016-04-111-28/+2
| | |
* | | Revise "parsedVarName" Tcl_ObjType to eliminated unnecessary parts anddgp2016-04-041-63/+9
|\ \ \ | |/ / |/| | to reduce string copying.
| * | There's a "parsedVarName" Tcl_ObjType that remembers how a variable namedgp_revise_parsedvarnametypedgp2016-03-281-11/+34
|/ / | | | | | | | | | | | | | | | | breaks down into the name of an array and the name of an element. It has been storing them in an intrep as a Tcl_Obj holding the array name and an allocated string holding the element name. This branch revises the intrep strategy to use Tcl_Obj's to hold both parts. This reduces copying and seems to simplify the code. Also "nulled out" the UpdateStringProc for the type which can never be called. I think this is a better answer, but I'd like any other informed opinions.
* | Extra safety against cyclesbug_80304238acdgp2016-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.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.