summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tcl.decls14
-rw-r--r--generic/tcl.h8
-rw-r--r--generic/tclDecls.h52
-rw-r--r--generic/tclInt.decls2
-rw-r--r--generic/tclOO.h8
-rw-r--r--generic/tclOODecls.h10
-rw-r--r--generic/tclStubInit.c8
-rw-r--r--unix/dltest/pkgooa.c21
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