summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* truncateProc *can* be NULLbch2015-01-211-1/+0
|
* assert() on missing definitions for Tcl_ChannelCreate() required struct ↵bch2015-01-201-0/+9
| | | | Tcl_ChannelType{} fields.
* merge markdgp2015-01-020-0/+0
|\
| * Revert use of the install-headers target. Tcl 8.5 has no such target.dgp2015-01-021-1/+1
| |
* | Now that we're using TCL_ENCODING_NO_TERMINATE - be careful about acting ondgp2015-01-021-2/+1
| | | | | | | | the contents of dst -- they could be leftovers. Only check bytes reported to have been written and take care to get the assertions right.
* | Add two new (undocumented) flags to the Tcl_ExternalToUtf() interface.dgp2014-12-233-48/+115
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TCL_ENCODING_NO_TERMINATE rejects the default behavior of appending a terminating NUL byte to the produced Utf output. This permits use of all of the dstLen bytes provided, and simplifies the buffer size calculations demanded from callers. Perhaps some callers need or appreciate this default behavior, but for Tcl's own main use of encodings - conversions within I/O - this just gets in the way. TCL_ENCODING_CHAR_LIMIT lets the caller set a limit on the number of chars to be output to be enforced by the encoding routines themselves. Without this, callers have to check after the fact for going beyond limits and make multiple encoding calls in a trial and error approach. Full compatibility is supported. No defaults are changed, and the flags have their effect even if an encoding driver has not been written to support these flags (but greater efficiency is enjoyed if they do!). All of Tcl's own encoding drivers are updated to support this. Other encoding drivers may exist somewhere, but I cannot point to any. A TIP to document this and make it officially supported may come in time.
| * | Support TCL_ENCODING_CHAR_LIMIT in TableToUtfProc and EscapeToUtfProc drivers.dgp_encoding_flagsdgp2014-12-231-4/+10
| | |
| * | Support TCL_ENCODING_CHAR_LIMIT in the Iso88591ToUtfProc driver.dgp2014-12-231-2/+5
| | |
| * | Support TCL_ENCODING_CHAR_LIMIT in the UnicodeToUtfProc driver.dgp2014-12-231-2/+5
| | |
| * | Support TCL_ENCODING_CHAR_LIMIT in the UtfToUtfProc driver.dgp2014-12-231-2/+5
| | |
| * | Support TCL_ENCODING_CHAR_LIMIT in the BinaryProc driver.dgp2014-12-231-0/+3
| | |
| * | Use the new TCL_ENCODING_CHAR_LIMIT flag to have the encoding system managedgp2014-12-231-4/+11
| | | | | | | | | the max chars to read constraint.
| * | merge trunkdgp2014-12-2381-788/+1014
| |\ \ | |/ / |/| |
* | | Use more suitable variable name pushers.dgp2014-12-232-13/+9
| | |
* | | Eliminate TclIsLocalScalar(). No callers left.dgp2014-12-232-51/+0
| | |
* | | Revise CompileEachloopCmd() to use LocalScalar() in place of TclIsLocalScalar().dgp2014-12-231-79/+40
| | |
* | | Convert the LocalScalar*() macros to rest on TclPushVarName rather than ondgp2014-12-222-4/+54
| | | | | | | | | TclIsLocalScalar().
* | | Use (interp == NULL) argument to TclPushVarName() to signal that no compilingdgp2014-12-221-3/+3
| | | | | | | | | is desired. Only a lookup of an index into the compiled variable table.
* | | More complete use of the TCL_NO_ELEMENT flag to suppress useless actions.dgp2014-12-221-3/+5
| | |
* | | merge markdgp2014-12-220-0/+0
|\ \ \ | | |/ | |/|
| * | One more (interp==NULL) shortcut.dgp2014-12-221-1/+1
| | |
* | | merge-mark. The compiler machinery has changed too much for any hope fordgp2014-12-190-0/+0
|\ \ \ | |/ / | | | | | | a successful merge. TclIsLocalScalar() elimination will need to be done on trunk as an independent effort.
| * | Revise name and interface of new utility routines to match work alreadydgp2014-12-191-38/+67
| | | | | | | | | in place on the trunk.
| * | [e711ffb458] Eliminate TclIsLocalScalar() and revise all callers to usedgp2014-12-194-331/+159
| |\ \ | | | | | | | | more appropriate facilities.
| | * | New utility routine GetLocalScalarIndex() reduces common caller boilerplatebug_e711ffb458dgp2014-12-191-54/+58
| | | | | | | | | | | | (and fixes a bug!)
| | * | Use interp==NULL argument to PushVarName to signal that only an index intodgp2014-12-191-17/+17
| | | | | | | | | | | | | | | | the CLT is sought, and no time should be wasted compiling other cases which the caller is just going to discard.
| | * | With no callers left, TclIsLocalScalar() is removed.dgp2014-12-192-51/+0
| | | |
| | * | Replace TclIsLocalScalar() with PushVarNameWord() in [dict for] compiler.dgp2014-12-191-26/+27
| | | |
| | * | Narrow scope of numVars.dgp2014-12-191-1/+2
| | | |
| | * | A bit more tidying...dgp2014-12-181-6/+4
| | | |
| | * | No need for a loopIndex.dgp2014-12-181-7/+4
| | | |
| | * | No need for varvList any more.dgp2014-12-181-25/+2
| | | |
| | * | Fix up the token array passed to PushVarNameWord. Remove string list parse.dgp2014-12-181-33/+6
| | | |
| | * | Replace use of TclIsLocalScalar() and late setting of varIndexes with andgp2014-12-181-15/+29
| | | | | | | | | | | | earlier setting of varIndexes using PushVarNameWord().
| | * | Simplify creation and storage of temporariesdgp2014-12-181-17/+7
| | | |
| | * | With that shift, varcList is no longer needed.dgp2014-12-181-7/+1
| | | |
| | * | Shift the allocation of AuxData earlier in the [foreach] compiler.dgp2014-12-181-16/+25
| | | |
| | * | merge 8.5dgp2014-12-1857-544/+679
| | |\ \ | | |/ / | |/| |
| | * | Similar conversion of the [dict append] compiler.dgp2014-12-111-16/+9
| | | |
| | * | Similar conversion for [dict update] compiler.dgp2014-12-111-30/+15
| | | |
| | * | Similar revisions to [dict incr] compiler.dgp2014-12-111-38/+22
| | | |
| | * | Get the word number right, even though it has no effect.dgp2014-12-111-1/+1
| | | |
| | * | [e711ffb458] Same conversion for [catch] compiler.dgp2014-12-111-36/+7
| | | |
| | * | [e711ffb458] Replace TclIsLocalScalar() with PushVarNameWord() in thedgp2014-12-091-13/+7
| | | | | | | | | | | | compiler for [dict set].
| | * | [e711ffb458] Replace TclIsLocalScalar() (which does the wrong thing).... withdgp2014-12-092-14/+8
| | | | | | | | | | | | PushVarNameWord() (which doesn't) in the compiler for [dict lappend].
* | | | [7c187a3773] Fix error in managing inStatePtr->inQueueTail value in thedgp2014-12-182-0/+41
| | | | | | | | | | | | byte-moving optimized path of [chan copy]. Thanks to Benno.
* | | | [af08e89777] Rework finalization to stop encoding-24.2 segfault.dgp2014-12-184-9/+23
|\ \ \ \
| * | | | Rework the *FinalizeThread*() routines so that the quick exit preferencebug_af08e89777dgp2014-12-173-6/+14
| | | | | | | | | | | | | | | | | | | | is respected without need to run afoul of encoding finalizations. tests pass now. All changes are fully internal.
| * | | | Revise encoding finalization so that it does a more complete job of restoringdgp2014-12-171-3/+9
|/ / / / | | | | | | | | | | | | the pre-initialized state. This makes finalization errors more repeatable and cross-platform.
* | | | changes for TIP427oehhar2014-12-171-0/+2
| | | |