summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-06-01 19:34:43 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-06-01 19:34:43 (GMT)
commitcacfaf16ecf05b44bacecbba3b2f673bf810e64c (patch)
tree29ab361551a0ab733181ebdda02df433dfb5f37d /generic/tcl.h
parent209485eee104ea7c68f7c713a8371f35b2f59d85 (diff)
downloadtcl-cacfaf16ecf05b44bacecbba3b2f673bf810e64c.zip
tcl-cacfaf16ecf05b44bacecbba3b2f673bf810e64c.tar.gz
tcl-cacfaf16ecf05b44bacecbba3b2f673bf810e64c.tar.bz2
TIP #627 implementation
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index 274be35..886e42e 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -673,6 +673,9 @@ typedef void (Tcl_CmdTraceProc) (ClientData clientData, Tcl_Interp *interp,
typedef int (Tcl_CmdObjTraceProc) (ClientData clientData, Tcl_Interp *interp,
int level, const char *command, Tcl_Command commandInfo, int objc,
struct Tcl_Obj *const *objv);
+typedef int (Tcl_CmdObjTraceProc2) (void *clientData, Tcl_Interp *interp,
+ int level, const char *command, Tcl_Command commandInfo, size_t objc,
+ struct Tcl_Obj *const objv[]);
typedef void (Tcl_CmdObjTraceDeleteProc) (ClientData clientData);
typedef void (Tcl_DupInternalRepProc) (struct Tcl_Obj *srcPtr,
struct Tcl_Obj *dupPtr);
@@ -697,6 +700,8 @@ typedef int (Tcl_MathProc) (ClientData clientData, Tcl_Interp *interp,
typedef void (Tcl_NamespaceDeleteProc) (ClientData clientData);
typedef int (Tcl_ObjCmdProc) (ClientData clientData, Tcl_Interp *interp,
int objc, struct Tcl_Obj *const *objv);
+typedef int (Tcl_ObjCmdProc2) (void *clientData, Tcl_Interp *interp,
+ size_t objc, struct Tcl_Obj *const *objv);
typedef int (Tcl_LibraryInitProc) (Tcl_Interp *interp);
typedef int (Tcl_LibraryUnloadProc) (Tcl_Interp *interp, int flags);
typedef void (Tcl_PanicProc) (const char *format, ...);
@@ -916,6 +921,13 @@ typedef struct Tcl_CmdInfo {
* change a command's namespace; use
* TclRenameCommand or Tcl_Eval (of 'rename')
* to do that. */
+#if (TCL_MAJOR_VERSION > 8) || defined(TCL_NO_DEPRECATED)
+ Tcl_ObjCmdProc2 *objProc2; /* Command's object-based function. */
+ void *objClientData2; /* ClientData for object proc. */
+#else
+ void *reserved1;
+ void *reserved2;
+#endif
} Tcl_CmdInfo;
/*