summaryrefslogtreecommitdiffstats
path: root/generic/tclUtil.c
Commit message (Collapse)AuthorAgeFilesLines
* 3371644 Repair failure to properly handle (length == -1) in TclConvertElement().dgp2011-07-191-3/+1
|\
| * 3371644 Repair failure to properly handle (length == -1) in TclConvertElement().dgp2011-07-191-1/+1
| |
* | Fix [bug 3371644] -- crash on Tcl_ConvertElement with leading pound.ferrieux2011-07-191-1/+3
| |
* | Revised fix for bug 3309871dgp2011-06-011-2/+2
|\ \ | |/
| * Revised fix for bug 3309871dgp2011-06-011-2/+2
| |
* | fix for [Bug 3309871]: Valgrind finds: invalid read in TclMaxListLength()jan.nijtmans2011-06-011-2/+2
|\ \ | |/
| * fix for [Bug 3309871]: Valgrind finds: invalid read in TclMaxListLength()jan.nijtmans2011-06-011-2/+2
| |
* | Rewind from a refactoring that veered into the weeds.bug_3293874dgp2011-05-311-19/+4
|\ \
* | | First draft of bug fix.dgp2011-05-111-2/+2
|/ /
* | New internal routines TclScanElement() and TclConvertElement().dgp2011-05-101-227/+722
|\ \ | |/ | | Rewritten guts of machinery to produce string rep of lists. [Bug 3173086]
| * Completed patch with mucho comments. Merge 8.5.bug_3173086dgp2011-05-101-321/+744
| |
| * merge trunk + partial improvements to commentsdgp2011-03-071-40/+76
| |
| * Correct flaw in the rewrite handling [list \\\\\}].dgp2011-03-031-1/+1
| |
| * Significant rewrite of the Tcl*(Scan|Convert)*Element() system, and revisionsdgp2011-03-031-183/+314
| | | | | | | | to the callers. Needs more work on comments, and testing to check for any performance impact in either direction. Fixes reported bug.
| * Simplified the logic of the Scan/Convert pair of routines for generating dgp2011-03-031-21/+5
| | | | | | string reps of lists to stop using the unnecessary flag BRACES_UNMATCHED.
* | merge 8.5dgp2011-05-031-3/+2
|\ \
| * | Tighten Tcl_SplitList().dgp2011-05-031-2/+1
| | |
| * | Tighten SetDictFromAny().dgp2011-05-031-1/+1
| | |
* | | Revised TclFindElement() interface.dgp2011-05-021-10/+30
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+30
|\ \ \ | |/ / | | | actually want.
| * | Replace TclCountSpaceRuns() with TclMaxListLength() which is the function wedgp2011-05-021-9/+30
| | | | | | | | | actually want.
* | | More isspace() callers.dgp2011-04-281-5/+5
|\ \ \ | |/ /
| * | More isspace() callers.dgp2011-04-281-5/+5
| | |
* | | New utility routines: TclIsSpaceProc() and TclCountSpaceRuns()dgp2011-04-281-34/+61
|\ \ \ | |/ / | | | Use to replace calls to isspace() and their /* INTL */ risk.
| * | New utility routines: TclIsSpaceProc() and TclCountSpaceRuns()dgp2011-04-281-34/+61
| | | | | | | | | Use to replace calls to isspace() and their /* INTL */ risk.
* | | Define and use macros that test whether a Tcl list value is canonical.dgp2011-04-181-11/+6
|\ \ \ | |/ /
| * | Define and use macros that test whether a Tcl list value is canonical.dgp2011-04-181-11/+6
| | |
* | | More Tcl_Concat* and TclTrim* improvements.dgp2011-04-141-46/+78
|\ \ \ | |/ /
| * | More Tcl_Concat* and TclTrim* improvements.dgp2011-04-141-47/+79
| | |
* | | [Bug 3285375]: Rewrite Tcl_Concat*() and [string trim*].dgp2011-04-131-77/+167
|\ \ \ | |/ /
| * | [Bug 3285375]: Rewrite Tcl_Concat*() and [string trim*].dgp2011-04-131-72/+167
| | |
* | | [3285375]: Make the crash less mysterious through the judicious use of a panic.dkf2011-04-131-0/+5
| | |
* | | More generation of error codes ([format], [after], [trace], RE optimizer).dkf2011-04-041-2/+9
| | |
* | | More generation of errorCode information, notably when lists are mis-parsed.dkf2011-03-291-46/+55
| | |
* | | Reduce the number of casts used to manage Tcl_Obj internal representations.dkf2011-03-261-1/+1
| | |
* | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-29/+24
| | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | | MINOR: Formatting fixes, mainly to comments, so code better fits the style indkf2011-03-101-0/+1
| | | | | | | | | the Engineering Manual.
* | | * generic/tclInt.h: Remove TclMarkList() routine, an experimentaldgp2011-03-081-111/+0
|\ \ \ | |/ / | | | * generic/tclUtil.c: dead-end from the 8.5 alpha days.
| * | * generic/tclInt.h: Remove TclMarkList() routine, an experimentaldgp2011-03-081-111/+0
| | | | | | | | | * generic/tclUtil.c: dead-end from the 8.5 alpha days.
* | | * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-15/+16
|\ \ \ | |/ / | | | | | | | | | | | | * generic/tclCompile.c: with TclParseBackslash() where possible. * generic/tclCompCmdsSZ.c: * generic/tclParse.c: * generic/tclUtil.c:
| * | * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-15/+16
| |\ \ | | | | | | | | | | | | | | | | * generic/tclCompile.c: with TclParseBackslash() where possible. * generic/tclParse.c: * generic/tclUtil.c:
| | * | * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c: with TclParseBackslash() where possible. * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclUtil.c:
* | | | * generic/tclUtil.c (TclFindElement): Guard escape sequence scansdgp2011-03-061-1/+1
|\ \ \ \ | |/ / / | | | | to not overrun the string end. [Bug 3192636]
| * | | * generic/tclUtil.c (TclFindElement): Guard escape sequence scansdgp2011-03-061-1/+1
| |\ \ \ | | |/ / | | | / | | |/ | |/| to not overrun the string end. [Bug 3192636]
| | * * generic/tclUtil.c (TclFindElement): Guard escape sequence scansdgp2011-03-061-1/+1
| | | | | | | | | to not overrun the string end. [Bug 3192636]
* | | 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.
| | * [Tcl Bug 1706140]dgp2007-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.