summaryrefslogtreecommitdiffstats
path: root/generic/tclStubLib.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge trunkjan.nijtmans2016-12-211-3/+2
|\
| * Record the fact that all stub-enabled extensions work in Tcl 8.5+, no 8.6 ↵jan.nijtmans2016-12-201-5/+9
| | | | | | | | (or 9.0) features are needed. (Differences between 8.x and 9.0 are handled by a different stub magic value)
* | Merge trunk. Make magic stub value different for 64-bit builds, as this can ↵jan.nijtmans2016-06-271-2/+1
|\ \ | |/ | | | | never be stub-compatible with 32-bit builds.
| * Make TCL_MAJOR_VERSION/TCL_MINOR_VERSION/TCL_STUB_MAGIC available to ↵jan.nijtmans2016-06-271-11/+9
| | | | | | | | Tcl_InitStubs() arguments. Useful for debugging and detection of stub incompatibilities (e.g. for Tcl9)
* | Eliminate TclOOInitializeStubs() completely. This fixes [dfc08326e3], at ↵jan.nijtmans2013-10-171-0/+9
|\ \ | | | | | | | | | | | | | | | | | | least the TclOOInitializeStubs() surprise part of it. Further refactoring is possible, eliminating tclOOStubsPtr and/or tclOOIntStubsPtr. A discussion about that is opened on the Tcl Core List. This is fully source compatible for TclOO extensions (e.g. Itcl, tdbc) but binary incompatible. TODO: update documentation, but that can wait until the refactoring is complete.
| * | The Tcl 9.0 way of how [dfc08326e3] should be fixed: Real integration of ↵rfe_dfc08326e3jan.nijtmans2013-10-131-0/+13
|/ / | | | | | | TclOO in Tcl means that calling the function Tcl_OOInitStubs() should be elminated in full. This branch shows how to do that.
* | Merge trunk. jan.nijtmans2013-06-211-5/+23
|\ \ | |/ | | Remove TclpReaddir and TclpInetNtoa from internal stub table: It's not used anywhere any more.
| * Modify internal TclStubInfoType type: use TclStubs * in stead of ↵jan.nijtmans2013-06-211-3/+24
| | | | | | | | | | ClientData, so less type casts are needed in the code. Disadvantage: somewhat more code duplication, but it makes the code much more understandable.
* | merge trunkjan.nijtmans2013-06-181-25/+5
|\ \ | |/
| * split off TclInitStubTable() as separate function - which does the actual ↵jan.nijtmans2013-06-161-24/+3
| | | | | | | | stub table initialization - previously part of Tcl_InitStubs().
* | Merge trunkjan.nijtmans2013-01-251-4/+11
|\ \ | |/ | | Rename TclInitStubs back to Tcl_InitStubs, for easier compatibility with Tcl 8.
| * Change back to using an isDigit function. We simply don't need to make any dkf2012-12-231-4/+7
| | | | | | | | | | | | | | | | | | (formally non-portable) assumptions about what happens when an unsigned zero is decremented, and the code isn't in a performance-critical area. Remark by jan.nijtmans: The macro is perfectly portable! Not portable is the exact result of the substraction ('\xB0' - '0' might give 0x80 on some platforms and 0xffffff80 on others), but comparing <= 9 always gives the correct result. We are only checking for digits here! The macro correctly inlines with any compiler, so it's better anyway. Remark by dkf: But it's less clear. In this code, that's more important than a teeny bit of speed from inlining in a non-critical location.
* | merge trunkjan.nijtmans2012-12-211-30/+9
|\ \ | |/
| * Inline compat Tcl_GetDefaultEncodingDir. jan.nijtmans2012-12-211-24/+9
| |\ | | | | | | Eliminate unnecessary static HasStubSupport() and isDigit() functions, just do the same inline.
| | * Make pkgb.so loadable in Tcl 8.4 as well. jan.nijtmans2012-12-211-24/+9
| | |\ | | | | | | | | Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
| | | * Turn pkgb.so into a Tcl9 interoperability test library: Whatever Tcl9 looks ↵jan.nijtmans2012-12-211-24/+9
| | | | | | | | | | | | | | | | | | | | like, loading pkgb.so in Tcl 9 should either result in an error-message, either succeed, but never crash. Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
* | | | merge trunkjan.nijtmans2012-12-101-2/+3
|\ \ \ \ | |/ / /
| * | | Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
| |\ \ \ | | |/ / | | | | so that we don't close off a potential avenue of future innovations.
| | * | Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
| | |\ \ | | | |/ | | | | so that we don't close off a potential avenue of future innovations.
| | | * Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
| | | | | | | | | | | | so that we don't close off a potential avenue of future innovations.
* | | | merge trunkjan.nijtmans2012-12-071-17/+8
|\ \ \ \ | |/ / /
| * | | just lost one MODULE_SCOPE in the mergejan.nijtmans2012-12-071-1/+1
| | | |
| * | | only set tclStubsPtr if all version checks passjan.nijtmans2012-12-071-18/+9
| |\ \ \ | | |/ /
| | * | only set tclStubsPtr when all version checks passjan.nijtmans2012-12-071-32/+18
| | |\ \ | | | |/
| | | * only set tclStubsPtr if all version checks pass. Backported from tcl 8.5.jan.nijtmans2012-12-071-43/+62
| | | |
* | | | merge trunkjan.nijtmans2012-12-071-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | turn pkgb.so into a Tcl8 interoperability test library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 8 should either result in an error-message, either succeed, but never crash.
| * | | Tcl_InitStubs("8.5",1) would succeed in an "8.50" interp. Fixed.dgp2012-12-061-1/+1
| |\ \ \ | | |/ /
| | * | Tcl_InitStubs("8.5",1) would succeed in an "8.50" interp. Fixed.dgp2012-12-061-1/+1
| | | |
* | | | Initialize legacyFreeProc with invalid value: This will result injan.nijtmans2012-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | a crash immediately, when an extention tries to call it, in stead of crashing some time later.... Remove some more legacy regarding accessing interp->result
* | | | Remove all maintenance of a string result in the Interp.dgp2012-11-301-3/+3
|\ \ \ \
| * | | | missed bit of mergedgp2012-11-291-1/+1
| | | | |
| * | | | Get the updated error messagedgp2012-11-291-1/+1
| | | | |
| * | | | Merge bug-3588687dgp2012-11-291-4/+47
| |\ \ \ \
| | * \ \ \ Revise TclInitStubs() so that it checks for consistent values of bothdgp2012-11-291-10/+22
| | |\ \ \ \ | | | |/ / / | | | | | | TCL_MAJOR_VERSION and TCL_STUB_MAGIC between an extension and the stub library.
| | | * | | 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-3/+1
| | | |\ \ \ | | | | |/ / | | | | | | | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
| | | | * | 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-3/+1
| | | | |\ \ | | | | | |/ | | | | | | | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
| | | | | * 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
| | * | | | 3588687 Added cross checks so that [load]ed extension, [load]ing interp, anddgp2012-11-271-4/+53
| | |/ / / | | | | | | | | | | linked stubs library all agree on their versions in the ways that matter.
| * | | | ...and here's the lines left behind in the editor.dgp2012-11-261-1/+4
| | | | |
| * | | | Comments and renamings around the legacy fields for string results.dgp2012-11-261-2/+25
| | | | |
| * | | | To preserve the ability of [load] to bring in mistmatched stubs-enableddgp2012-04-191-6/+3
| | | | | | | | | | | | | | | | | | | | modules and react with an error rather than a crash, HasStubSupport() has to keep fiddling with the same fields as always.
| * | | | Clean version of changes; ifdef-freedkf2012-04-191-9/+5
| | | | |
| * | | | Experimental branch where the interp->result field and related are removeddgp2012-04-181-1/+7
| |/ / / | | | | | | | | | | | | and all simplifications that makes possible are done. Seems this can at best be a Tcl 9 reform.
* | | | merge (modified) novem-review.jan.nijtmans2012-11-301-18/+12
|\ \ \ \ | | | | | | | | | | unbreak windows build
| * | | | Proposed rollback of the TCL_STUB_MAGIC change on novem branch.novem_reviewdgp2012-11-291-22/+52
|/ / / /
* | | | Single stub library can now handle Tcl8 and Tcl9 with different MAGIC valuesjan.nijtmans2012-11-191-6/+8
| | | |
* | | | Better solution for handling errors from Tcl 8.x compiled extensions. Works ↵jan.nijtmans2012-11-191-2/+1
| | | | | | | | | | | | | | | | for existing ones.
* | | | change stub library to detect - and generate a nice error-message - jan.nijtmans2012-11-181-7/+18
|\ \ \ \ | |/ / / |/| | | | | | | | | | | when a shared library compiled for Tcl 9.x is attempted to be loaded in Tcl 8.x. Change MAGIC value in stub tables for 64-bit builds (those surely will be incomatible!)
| * | | <i>on-hold at Don Porter's request</i> on_hold_trunkjan.nijtmans2012-11-181-7/+26
| |\ \ \ |/ / / / | | | | | | | | | | | | | | | | change stub library to detect - and generate a nice error-message - when a shared library compiled for Tcl 8.x is attempted to be loaded in Tcl 9.x: Tcl 9 will not have the iPtr->result field so we cannot use that any more.
| * | | <i>On hold at Don Porter's request</i> on_hold_85jan.nijtmans2012-11-181-7/+26
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | hange stub library to detect - and generate a nice error-message - when a shared library compiled for Tcl 8.x is attempted to be loaded in Tcl 9.x: Tcl 9 will not have the iPtr->result field so we cannot use that any more.