summaryrefslogtreecommitdiffstats
path: root/generic/tclObj.c
Commit message (Collapse)AuthorAgeFilesLines
* merge trunkjan.nijtmans2018-05-231-11/+11
|\
| * merge 8.7jan.nijtmans2018-05-221-11/+11
| |\
| | * Simplify usage of TCL_THREAD, along the lines of ↵jan.nijtmans2018-05-221-11/+11
| | | | | | | | | | | | [eeddb0693a950be980a66de3811630a00c7bab54|eeddb0693a]. Suggested by DKF
| * | Merge 8.7, but keep TCL_THREADS undefined in tcl.h (since that's no longer ↵jan.nijtmans2018-05-171-11/+11
| |\ \ | | |/ | | | | | | necessary)
| | * TIP #491 implementation: Threading Support: phasing out non-threaded buildsjan.nijtmans2018-05-171-11/+11
| | |
* | | Merge trunkjan.nijtmans2018-02-271-1/+0
|\ \ \ | |/ /
| * | merge 8.7dgp2018-02-231-1/+0
| |\ \ | | |/
| | * Cease registration of the "end-offset" Tcl_ObjType. Give it file scope.dgp2018-02-231-1/+0
| | | | | | | | | Remove the updateStringProc that can never be called.
* | | merge trunkjan.nijtmans2018-02-221-424/+7
|\ \ \ | |/ /
| * | merge core-8-branchjan.nijtmans2018-02-221-3/+2
| |\ \ | | |/
| | * Correctly distinguish between internalrep.longValue (in case of boolean) and ↵jan.nijtmans2018-02-221-4/+8
| | | | | | | | | | | | internalre.wideValue (in case of int). Add comment warning for that
| * | Use internalRep.wideValue as internal representation for booleans. This ↵jan.nijtmans2018-02-151-6/+2
| |\ \ | | |/ | | | | | | simplifies the handling of "int" resp "boolean", sharing its internal representation.
| * | merge 8.7dgp2018-02-091-2/+2
| |\ \ | | |/
| | * fixes [9280abbaf57fca3eb40a89403d9d891853209bb6]: compare of `LLONG_MAX == ↵sebres2018-02-081-2/+2
| | | | | | | | | | | | | | | LONG_MAX` does not possible in preprocessor (because LLONG_MAX could be complex expression), use `defined(TCL_WIDE_INT_IS_LONG)` instead of.
| * | remove unused stub entries (now that those are macros) jan.nijtmans2018-02-061-412/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Moved checkin off trunk onto dev branch jn-unused-stubs because it causes many test suite segfaults, apparently releated to Tcl_Channels. Moved back onto trunk. segfaults came from a prior install of the Thread package that became imcompatible with this change in the stubs table. Will followup on TCLCORE.
* | | merge trunkjan.nijtmans2018-02-061-189/+59
|\ \ \ | |/ /
| * | merge core-8-branchjan.nijtmans2018-02-061-189/+59
| |\ \ | | |/
| | * Rename (internal) TclNewWideObj macro to TclNewIntObj. Change ↵jan.nijtmans2018-01-261-5/+6
| | | | | | | | | | | | Tcl_SetIntObj/Tcl_SetLongObj to macro's referencing Tcl_SetWideIntObj (since all of those do the same now)
| | * Merge core-8-branch. Also some minor performance improvement: Turn ↵jan.nijtmans2018-01-261-7/+8
| | |\ | | | | | | | | | | | | Tcl_NewLongObj/Tcl_NewIntObj/Tcl_DBNewLongObj into macro's refering to their WideInt equivalent, since all of those do exactly the same now.
| | * | make the old "int" type "static", since it's just used in a single file.jan.nijtmans2018-01-221-2/+2
| | | |
| | * | Put old "int" type back. Not used by Tcl anymore, but this restores ↵jan.nijtmans2018-01-221-0/+31
| | | | | | | | | | | | | | | | | | | | compatibility with Tk < 8.6.9 and some extensions: "nsf", "tdbcload", "tclxml" and "VecTcl" (this workaround was used by "boolean" as well, when its internal implementation changed, there's still an oldBooleanType because of that)
| | * | Somewhat better backwards compatibility on 64-bit platforms.jan.nijtmans2017-12-191-2/+2
| | | |
| | * | merge core-8-branchjan.nijtmans2017-12-191-3/+3
| | |\ \
| | * \ \ Merge dgp's "end-int-registration" branch, but slightly different: In stead ↵jan.nijtmans2017-11-151-4/+13
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | of not registering "int", continue to register it as being "wideInt" for Tcl 8.x. This should assure maximum compatibility with Tcl 8.6-based extensions. In addition, revert some boolean-related changes (keep the longValue usage here in stead of wideValue). And stop registering oldBoolean starting with Tcl 9.
| | | * | | TIP 484 proposes a re-implementation of Tcl's "int" Tcl_ObjType.dgp2017-11-141-1/+0
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the new implementation is not consistent with the former one, any callers of Tcl_GetObjType("int") who are expecting the return value to point them at something playing by the former rules are at risk of having their code broken. In this branch I remove the registation of Tcl's "int" type, so such callers will get NULL (which they should already be able to handle) instead of something misleading them into breakage. Examine this branch and decide if it should be incorporated into TIP 484.
| | * | | Rebase back to 8.7 (core-8-branch), since that's what the TIP is meant for. ↵jan.nijtmans2017-11-091-17/+14
| | |\ \ \ | | | | | | | | | | | | | | | | | | (I see no reason to wait for 9.0)
| | * \ \ \ merge trunkdgp2017-11-091-14/+17
| | |\ \ \ \
| | * | | | | More code simplifications, with still equal functionality.jan.nijtmans2017-11-071-30/+3
| | | | | | |
| | * | | | | Finally, get rid of tclWideIntType completelyjan.nijtmans2017-11-011-47/+20
| | | | | | |
| | * | | | | Fix some pointer arthemeric (only visible on big-endian systems)jan.nijtmans2017-10-301-6/+1
| | | | | | |
| | * | | | | more progress in code simplificationsjan.nijtmans2017-10-301-29/+1
| | | | | | |
| | * | | | | Change (internal) TclFormatInt() signature, so it can handle WideInt's ↵jan.nijtmans2017-10-301-79/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | directly. Ongoing simplifications ...
| | * | | | | Experimental branch meant to eliminate the "wideint" type, just merge it to ↵jan.nijtmans2017-10-301-13/+13
| | | |/ / / | | |/| | | | | | | | | | | | | | | a single "int" type. No effect on linux64 and similar systems, code simplification for Win64 and 32-bit system. No TIP yet, implementation ongoing.
* | | | | | merge trunkjan.nijtmans2018-01-291-9/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Don't register oldBooleanType any more. And rename "booleanString" to ↵jan.nijtmans2018-01-231-9/+1
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | "boolean" in tclBooleanType.
| | * | | | In Tcl 9.0, don't register oldBooleanType any more. And rename ↵jan.nijtmans2018-01-231-0/+8
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | "booleanString" to "boolean" in tclBooleanType. Many extensions (e.g. [http://cyqlite.sourceforge.net/cgi-bin/sqlite/info/451bb2c1f8554eee|sqlite]) still test for "boolean", although that stopped working already for a long time. In Tcl 8.7, do the same when compiled with -DTCL_NO_DEPRECATED.
| | * | | Revert a few more (int -> size_t) transitions, which could effect extensions ↵jan.nijtmans2017-12-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | (such as Itcl 3.4) which use internal Tcl header files. Better wait until 9.0 for this. What we _can_ do is change some (internal) fields to 'unsigned': that doubles the epoch range without further danger. Thanks, Don, for pointing this out!
| | * | | Revert the (int -> size_t) transition of the "cmdEpoch" field ofdgp2017-12-151-1/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the struct Command that was part of [ff3f6a12a8d099ef], and related changes. This change broke the ability of Itcl 3.4 built against Tcl 8.6 headers to successfully [load] into and operate in a Tcl 8.7 interp. "Command" is a private struct, and Itcl 3 should have respected that, but it has not, and changing the size of the cmdEpoch field broke the ability of Itcl 3 to operate on later fields of the struct, notably the deleteProc, which it makes extensive use of. I believe we should keep the change in the Tcl 9 sources.
* | | | Merge trunk. jan.nijtmans2017-12-271-5/+5
|\ \ \ \ | |/ / / | | | | | | | | Rename Tcl_MemAlloc and friends back to Tcl_Alloc, as this renaming turns out not to be necessary. Make everything compile/run with TCL_MEM_DEBUG=1 (a few signatures were still not correct)
* | | | merge trunkjan.nijtmans2017-12-201-12/+12
|\ \ \ \ | |/ / /
* | | | merge trunkjan.nijtmans2017-12-151-2/+1
|\ \ \ \ | |/ / /
| | | |
| | \ \
| *-. \ \ Merge TIP #488 implementation. jan.nijtmans2017-12-151-2/+1
| |\ \ \ \ | | | |/ / | | | | | Some clean-up in tommath implementation (remove internal stub entries which are no longer needed)
| | * | | TIP 488: Remove tcl_precisionjan.nijtmans2017-12-011-2/+1
| | | | |
* | | | | merge trunkjan.nijtmans2017-12-011-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | merge core-8-branch. Various cleanup: unused structure names, unused ↵jan.nijtmans2017-12-011-1/+1
| |\ \ \ \ | | |/ / / | |/| / / | | |/ / #defines. Change some "epoch"-related fields from int to size_t. Nothing functional.
* | | | re-base "novem-more-memory-API" to trunk. TIP not submitted yet, but upcoming.jan.nijtmans2017-11-161-3/+3
|\ \ \ \ | |/ / / |/| | |
| * | | merge novemjan.nijtmans2017-11-131-14/+17
| |\ \ \
| | * \ \ merge trunkjan.nijtmans2017-11-061-14/+17
| | |\ \ \ | | | | |/ | | | |/|
| * | | | merge novemjan.nijtmans2017-10-111-3/+3
| |\ \ \ \ | | |/ / /
| | * | | Merge trunkjan.nijtmans2017-09-131-3/+3
| | |\ \ \ | | | | |/ | | | |/|