diff options
| -rw-r--r-- | generic/tcl.decls | 14 | ||||
| -rw-r--r-- | generic/tcl.h | 8 | ||||
| -rw-r--r-- | generic/tclDecls.h | 52 | ||||
| -rw-r--r-- | generic/tclInt.decls | 2 | ||||
| -rw-r--r-- | generic/tclOO.h | 8 | ||||
| -rw-r--r-- | generic/tclOODecls.h | 10 | ||||
| -rw-r--r-- | generic/tclStubInit.c | 8 | ||||
| -rw-r--r-- | unix/dltest/pkgooa.c | 21 |
8 files changed, 63 insertions, 60 deletions
diff --git a/generic/tcl.decls b/generic/tcl.decls index 6ca10c0..98fd2fe 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -146,7 +146,7 @@ declare 32 { } # Only available in Tcl 8.x, NULL in Tcl 9.0 declare 33 { - unsigned char *TclGetByteArrayFromObj(Tcl_Obj *objPtr, void *numBytesPtr) + unsigned char *Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *numBytesPtr) } declare 34 { int Tcl_GetDouble(Tcl_Interp *interp, const char *src, double *doublePtr) @@ -2482,9 +2482,11 @@ declare 651 { declare 652 { Tcl_UniChar *Tcl_GetUnicodeFromObj(Tcl_Obj *objPtr, Tcl_Size *lengthPtr) } -# Only available in Tcl 8.x, NULL in Tcl 9.0 + +# TIP 660 declare 653 { - unsigned char *Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, Tcl_Size *numBytesPtr) + int Tcl_GetSizeIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, + Tcl_Size *sizePtr) } # TIP #575 @@ -2626,12 +2628,6 @@ declare 685 { Tcl_Obj *Tcl_DStringToObj(Tcl_DString *dsPtr) } -# TIP 660 -declare 686 { - int Tcl_GetSizeIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, - Tcl_Size *sizePtr) -} - # ----- BASELINE -- FOR -- 8.7.0 / 9.0.0 ----- # declare 688 { diff --git a/generic/tcl.h b/generic/tcl.h index a2d00d9..a41f809 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -558,9 +558,13 @@ typedef void (Tcl_CmdTraceProc) (void *clientData, Tcl_Interp *interp, typedef int (Tcl_CmdObjTraceProc) (void *clientData, Tcl_Interp *interp, int level, const char *command, Tcl_Command commandInfo, int objc, struct Tcl_Obj *const *objv); +#if TCL_MAJOR_VERSION > 8 typedef int (Tcl_CmdObjTraceProc2) (void *clientData, Tcl_Interp *interp, Tcl_Size level, const char *command, Tcl_Command commandInfo, Tcl_Size objc, struct Tcl_Obj *const *objv); +#else +#define Tcl_CmdObjTraceProc2 Tcl_CmdObjTraceProc +#endif typedef void (Tcl_CmdObjTraceDeleteProc) (void *clientData); typedef void (Tcl_DupInternalRepProc) (struct Tcl_Obj *srcPtr, struct Tcl_Obj *dupPtr); @@ -583,8 +587,12 @@ typedef void (Tcl_InterpDeleteProc) (void *clientData, typedef void (Tcl_NamespaceDeleteProc) (void *clientData); typedef int (Tcl_ObjCmdProc) (void *clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj *const *objv); +#if TCL_MAJOR_VERSION > 8 typedef int (Tcl_ObjCmdProc2) (void *clientData, Tcl_Interp *interp, Tcl_Size objc, struct Tcl_Obj *const *objv); +#else +#define Tcl_ObjCmdProc2 Tcl_ObjCmdProc +#endif typedef int (Tcl_LibraryInitProc) (Tcl_Interp *interp); typedef int (Tcl_LibraryUnloadProc) (Tcl_Interp *interp, int flags); typedef void (Tcl_PanicProc) (const char *format, ...); diff --git a/generic/tclDecls.h b/generic/tclDecls.h index 25a11d8..caab6cc 100644 --- a/generic/tclDecls.h +++ b/generic/tclDecls.h @@ -135,8 +135,8 @@ EXTERN int Tcl_GetBoolean(Tcl_Interp *interp, const char *src, EXTERN int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr); /* 33 */ -EXTERN unsigned char * TclGetByteArrayFromObj(Tcl_Obj *objPtr, - void *numBytesPtr); +EXTERN unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, + int *numBytesPtr); /* 34 */ EXTERN int Tcl_GetDouble(Tcl_Interp *interp, const char *src, double *doublePtr); @@ -1756,8 +1756,8 @@ EXTERN char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, EXTERN Tcl_UniChar * Tcl_GetUnicodeFromObj(Tcl_Obj *objPtr, Tcl_Size *lengthPtr); /* 653 */ -EXTERN unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, - Tcl_Size *numBytesPtr); +EXTERN int Tcl_GetSizeIntFromObj(Tcl_Interp *interp, + Tcl_Obj *objPtr, Tcl_Size *sizePtr); /* 654 */ EXTERN int Tcl_UtfCharComplete(const char *src, Tcl_Size length); /* 655 */ @@ -1862,9 +1862,7 @@ EXTERN int Tcl_GetWideUIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_WideUInt *uwidePtr); /* 685 */ EXTERN Tcl_Obj * Tcl_DStringToObj(Tcl_DString *dsPtr); -/* 686 */ -EXTERN int Tcl_GetSizeIntFromObj(Tcl_Interp *interp, - Tcl_Obj *objPtr, Tcl_Size *sizePtr); +/* Slot 686 is reserved */ /* Slot 687 is reserved */ /* 688 */ EXTERN void TclUnusedStubEntry(void); @@ -1912,7 +1910,7 @@ typedef struct TclStubs { void (*tclFreeObj) (Tcl_Obj *objPtr); /* 30 */ int (*tcl_GetBoolean) (Tcl_Interp *interp, const char *src, int *intPtr); /* 31 */ int (*tcl_GetBooleanFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr); /* 32 */ - unsigned char * (*tclGetByteArrayFromObj) (Tcl_Obj *objPtr, void *numBytesPtr); /* 33 */ + unsigned char * (*tcl_GetByteArrayFromObj) (Tcl_Obj *objPtr, int *numBytesPtr); /* 33 */ int (*tcl_GetDouble) (Tcl_Interp *interp, const char *src, double *doublePtr); /* 34 */ int (*tcl_GetDoubleFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, double *doublePtr); /* 35 */ void (*reserved36)(void); @@ -2532,7 +2530,7 @@ typedef struct TclStubs { unsigned char * (*tcl_GetBytesFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Size *numBytesPtr); /* 650 */ char * (*tcl_GetStringFromObj) (Tcl_Obj *objPtr, Tcl_Size *lengthPtr); /* 651 */ Tcl_UniChar * (*tcl_GetUnicodeFromObj) (Tcl_Obj *objPtr, Tcl_Size *lengthPtr); /* 652 */ - unsigned char * (*tcl_GetByteArrayFromObj) (Tcl_Obj *objPtr, Tcl_Size *numBytesPtr); /* 653 */ + int (*tcl_GetSizeIntFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Size *sizePtr); /* 653 */ int (*tcl_UtfCharComplete) (const char *src, Tcl_Size length); /* 654 */ const char * (*tcl_UtfNext) (const char *src); /* 655 */ const char * (*tcl_UtfPrev) (const char *src, const char *start); /* 656 */ @@ -2565,7 +2563,7 @@ typedef struct TclStubs { Tcl_Size (*tcl_GetEncodingNulLength) (Tcl_Encoding encoding); /* 683 */ int (*tcl_GetWideUIntFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_WideUInt *uwidePtr); /* 684 */ Tcl_Obj * (*tcl_DStringToObj) (Tcl_DString *dsPtr); /* 685 */ - int (*tcl_GetSizeIntFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Size *sizePtr); /* 686 */ + void (*reserved686)(void); void (*reserved687)(void); void (*tclUnusedStubEntry) (void); /* 688 */ } TclStubs; @@ -2646,8 +2644,8 @@ extern const TclStubs *tclStubsPtr; (tclStubsPtr->tcl_GetBoolean) /* 31 */ #define Tcl_GetBooleanFromObj \ (tclStubsPtr->tcl_GetBooleanFromObj) /* 32 */ -#define TclGetByteArrayFromObj \ - (tclStubsPtr->tclGetByteArrayFromObj) /* 33 */ +#define Tcl_GetByteArrayFromObj \ + (tclStubsPtr->tcl_GetByteArrayFromObj) /* 33 */ #define Tcl_GetDouble \ (tclStubsPtr->tcl_GetDouble) /* 34 */ #define Tcl_GetDoubleFromObj \ @@ -3826,8 +3824,8 @@ extern const TclStubs *tclStubsPtr; (tclStubsPtr->tcl_GetStringFromObj) /* 651 */ #define Tcl_GetUnicodeFromObj \ (tclStubsPtr->tcl_GetUnicodeFromObj) /* 652 */ -#define Tcl_GetByteArrayFromObj \ - (tclStubsPtr->tcl_GetByteArrayFromObj) /* 653 */ +#define Tcl_GetSizeIntFromObj \ + (tclStubsPtr->tcl_GetSizeIntFromObj) /* 653 */ #define Tcl_UtfCharComplete \ (tclStubsPtr->tcl_UtfCharComplete) /* 654 */ #define Tcl_UtfNext \ @@ -3892,8 +3890,7 @@ extern const TclStubs *tclStubsPtr; (tclStubsPtr->tcl_GetWideUIntFromObj) /* 684 */ #define Tcl_DStringToObj \ (tclStubsPtr->tcl_DStringToObj) /* 685 */ -#define Tcl_GetSizeIntFromObj \ - (tclStubsPtr->tcl_GetSizeIntFromObj) /* 686 */ +/* Slot 686 is reserved */ /* Slot 687 is reserved */ #define TclUnusedStubEntry \ (tclStubsPtr->tclUnusedStubEntry) /* 688 */ @@ -4035,8 +4032,6 @@ extern const TclStubs *tclStubsPtr; #undef Tcl_GetIndexFromObjStruct #undef Tcl_GetBooleanFromObj #undef Tcl_GetBoolean -#undef TclGetByteArrayFromObj -#undef Tcl_GetByteArrayFromObj #if defined(USE_TCL_STUBS) # if TCL_MAJOR_VERSION < 9 || !defined(TCL_NO_DEPRECATED) # define Tcl_GetBytesFromObj(interp, objPtr, sizePtr) \ @@ -4062,15 +4057,12 @@ extern const TclStubs *tclStubsPtr; ((sizeof(*(boolPtr)) == sizeof(int) && (TCL_MAJOR_VERSION == 8)) ? tclStubsPtr->tcl_GetBoolean(interp, src, (int *)(boolPtr)) : \ Tcl_GetBool(interp, src, (TCL_NULL_OK-2)&(int)sizeof((*(boolPtr))), (char *)(boolPtr))) #if TCL_MAJOR_VERSION > 8 +#undef Tcl_GetByteArrayFromObj #define Tcl_GetByteArrayFromObj(objPtr, sizePtr) \ (sizeof(*(sizePtr)) <= sizeof(int) ? \ tclStubsPtr->tclGetBytesFromObj(NULL, objPtr, (sizePtr)) : \ tclStubsPtr->tcl_GetBytesFromObj(NULL, objPtr, (Tcl_Size *)(void *)(sizePtr))) -#else -#define Tcl_GetByteArrayFromObj(objPtr, sizePtr) \ - (sizeof(*(sizePtr)) <= sizeof(int) ? \ - tclStubsPtr->tclGetByteArrayFromObj(objPtr, (sizePtr)) : \ - tclStubsPtr->tcl_GetByteArrayFromObj(objPtr, (Tcl_Size *)(void *)(sizePtr))) + #endif #else #define Tcl_GetIndexFromObjStruct(interp, objPtr, tablePtr, offset, msg, flags, indexPtr) \ @@ -4082,9 +4074,10 @@ extern const TclStubs *tclStubsPtr; #define Tcl_GetBoolean(interp, src, boolPtr) \ ((sizeof(*(boolPtr)) == sizeof(int) && (TCL_MAJOR_VERSION == 8)) ? Tcl_GetBoolean(interp, src, (int *)(boolPtr)) : \ Tcl_GetBool(interp, src, (TCL_NULL_OK-2)&(int)sizeof((*(boolPtr))), (char *)(boolPtr))) +#undef Tcl_GetByteArrayFromObj #if defined(TCL_NO_DEPRECATED) #define Tcl_GetByteArrayFromObj(objPtr, sizePtr) \ - (Tcl_GetBytesFromObj)(NULL, objPtr, (Tcl_Size *)(void *)(sizePtr)) + (Tcl_GetBytesFromObj)(NULL, objPtr, (sizePtr)) #else #define Tcl_GetByteArrayFromObj(objPtr, sizePtr) \ (sizeof(*(sizePtr)) <= sizeof(int) ? \ @@ -4265,8 +4258,17 @@ extern const TclStubs *tclStubsPtr; # define Tcl_GetMaster Tcl_GetParent #endif -/* TIP #660 for 8.7 */ #if TCL_MAJOR_VERSION < 9 + /* TIP #627 for 8.7 */ +# undef Tcl_CreateObjCommand2 +# define Tcl_CreateObjCommand2 Tcl_CreateObjCommand +# undef Tcl_CreateObjTrace2 +# define Tcl_CreateObjTrace2 Tcl_CreateObjTrace +# undef Tcl_NRCreateCommand2 +# define Tcl_NRCreateCommand2 Tcl_NRCreateCommand +# undef Tcl_NRCallObjProc2 +# define Tcl_NRCallObjProc2 Tcl_NRCallObjProc + /* TIP #660 for 8.7 */ # undef Tcl_GetSizeIntFromObj # define Tcl_GetSizeIntFromObj Tcl_GetIntFromObj #endif diff --git a/generic/tclInt.decls b/generic/tclInt.decls index fcd0842..bc0285c 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -349,7 +349,6 @@ declare 142 { int TclSetByteCodeFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr, CompileHookProc *hookProc, void *clientData) } -# Do NOT change width of the size. TclEmitPush cannot handle it declare 143 { int TclAddLiteralObj(struct CompileEnv *envPtr, Tcl_Obj *objPtr, LiteralEntry **litPtrPtr) @@ -664,7 +663,6 @@ declare 250 { } # Allow extensions for optimization -# Do NOT change width of the size. TclEmitPush cannot handle it declare 251 { int TclRegisterLiteral(void *envPtr, const char *bytes, Tcl_Size length, int flags) diff --git a/generic/tclOO.h b/generic/tclOO.h index 524acb9..638947e 100644 --- a/generic/tclOO.h +++ b/generic/tclOO.h @@ -62,8 +62,12 @@ typedef struct Tcl_ObjectContext_ *Tcl_ObjectContext; typedef int (Tcl_MethodCallProc)(void *clientData, Tcl_Interp *interp, Tcl_ObjectContext objectContext, int objc, Tcl_Obj *const *objv); +#if TCL_MAJOR_VERSION > 8 typedef int (Tcl_MethodCallProc2)(void *clientData, Tcl_Interp *interp, Tcl_ObjectContext objectContext, Tcl_Size objc, Tcl_Obj *const *objv); +#else +#define Tcl_MethodCallProc2 Tcl_MethodCallProc +#endif typedef void (Tcl_MethodDeleteProc)(void *clientData); typedef int (Tcl_CloneProc)(Tcl_Interp *interp, void *oldClientData, void **newClientData); @@ -94,6 +98,7 @@ typedef struct { * be copied directly. */ } Tcl_MethodType; +#if TCL_MAJOR_VERSION > 8 typedef struct { int version; /* Structure version field. Always to be equal * to TCL_OO_METHOD_VERSION_2 in @@ -110,6 +115,9 @@ typedef struct { * data, or NULL if the type-specific data can * be copied directly. */ } Tcl_MethodType2; +#else +#define Tcl_MethodType2 Tcl_MethodType; +#endif /* * The correct value for the version field of the Tcl_MethodType structure. diff --git a/generic/tclOODecls.h b/generic/tclOODecls.h index cf55478..68c5b2b 100644 --- a/generic/tclOODecls.h +++ b/generic/tclOODecls.h @@ -270,4 +270,14 @@ extern const TclOOStubs *tclOOStubsPtr; /* !END!: Do not edit above this line. */ +#if TCL_MAJOR_VERSION < 9 + /* TIP #630 for 8.7 */ +# undef Tcl_MethodIsType2 +# define Tcl_MethodIsType2 Tcl_MethodIsType +# undef Tcl_NewInstanceMethod2 +# define Tcl_NewInstanceMethod2 Tcl_NewInstanceMethod +# undef Tcl_NewMethod2 +# define Tcl_NewMethod2 Tcl_NewMethod +#endif + #endif /* _TCLOODECLS */ diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index ef2c85e..518e323 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -91,8 +91,6 @@ #endif #undef Tcl_Close #define Tcl_Close 0 -#undef TclGetByteArrayFromObj -#define TclGetByteArrayFromObj 0 #undef Tcl_GetByteArrayFromObj #define Tcl_GetByteArrayFromObj 0 #define TclUnusedStubEntry 0 @@ -860,7 +858,7 @@ const TclStubs tclStubs = { TclFreeObj, /* 30 */ Tcl_GetBoolean, /* 31 */ Tcl_GetBooleanFromObj, /* 32 */ - TclGetByteArrayFromObj, /* 33 */ + Tcl_GetByteArrayFromObj, /* 33 */ Tcl_GetDouble, /* 34 */ Tcl_GetDoubleFromObj, /* 35 */ 0, /* 36 */ @@ -1480,7 +1478,7 @@ const TclStubs tclStubs = { Tcl_GetBytesFromObj, /* 650 */ Tcl_GetStringFromObj, /* 651 */ Tcl_GetUnicodeFromObj, /* 652 */ - Tcl_GetByteArrayFromObj, /* 653 */ + Tcl_GetSizeIntFromObj, /* 653 */ Tcl_UtfCharComplete, /* 654 */ Tcl_UtfNext, /* 655 */ Tcl_UtfPrev, /* 656 */ @@ -1513,7 +1511,7 @@ const TclStubs tclStubs = { Tcl_GetEncodingNulLength, /* 683 */ Tcl_GetWideUIntFromObj, /* 684 */ Tcl_DStringToObj, /* 685 */ - Tcl_GetSizeIntFromObj, /* 686 */ + 0, /* 686 */ 0, /* 687 */ TclUnusedStubEntry, /* 688 */ }; diff --git a/unix/dltest/pkgooa.c b/unix/dltest/pkgooa.c index e75a2c3..e0aa45c 100644 --- a/unix/dltest/pkgooa.c +++ b/unix/dltest/pkgooa.c @@ -84,25 +84,8 @@ static TclOOStubs stubsCopy = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL -#ifdef Tcl_MethodIsPrivate - ,NULL -#endif -#ifdef Tcl_GetClassOfObject - ,NULL -#endif -#ifdef Tcl_GetObjectClassName - ,NULL -#endif -#ifdef Tcl_MethodIsType2 - ,NULL -#endif -#ifdef Tcl_NewInstanceMethod2 - ,NULL -#endif -#ifdef Tcl_NewMethod2 - ,NULL -#endif + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL }; DLLEXPORT int |
