diff options
author | dgp <dgp@users.sourceforge.net> | 2023-09-18 15:39:40 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2023-09-18 15:39:40 (GMT) |
commit | 7678739fb908cb8dc66d9b8cc41606b75858d18b (patch) | |
tree | e6a4d9d03e196d44aa0bc270dcb490aeef6b7ee0 /generic/tcl.h | |
parent | 3d42a051d4605045f76c12c27ee14e0002eabb95 (diff) | |
parent | c6b286e4b7fe6f27fc1604509f8166003b533129 (diff) | |
download | tcl-7678739fb908cb8dc66d9b8cc41606b75858d18b.zip tcl-7678739fb908cb8dc66d9b8cc41606b75858d18b.tar.gz tcl-7678739fb908cb8dc66d9b8cc41606b75858d18b.tar.bz2 |
merge trunk
Diffstat (limited to 'generic/tcl.h')
-rw-r--r-- | generic/tcl.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 851ac00..c6c5313 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, ...); @@ -2087,15 +2095,17 @@ typedef struct Tcl_EncodingType { * reflected in regcustom.h. */ -#if TCL_UTF_MAX > 3 +#if TCL_UTF_MAX == 4 /* * int isn't 100% accurate as it should be a strict 4-byte value * (perhaps int32_t). ILP64/SILP64 systems may have troubles. The * size of this value must be reflected correctly in regcustom.h. */ typedef int Tcl_UniChar; -#else +#elif TCL_UTF_MAX == 3 && !defined(BUILD_tcl) typedef unsigned short Tcl_UniChar; +#else +# error "This TCL_UTF_MAX value is not supported" #endif /* @@ -2503,7 +2513,7 @@ static inline void TclBounceRefCount(Tcl_Obj* objPtr, const char* fn, int line) #else # undef Tcl_IncrRefCount # define Tcl_IncrRefCount(objPtr) \ - ++(objPtr)->refCount + ((void)++(objPtr)->refCount) /* * Use do/while0 idiom for optimum correctness without compiler warnings. * https://wiki.c2.com/?TrivialDoWhileLoop |