From 4837653d64debe20eb2ef71dca9813510502168f Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 15 Jun 2022 09:25:41 +0000 Subject: Disable tests (conditionally) which cannot run without the UTF16 compatibility layer (TIP #622) --- tests/stringObj.test | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/stringObj.test b/tests/stringObj.test index 437d8c2..c1633bf 100644 --- a/tests/stringObj.test +++ b/tests/stringObj.test @@ -473,27 +473,27 @@ test stringObj-15.8 {Tcl_Append*ToObj: self appends} {testobj tip389 deprecated} teststringobj appendself2 1 3 } foo -test stringObj-16.0 {Tcl_GetRange: normal case} testobj { +test stringObj-16.0 {Tcl_GetRange: normal case} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 1 3 } bcd -test stringObj-16.1 {Tcl_GetRange: first > end} testobj { +test stringObj-16.1 {Tcl_GetRange: first > end} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 10 5 } {} -test stringObj-16.2 {Tcl_GetRange: last > end} testobj { +test stringObj-16.2 {Tcl_GetRange: last > end} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 3 13 } de -test stringObj-16.3 {Tcl_GetRange: first = -1} testobj { +test stringObj-16.3 {Tcl_GetRange: first = -1} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 -1 3 } abcd -test stringObj-16.4 {Tcl_GetRange: last = -1} testobj { +test stringObj-16.4 {Tcl_GetRange: last = -1} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 1 -1 } bcde -test stringObj-16.5 {Tcl_GetRange: fist = last = -1} testobj { +test stringObj-16.5 {Tcl_GetRange: fist = last = -1} {testobj deprecated} { teststringobj set 1 abcde teststringobj range 1 -1 -1 } abcde -- cgit v0.12 From f9299159657f3c19b59f37dd1de2d580dae51397 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 15 Jun 2022 10:04:41 +0000 Subject: Backport tclStubLib.c from Tcl 9.0 (they should be equal in 8.7 and 9.0) --- generic/tclStubLib.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c index 46d2f90..f06b2d1 100644 --- a/generic/tclStubLib.c +++ b/generic/tclStubLib.c @@ -17,11 +17,13 @@ MODULE_SCOPE const TclStubs *tclStubsPtr; MODULE_SCOPE const TclPlatStubs *tclPlatStubsPtr; MODULE_SCOPE const TclIntStubs *tclIntStubsPtr; MODULE_SCOPE const TclIntPlatStubs *tclIntPlatStubsPtr; +MODULE_SCOPE void *tclStubsHandle; const TclStubs *tclStubsPtr = NULL; const TclPlatStubs *tclPlatStubsPtr = NULL; const TclIntStubs *tclIntStubsPtr = NULL; const TclIntPlatStubs *tclIntPlatStubsPtr = NULL; +void *tclStubsHandle = NULL; /* * Use our own ISDIGIT to avoid linking to libc on windows @@ -56,10 +58,12 @@ Tcl_InitStubs( { Interp *iPtr = (Interp *)interp; const char *actualVersion = NULL; - ClientData pkgData = NULL; + void *pkgData = NULL; const TclStubs *stubsPtr = iPtr->stubTable; const char *tclName = (((exact&0xFF00) >= 0x900) ? "tcl" : "Tcl"); +#undef TCL_STUB_MAGIC /* We need the TCL_STUB_MAGIC from Tcl 8.x here */ +#define TCL_STUB_MAGIC ((int) 0xFCA3BACF) /* * We can't optimize this check by caching tclStubsPtr because that * prevents apps from being able to load/unload Tcl dynamically multiple @@ -106,6 +110,9 @@ Tcl_InitStubs( /* We are running Tcl 8.x */ stubsPtr = (TclStubs *)pkgData; } + if (tclStubsHandle == NULL) { + tclStubsHandle = INT2PTR(-1); + } tclStubsPtr = stubsPtr; if (stubsPtr->hooks) { -- cgit v0.12 From c23518984f1b61e136d4e57f9554c5f8d3c1d26a Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 15 Jun 2022 12:15:59 +0000 Subject: Add comments in tcl.decls --- generic/tcl.decls | 3 +++ 1 file changed, 3 insertions(+) diff --git a/generic/tcl.decls b/generic/tcl.decls index 264bf99..7788ae1 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -142,6 +142,7 @@ declare 32 { int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr) } +# Only available in Tcl 8.x, NULL in Tcl 9.0 declare 33 { unsigned char *Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *numBytesPtr) } @@ -299,6 +300,7 @@ declare 79 { declare 80 { void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData) } +# Only available in Tcl 8.x, NULL in Tcl 9.0 declare 81 { int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan) } @@ -2421,6 +2423,7 @@ declare 651 { declare 652 { unsigned short *TclGetUnicodeFromObj(Tcl_Obj *objPtr, size_t *lengthPtr) } +# Only available in Tcl 8.x, NULL in Tcl 9.0 declare 653 { unsigned char *TclGetByteArrayFromObj(Tcl_Obj *objPtr, size_t *numBytesPtr) } -- cgit v0.12