summaryrefslogtreecommitdiffstats
path: root/generic/tclListObj.c
Commit message (Collapse)AuthorAgeFilesLines
* In TclGetNumberFromObj() macro (tclExecute.c): Don't fill in type if ↵jan.nijtmans2017-02-031-8/+8
| | | | | TCL_ERROR is returned: The caller doesn't do anything with this. Don't access (non-const) variable tclEmptyStringRep any more, use its value (&tclEmptyString) directly. Only keep it in tclPkg.c, for error checking.
* Use more "size_t" in stead of "int" internall. Also eliminate a lot of ↵jan.nijtmans2016-11-161-1/+1
| | | | type-casts which are not necessary any more.
* [824752f10e] More robust, portable check for integer overflow.dgp2016-11-041-5/+2
|
* merge core-8-5-branch ([824752f10e] Avoid calling Tcl_SetObjResult if interp ↵gahr2016-11-041-2/+5
|\ | | | | | | is NULL)
| * [824752f10e] Avoid calling Tcl_SetObjResult if interp is NULLgahr2016-11-041-2/+5
| |
* | [32c5740a4d] Have Tcl_ListObjReplace() try to use realloc() for growing whendgp2015-11-301-3/+30
| | | | | | it can do so.
* | Tcl_ListObjReplace() early out when > LIST_MAX attempted.dgp2015-11-201-1/+6
|\ \ | |/
| * [3293874] Simplified fix (not backport). Also detect >LIST_MAX early.dgp2015-11-201-1/+9
| |
| * Silence compiler warnings.dgp2014-01-211-6/+6
| |
* | Another round of refCount consistancy improvements.jan.nijtmans2015-07-021-2/+2
| |
* | Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-7/+7
|\ \ | |/
| * Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-7/+7
| |
* | merge core-8-5-branchjan.nijtmans2013-01-311-2/+0
|\ \ | |/
| * Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-2/+0
| | | | | | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* | restore refcounts as they were before the Tcl_ListObjReplace call, in the ↵jan.nijtmans2012-12-291-0/+8
|\ \ | |/ | | | | | | error situation. In Tcl9, make this a true Tcl_DecrRefCount, which properly cleans objects with refCount 0
| * restore refcounts as they were before the Tcl_ListObjReplace call, in the ↵jan.nijtmans2012-12-291-0/+8
| |\ | | | | | | | | | | | | error situation. In Tcl9, make this a true Tcl_DecrRefCount, which properly cleans objects with refCount 0
| | * For Tcl9, do a real Tcl_DecrRefCountbug_3598580jan.nijtmans2012-12-291-0/+4
| | |
| | * restore old refcounts in TCL_ERROR case.jan.nijtmans2012-12-271-0/+3
| |/
* | [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too earlyjan.nijtmans2012-12-271-4/+5
|\ \ | |/
| * [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too earlyjan.nijtmans2012-12-271-4/+5
| |\
| | * [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too early jan.nijtmans2012-12-271-2/+4
| | | | | | | | | | | | | | | Tests!? Where are the tests!?! They are in test listobj-11.1
* | | Small changes to quell gcc warnings and make message generation less ugly.dkf2011-08-161-35/+71
| | |
* | | Rewind from a refactoring that veered into the weeds.bug_3293874dgp2011-05-311-69/+109
|\ \ \
* | | | Set the defaults of all growth algorithm parameters based on one master value.dgp2011-05-121-5/+6
| | | |
* | | | Oops!dgp2011-05-111-1/+1
| | | |
* | | | First draft of bug fix.dgp2011-05-111-10/+28
|/ / /
* | | New internal routines TclScanElement() and TclConvertElement().dgp2011-05-101-35/+32
|\ \ \ | |/ / | | | Rewritten guts of machinery to produce string rep of lists. [Bug 3173086]
| * | Completed patch with mucho comments. Merge 8.5.bug_3173086dgp2011-05-101-197/+159
| | |
| * | Significant rewrite of the Tcl*(Scan|Convert)*Element() system, and revisionsdgp2011-03-031-34/+33
| | | | | | | | | | | | to the callers. Needs more work on comments, and testing to check for any performance impact in either direction. Fixes reported bug.
* | | Revise empty string tests so that we avoid potentially expensive string repdgp2011-05-091-61/+11
|\ \ \ | | | | | | | | generations, especially for dicts.
| * | | Remove the old implementation.dgp_list_simplifydgp2011-05-091-75/+0
| | | |
| * | | A different technique to more precisely identify the optimization case.dgp2011-05-091-14/+35
| | | |
| * | | Disable all the special case code in place to prevent allocation of a Listdgp2011-05-051-10/+14
| | | | | | | | | | | | | | | | | | | | struct for empty lists as much as possible. The value of this avoidance is not clear to me. Hoping it can be demonstrated (or refuted) with both variants side by side in the code history tree.
* | | | Stop generating string rep of dict when converting to list.dgp2011-05-051-9/+42
|\ \ \ \ | |/ / / | | | | Tolerate NULL interps more completely.
| * | | Tolerate NULL interps more completely.dgp2011-05-051-4/+8
| | | |
| * | | Stop generating string rep of dict when converting to list.dgp2011-05-051-5/+34
| | | |
* | | | merge 8.5dgp2011-05-031-76/+39
|\ \ \ \ | |/ / /
| * | | Tighten SetListFromAny().dgp2011-05-031-73/+40
| | | |
* | | | Revised TclFindElement() interface.dgp2011-05-021-3/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final argument had been bracePtr, the address of a boolean var, where the caller can be told whether or not the parsed list element was enclosed in braces. In practice, no callers really care about that. What the callers really want to know is whether the list element value exists as a literal substring of the string being parsed, or whether a call to TclCopyAndCollpase() is needed to produce the list element value. Now the final argument is changed to do what callers actually need. This is a better fit for the calls in tclParse.c, where now a good deal of post-processing checking for "naked backslashes" is no longer necessary. ***POTENTIAL INCOMPATIBILITY*** For any callers calling in via the internal stubs table who really do use the final argument explicitly to check for the enclosing brace scenario. Simply looking for the braces where they must be is the revision available to those callers, and it will backport cleanly. Tests for expanded literals quoting detection.
| * | | Revised TclFindElement() interface.dgp2011-05-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final argument had been bracePtr, the address of a boolean var, where the caller can be told whether or not the parsed list element was enclosed in braces. In practice, no callers really care about that. What the callers really want to know is whether the list element value exists as a literal substring of the string being parsed, or whether a call to TclCopyAndCollpase() is needed to produce the list element value. Now the final argument is changed to do what callers actually need. This is a better fit for the calls in tclParse.c, where now a good deal of post-processing checking for "naked backslashes" is no longer necessary. ***POTENTIAL INCOMPATIBILITY*** For any callers calling in via the internal stubs table who really do use the final argument explicitly to check for the enclosing brace scenario. Simply looking for the braces where they must be is the revision available to those callers, and it will backport cleanly.
* | | | Replace TclCountSpaceRuns() with TclMaxListLength() which is the function wedgp2011-05-021-13/+7
|\ \ \ \ | |/ / / | | | | actually want.
| * | | Replace TclCountSpaceRuns() with TclMaxListLength() which is the function wedgp2011-05-021-13/+7
| | | | | | | | | | | | actually want.
* | | | New utility routines: TclIsSpaceProc() and TclCountSpaceRuns()dgp2011-04-281-7/+1
|\ \ \ \ | |/ / / | | | | Use to replace calls to isspace() and their /* INTL */ risk.
| * | | New utility routines: TclIsSpaceProc() and TclCountSpaceRuns()dgp2011-04-281-7/+1
| | | | | | | | | | | | Use to replace calls to isspace() and their /* INTL */ risk.
* | | | TclFreeIntRep() cleanup.dgp2011-04-271-1/+0
| | | |
| | | |
| \ \ \
*-. \ \ \ FreeListInternalRep() cleanup.dgp2011-04-271-7/+5
|\ \ \ \ \ | | |/ / /
| | * | | FreeListInternalRep() cleanup.dgp2011-04-271-7/+5
| |/ / /
| * | | Backport fix for [Bug 2857044].dgp2011-04-271-0/+1
| | | |
| * | | Revise last fix.dgp2011-04-251-4/+4
| | | |
* | | | Revise last fix.dgp2011-04-251-4/+4
| | | |