summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
* More WIP. Seems to be *almost* working.jan.nijtmans2019-03-171-11/+0
|
* Merge 8.7jan.nijtmans2019-03-161-2/+1
|\ | | | | | | Move up some stub entries related to Tcl_UniChar Use TCL_UTF_MAX=4 for full Unicode in stead of TCL_UTF_MAX=6 (TCL_UTF_MAX: 3 is default)
| * Eliminate usage of mp_isneg(), just check bignum->sign directly (as ↵jan.nijtmans2019-03-151-1/+0
| | | | | | | | | | libtommath itself does) Make TclInitBugnumFromLong() a static function in stubtable only, as it isn't used by Tcl anymore.
* | Merge 8.7.jan.nijtmans2019-03-141-2/+2
|\ \ | |/ | | Fix 2 test-cases which were failing for TCL_UTF_MAX=6
* | Even better support for -DTCL_UTF_MAX=6. Ongoing improvements (TIP being ↵jan.nijtmans2019-03-121-4/+4
|/ | | | planned)
* re-implemente changes in win/tclWinFile.c (handling -DTCL_UTF_MAX=6) using 3 ↵jan.nijtmans2019-03-101-0/+11
| | | | new utility functions. This allows to re-use code in more places: cleaner implementation more future-proof.
* merge 8.6 (TIP#527, New measurement facilities in TCL: New command timerate, ↵sebres2019-03-051-0/+15
|\ | | | | | | performance test suite)
| * merge 8.6(.9), conflicts resolvedsergey.brester2019-02-071-31/+100
| |\
* | | Various tommath/numeric related optimizations:jan.nijtmans2019-03-021-6/+0
| | | | | | | | | | | | - Remove the DD_STEEL formatter: it isn't used anywhere in Tcl, and not recommended. - Remove double limit-checks, which are already done inside mp_to_unsigned_bin_n()
* | | More use of TclHasIntRep() macro. Add vfs build director to fossil ignore-globjan.nijtmans2019-03-011-1/+1
| | |
* | | More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) ↵jan.nijtmans2019-02-271-5/+5
| | | | | | | | | | | | and (unsigned) type-casts, which don't make sense any more.
* | | New internal macro TclHasIntRep() to re-encapsulate the typePtr field.dgp2019-02-251-1/+3
| | |
* | | Revert recent commit that breaks the encapsulation interface of TIP 445.dgp2019-02-221-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | That encapsulation was put in place to support feature evolution such as that in the dgp-properbytearry branch, which is now a nightmare of merge conflicts. TIP 445 was approved. Please respect it. Where it needs revision or improvement let's work together to TIP those changes.
* | | merge 8.6 (regression fix [e3f481f187], conflicts resolved)sebres2019-02-011-3/+2
|\ \ \ | | |/ | |/|
| * | code review with small amend (note nameLength is number of bytes, the ↵sebres2019-01-311-3/+2
| | | | | | | | | | | | argument may be utf-8 as well as not necessarily a NTS, so access of char after end may cause segfault).
| * | fixes utf-8 compatibility of proc/lambda arguments (regression on compiled ↵sebres2019-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | locals/variables containing utf-8 characters) - CompiledLocal::nameLength is length in bytes not in chars everywhere in tcl; simplest example: % apply {{€} { set "€" }} 1; # or apply [list \u20ac { set \u20ac }] 1 can't read "€": no such variable
* | | Make TclIsPureByteArray() a macro, since it's only doing a single compare. ↵jan.nijtmans2019-01-311-1/+3
| | | | | | | | | | | | Other internal simplifications/code duplication. No functional change, only optimizations
* | | New internal macro TclFetchIntRep, which is faster than Tcl_FetchIntRep. jan.nijtmans2019-01-281-0/+2
| | | | | | | | | But ... don't use this function when the result is only compared to NULL: that's just overkill.
* | | Merge 8.6. Also reduce tclCharTypeTable[] to 256 entries, as this table is ↵jan.nijtmans2019-01-261-2/+2
|\ \ \ | |/ / | | | | | | | | | always addressed with unsigned chars now. Eliminate some useless end-of-line spacing that slipped in.
| * | Replace isspace() -> TclIsSpaceProc() _everywhere_. jan.nijtmans2019-01-261-2/+2
| | | | | | | | | Change TclIsSpaceProc() and TclIsBareWord so it works with both signed and unsigned characters. Actually, this is not a signature change, as "char" arguments are enlarged to "int" by the C-compiler anyway.
* | | Slightly more efficient TclGetIntForIndexM macro, compared to previous commitjan.nijtmans2019-01-171-5/+5
| | |
* | | More TIP #502 optimizations and improvements, preparing further for the road ↵jan.nijtmans2019-01-161-3/+2
| | | | | | | | | | | | | | | | | | to Tcl 9. No longer use INT_MAX for TCL_INDEX_AFTER, because INT_MAX can be a normal index in Tcl 9. TclGetIntForIndex now clips between -1 and INT_MAX. In Tcl 9 size_t will be used for the index data type.
* | | Remove unused MODULE_SCOPE functionsjan.nijtmans2018-12-201-5/+0
| | |
* | | If compiled with -DTCL_NO_DEPRECATED, remove ↵jan.nijtmans2018-12-121-1/+1
| | | | | | | | | | | | | | | Tcl_NewIntObj/Tcl_NewLongObj/Tcl_DbNewLongObj from stub table, as they will be gone in 9.0 (converted to a macro) Use Tcl_WideInt's directly in more places, diminishing the possibility of inadvent overflow.
* | | Make TclFreeObj MODULE_SCOPE, so the only way to access it is through the ↵jan.nijtmans2018-11-271-0/+1
| | | | | | | | | | | | stub table, for backwards-compatible stub-enabled extensions
* | | merge 8.6sebres2018-11-221-1/+2
|\ \ \ | |/ /
| * | merge 8.5: fixes segfault [7a9dc52b29] and wrong normalization (inside ↵sebres2018-11-221-1/+2
| |\ \ | | | | | | | | | | | | TclJoinPath) for pure relative path-segments; test-cases extended and several windows-related are fixed.
| * | | Remove some actually dead codejan.nijtmans2018-07-311-1/+1
| | | |
* | | | Add entry for Tcl_StaticPackage in internal stub table, since the public one ↵jan.nijtmans2018-11-151-16/+16
| | | | | | | | | | | | | | | | | | | | is deprecated and will be removed in 9.0 Clean-up a lot of type-casts, which are not necessary any more.
* | | | Implement TIP 523dkf2018-11-061-0/+3
|\ \ \ \
| * | | | Implement TIP 523, New lpop commandpspjuth2018-10-221-0/+3
| | | | |
* | | | | merge 8.7dgp2018-10-241-4/+4
|\ \ \ \ \ | |/ / / /
| * | | | Change PTR2INT and PTR2UINT macros's so they can handle long's and ↵jan.nijtmans2018-10-211-4/+4
| | | | | | | | | | | | | | | | | | | | Tcl_WideInt's too, so no longer restricted to the "int" range.
* | | | | merge 8.7dgp2018-10-181-21/+60
|\ \ \ \ \ | |/ / / /
| * | | | TIP #514 implementation: Platform differences in handling int/widejan.nijtmans2018-10-081-6/+9
| |\ \ \ \
| | * \ \ \ Merge 8.7jan.nijtmans2018-09-271-0/+24
| | |\ \ \ \
| | * \ \ \ \ merge tip-515 (which is pre-requisite for this TIP now)jan.nijtmans2018-09-221-0/+8
| | |\ \ \ \ \
| | * | | | | | TCL_NUMBER_WIDE -> TCL_NUMBER_INT. Two test-cases still failingjan.nijtmans2018-09-081-1/+1
| | | | | | | |
| | * | | | | | Merge 8.7jan.nijtmans2018-09-051-1/+1
| | |\ \ \ \ \ \
| | * | | | | | | Now, restore wide(), but make int() the same as entier(). Add new utility ↵jan.nijtmans2018-08-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function.
| | * | | | | | | improved reange checking (also for the Tcl 9.0 proposal). Make platform test ↵jan.nijtmans2018-08-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | platform 32/64-bit independant
| | * | | | | | | Re-base branch "all-wideint" to core-8-branch. Still WIPjan.nijtmans2018-08-191-4/+7
| | |\ \ \ \ \ \ \
| | | * | | | | | | Still WIP. All test-cases pass now in 32-bitjan.nijtmans2018-08-191-2/+5
| | | | | | | | | |
| | | * | | | | | | Experiment, resolving platform differences at script level. Don't look ...jan.nijtmans2018-08-161-2/+2
| | | | | | | | | |
| * | | | | | | | | Centralise the de-fanging of standard ensembles in safe interpreters. Doing ↵dkf2018-10-071-2/+0
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | it right once is easier than repeating hacks...
| * | | | | | | | Restricted the information made available to safe interpreters a bit.dkf2018-09-271-0/+1
| | | | | | | | |
| * | | | | | | | merge core-8-branchdkf2018-09-271-0/+7
| |\ \ \ \ \ \ \ \
| | * | | | | | | | Make defaults work even when [upvar]ed to just a non-existent element.dkf2018-09-261-0/+1
| | | | | | | | | |
| | * | | | | | | | merge core-8-branchdkf2018-09-231-15/+57
| | |\ \ \ \ \ \ \ \ | | | | |_|_|/ / / / | | | |/| | | | | |
| | * | | | | | | | Initial implementation of TIP #508: [array default]fbonnet2018-05-131-0/+6
| | | | | | | | | |