diff options
-rw-r--r-- | generic/tcl.decls | 7 | ||||
-rw-r--r-- | generic/tclDecls.h | 9 | ||||
-rw-r--r-- | generic/tclInt.h | 1 | ||||
-rw-r--r-- | generic/tclObj.c | 2 | ||||
-rw-r--r-- | generic/tclStubInit.c | 2 |
5 files changed, 10 insertions, 11 deletions
diff --git a/generic/tcl.decls b/generic/tcl.decls index 9dd4ed5..7af8cea 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -134,9 +134,10 @@ declare 28 { declare 29 { Tcl_Obj *Tcl_DuplicateObj(Tcl_Obj *objPtr) } -declare 30 {deprecated {Kept only for deployed refcounting macros}} { - void TclFreeObj(Tcl_Obj *objPtr) -} +# Removed in 9.0 +#declare 30 { +# void TclFreeObj(Tcl_Obj *objPtr) +#} declare 31 { int Tcl_GetBoolean(Tcl_Interp *interp, const char *src, int *boolPtr) } diff --git a/generic/tclDecls.h b/generic/tclDecls.h index 0f9508a..57e467b 100644 --- a/generic/tclDecls.h +++ b/generic/tclDecls.h @@ -136,9 +136,7 @@ EXTERN Tcl_Obj * Tcl_DbNewStringObj(const char *bytes, size_t length, const char *file, int line); /* 29 */ EXTERN Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr); -/* 30 */ -TCL_DEPRECATED("Kept only for deployed refcounting macros") -void TclFreeObj(Tcl_Obj *objPtr); +/* Slot 30 is reserved */ /* 31 */ EXTERN int Tcl_GetBoolean(Tcl_Interp *interp, const char *src, int *boolPtr); @@ -1811,7 +1809,7 @@ typedef struct TclStubs { Tcl_Obj * (*tcl_DbNewObj) (const char *file, int line); /* 27 */ Tcl_Obj * (*tcl_DbNewStringObj) (const char *bytes, size_t length, const char *file, int line); /* 28 */ Tcl_Obj * (*tcl_DuplicateObj) (Tcl_Obj *objPtr); /* 29 */ - TCL_DEPRECATED_API("Kept only for deployed refcounting macros") void (*tclFreeObj) (Tcl_Obj *objPtr); /* 30 */ + void (*reserved30)(void); int (*tcl_GetBoolean) (Tcl_Interp *interp, const char *src, int *boolPtr); /* 31 */ int (*tcl_GetBooleanFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int *boolPtr); /* 32 */ unsigned char * (*tcl_GetByteArrayFromObj) (Tcl_Obj *objPtr, int *lengthPtr); /* 33 */ @@ -2517,8 +2515,7 @@ extern const TclStubs *tclStubsPtr; (tclStubsPtr->tcl_DbNewStringObj) /* 28 */ #define Tcl_DuplicateObj \ (tclStubsPtr->tcl_DuplicateObj) /* 29 */ -#define TclFreeObj \ - (tclStubsPtr->tclFreeObj) /* 30 */ +/* Slot 30 is reserved */ #define Tcl_GetBoolean \ (tclStubsPtr->tcl_GetBoolean) /* 31 */ #define Tcl_GetBooleanFromObj \ diff --git a/generic/tclInt.h b/generic/tclInt.h index 5fc16fd..542b307 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -4043,6 +4043,7 @@ MODULE_SCOPE int TclObjCallVarTraces(Interp *iPtr, Var *arrayPtr, */ MODULE_SCOPE int TclCompareObjKeys(void *keyPtr, Tcl_HashEntry *hPtr); +MODULE_SCOPE void TclFreeObj(Tcl_Obj *objPtr); MODULE_SCOPE void TclFreeObjEntry(Tcl_HashEntry *hPtr); MODULE_SCOPE TCL_HASH_TYPE TclHashObjKey(Tcl_HashTable *tablePtr, void *keyPtr); diff --git a/generic/tclObj.c b/generic/tclObj.c index f8d9157..69e9b98 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -3648,7 +3648,7 @@ int Tcl_IsShared( Tcl_Obj *objPtr) /* The object to test for being shared. */ { - return ((objPtr)->refCount > 1); + return ((objPtr)->refCount + 1 > 2); } /* diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 98d30d2..3a13cf9 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -805,7 +805,7 @@ const TclStubs tclStubs = { Tcl_DbNewObj, /* 27 */ Tcl_DbNewStringObj, /* 28 */ Tcl_DuplicateObj, /* 29 */ - TclFreeObj, /* 30 */ + 0, /* 30 */ Tcl_GetBoolean, /* 31 */ Tcl_GetBooleanFromObj, /* 32 */ Tcl_GetByteArrayFromObj, /* 33 */ |