Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Simplify the final loop when we know we're generating strings for all. | dgp | 2017-06-16 | 1 | -33/+7 |
| | |||||
* | Split loop into two cases for further simplification. | dgp | 2017-06-16 | 1 | -2/+43 |
| | |||||
* | Factor out and simplify loop scanning leading known empty values. | dgp | 2017-06-16 | 1 | -0/+21 |
| | |||||
* | Use local variables. | dgp | 2017-06-16 | 1 | -5/+5 |
| | |||||
* | Rework the logic. Equivalent function. | dgp | 2017-06-16 | 1 | -19/+9 |
| | |||||
* | Extend cases where string rep generation can be prevented. | dgp | 2017-06-16 | 1 | -0/+16 |
| | |||||
* | Better define the meaning of "first" and "last". | dgp | 2017-06-16 | 1 | -3/+5 |
| | |||||
* | Don't test the impossible.dgp_stringcat_delaystringrep | dgp | 2017-06-08 | 1 | -5/+3 |
| | |||||
* | Modernize overflow checks. | dgp | 2017-06-08 | 1 | -6/+6 |
| | |||||
* | More streamlining | dgp | 2017-06-08 | 1 | -14/+14 |
| | |||||
* | More streamlining. | dgp | 2017-06-08 | 1 | -12/+5 |
| | |||||
* | pendingPtr == NULL implies (last == first) implies early out | dgp | 2017-06-08 | 1 | -14/+3 |
| | |||||
* | When possible delay string rep generation until necessary. | dgp | 2017-06-08 | 1 | -10/+46 |
| | |||||
* | A few more tweaks to streamline and clarify.bug_716b427f76 | dgp | 2017-06-06 | 1 | -13/+17 |
| | |||||
* | makes TclStringCatObjv safe accepting objc = 0 (or 1), then fast exits with ↵ | sebres | 2017-06-06 | 1 | -12/+16 |
| | | | | new object / first; check-cycles rewritten to be still more faster. | ||||
* | amend to [eac4656f1e8cf793] (moved to scope where numChars != 0 in Unicode case) | sebres | 2017-06-06 | 1 | -3/+3 |
| | |||||
* | small code review: don't need to check length if unchanged + the same case ↵ | sebres | 2017-06-06 | 1 | -17/+18 |
| | | | | if 0 length | ||||
* | Optimize TclStringCatObjv() for case when only one argument is non-empty. | dgp | 2017-06-05 | 1 | -8/+22 |
| | |||||
* | merge core-8-6-branch | jan.nijtmans | 2017-05-29 | 1 | -13/+13 |
|\ | |||||
| * | Tcl_UtfToUniChar() -> TclUtfToUniChar() in various places: No change in ↵ | jan.nijtmans | 2017-05-29 | 1 | -13/+13 |
| | | | | | | | | functionality, just faster if ASCII only strings are involved. | ||||
* | | If %llu is considered invalid, it means that "%" TCL_LL_MODIFIER "u" cannot ↵ | jan.nijtmans | 2017-04-12 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | be used Tcl_ObjPrintf(), but only in sprintf(). That's unfortunate, clearly an oversight in TIP #237. Conclusion: new TIP must be written to correct this. I'll read a TIP and see what case you have, but TCL_LL_MODIFIER was never meant to play any role in [format] or in Tcl_ObjPrintf(). TCL_LL_MODIFIER exists to help deal with platform differences in sprintf() calls. Tcl_ObjPrintf() in contrast ought to be consistent in its behavior across platforms and should not need such things. If that's false, then fixes to Tcl_ObjPrintf() are in order. | ||||
* | | Revert recent commit. TIP 237 is clear that %llu is invalid. | dgp | 2017-04-12 | 1 | -9/+5 |
|\ \ | |/ | |||||
| * | Revert recent commit [80252e0aed]. TIP 237 is clear that %llu is invalid. | dgp | 2017-04-12 | 1 | -9/+5 |
| | | |||||
* | | Fix [4b12ccb3363e81b132e8dbe12aeec596102be1a8|4b12ccb336]: format/scan %llu ↵ | jan.nijtmans | 2017-04-05 | 1 | -5/+9 |
|\ \ | |/ | | | | | doesn't work. Also added new test-cases showing the expected behavior. | ||||
| * | Fix [4b12ccb3363e81b132e8dbe12aeec596102be1a8|4b12ccb336]: format/scan %llu ↵ | jan.nijtmans | 2017-04-05 | 1 | -5/+9 |
| | | | | | | | | doesn't work. Also added new test-cases showing the expected behavior. | ||||
* | | Merge core-8-6-branch. | jan.nijtmans | 2017-04-03 | 1 | -6/+27 |
|\ \ | |/ | | | Add test-cases showing that the (undocumented) %p format (and also %zd/%td) are harmless, since they are equivalent to other already existing formats. | ||||
| * | Code optimization/reduction: If TCL_WIDE_INT_IS_LONG is defined, the ↵ | jan.nijtmans | 2017-04-03 | 1 | -5/+12 |
| | | | | | | | | variable useWide is always 0, so related code can be eliminated without loss of functionality. | ||||
* | | Supply more C99-compatible (and MSVC) format options: '%p' for pointers, ↵ | jan.nijtmans | 2017-03-24 | 1 | -6/+33 |
| | | | | | | | | | | 'z'/'j'/'I' for size_t/intptr_diff, 'j'/'q' for long long. Also add "I32" froom MSVC. Remove TCL_LL_MODIFIER specified as "L" for Borland: This must be wrong as "L" is meant for long double. Just assume that later Borland compilers are MSVC-compatible. | ||||
* | | In TclGetNumberFromObj() macro (tclExecute.c): Don't fill in type if ↵ | jan.nijtmans | 2017-02-03 | 1 | -6/+6 |
| | | | | | | | | | | 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. | ||||
* | | Implement all possible TCL_LL_MODIFIER formats in Tcl_ObjPrintf(), can be ↵ | jan.nijtmans | 2016-12-14 | 1 | -0/+19 |
|\ \ | | | | | | | | | | "ll", "I64" and "L", whatever the platform defines for long long integer. With test-cases. | ||||
| * | | Implement all possible TCL_LL_MODIFIER formats in Tcl_ObjPrintf(), can be ↵jn_wide_printf | jan.nijtmans | 2016-12-14 | 1 | -1/+10 |
| | | | | | | | | | | | | "ll", "I64" and "L", whatever the platform defines for long long integer. With test-cases. | ||||
| * | | implement "I64" format in Tcl_ObjPrintf as well. Still to be tested. | jan.nijtmans | 2016-12-02 | 1 | -3/+13 |
| | | | |||||
* | | | Avoid "warning: format '%llu' expects argument of type 'long long unsigned ↵ | andy | 2016-12-02 | 1 | -3/+6 |
|/ / | | | | | | | int', but argument 2 has type 'long unsigned int'" on platforms where TCL_WIDE_INT_IS_LONG. Warning introduced by check-in [e3ba334a42] which was merged to trunk by [eac13870dc]. This fix also was made by [418b169207] which has not yet been merged to trunk. | ||||
* | | Implement %ll (WideInt) handling for Tcl_ObjPrintf(). Use it in some places. | jan.nijtmans | 2016-12-02 | 1 | -8/+12 |
| | | | | | | Moved to feature branch temporarily. Breaks build. | ||||
* | | compatability -> compatibility | jan.nijtmans | 2016-12-01 | 1 | -1/+1 |
|\ \ | |/ | |||||
* | | Route all [string repeat] operations through a common implementation. | dgp | 2016-11-30 | 1 | -0/+140 |
| | | | | | | | | | | Code that to preserve bytearrays, eliminate unnecessary string rep generation, increase efficiency, and encapsulate access to internal rep details. | ||||
* | | Where feasible, convert concatenation panics into errors. | dgp | 2016-11-29 | 1 | -9/+46 |
| | | |||||
* | | Route all [string last] operations through a common implementation. | dgp | 2016-11-08 | 1 | -1/+105 |
| | | |||||
* | | Optimize case of all single-byte chars.dgp_string_find | dgp | 2016-11-07 | 1 | -2/+20 |
| | | |||||
* | | Consolidate the "find empty string" cases. | dgp | 2016-11-07 | 1 | -16/+11 |
| | | |||||
* | | First draft refactoring the [string first] functionality. | dgp | 2016-11-04 | 1 | -0/+84 |
| | | |||||
* | | Make packages msgcat and tcltest work unmodified in "novem". Make more ↵ | jan.nijtmans | 2016-11-04 | 1 | -2/+2 |
|\ \ | |/ | | | | | test-cases work unmodified in "novem". | ||||
* | | Replace indexing with pointer increments.dgp_string_cat | dgp | 2016-11-01 | 1 | -13/+18 |
| | | |||||
* | | Expand all the cases of the [string cat] engine. | dgp | 2016-11-01 | 1 | -27/+129 |
| | | |||||
* | | Reduce copies in the pure binary implementation of [string cat]. | dgp | 2016-10-31 | 1 | -7/+19 |
| | | |||||
* | | Complete the "pure binary" implementation of the [string cat] engine. | dgp | 2016-10-31 | 1 | -6/+20 |
| | | |||||
* | | WIP | dgp | 2016-10-28 | 1 | -1/+57 |
| | | |||||
* | | merge trunk | dgp | 2016-10-28 | 1 | -0/+2 |
|\ \ | |||||
| * \ | Add warning commentary making important assumptions explicit. | dgp | 2016-10-28 | 1 | -0/+2 |
| |\ \ | | |/ | |||||
| | * | Add warning commentary making important assumptions explicit. | dgp | 2016-10-28 | 1 | -0/+2 |
| | |\ |