diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-17 12:44:44 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-17 12:44:44 (GMT) |
commit | 4076c637adceb12fe509e87f9f72f127d50a8546 (patch) | |
tree | 5fed780c90d0a4a0c3d6c1a8e780b5a078c81c69 /generic/tcl.h | |
parent | 3239564179edb792ad61ac798edfb0e24394cf95 (diff) | |
parent | 7b46c41c056ce57494a3dc67b3f17fdf344ce9fb (diff) | |
download | tcl-4076c637adceb12fe509e87f9f72f127d50a8546.zip tcl-4076c637adceb12fe509e87f9f72f127d50a8546.tar.gz tcl-4076c637adceb12fe509e87f9f72f127d50a8546.tar.bz2 |
Merge 9.0
Diffstat (limited to 'generic/tcl.h')
-rw-r--r-- | generic/tcl.h | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index d5aece2..6cc8c0e 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -353,25 +353,9 @@ typedef unsigned TCL_WIDE_INT_TYPE Tcl_WideUInt; /* *---------------------------------------------------------------------------- * Data structures defined opaquely in this module. The definitions below just - * provide dummy types. A few fields are made visible in Tcl_Interp - * structures, namely those used for returning a string result from commands. - * Direct access to the result field is discouraged in Tcl 8.0. The - * interpreter result is either an object or a string, and the two values are - * kept consistent unless some C code sets interp->result directly. - * Programmers should use either the function Tcl_GetObjResult() or - * Tcl_GetStringResult() to read the interpreter's result. See the SetResult - * man page for details. - * - * Note: any change to the Tcl_Interp definition below must be mirrored in the - * "real" definition in tclInt.h. - * - * Note: Tcl_ObjCmdProc functions do not directly set result and freeProc. - * Instead, they set a Tcl_Obj member in the "real" structure that can be - * accessed with Tcl_GetObjResult() and Tcl_SetObjResult(). + * provide dummy types. */ -typedef struct Tcl_Interp Tcl_Interp; - typedef struct Tcl_AsyncHandler_ *Tcl_AsyncHandler; typedef struct Tcl_Channel_ *Tcl_Channel; typedef struct Tcl_ChannelTypeVersion_ *Tcl_ChannelTypeVersion; @@ -381,6 +365,7 @@ typedef struct Tcl_Dict_ *Tcl_Dict; typedef struct Tcl_EncodingState_ *Tcl_EncodingState; typedef struct Tcl_Encoding_ *Tcl_Encoding; typedef struct Tcl_Event Tcl_Event; +typedef struct Tcl_Interp Tcl_Interp; typedef struct Tcl_InterpState_ *Tcl_InterpState; typedef struct Tcl_LoadHandle_ *Tcl_LoadHandle; typedef struct Tcl_Mutex_ *Tcl_Mutex; @@ -574,7 +559,7 @@ typedef int (Tcl_CmdObjTraceProc) (void *clientData, Tcl_Interp *interp, 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[]); + struct Tcl_Obj *const *objv); typedef void (Tcl_CmdObjTraceDeleteProc) (void *clientData); typedef void (Tcl_DupInternalRepProc) (struct Tcl_Obj *srcPtr, struct Tcl_Obj *dupPtr); @@ -798,9 +783,9 @@ typedef struct Tcl_CallFrame { typedef struct Tcl_CmdInfo { int isNativeObjectProc; /* 1 if objProc was registered by a call to - * Tcl_CreateObjCommand; 0 otherwise. - * Tcl_SetCmdInfo does not modify this - * field. */ + * Tcl_CreateObjCommand; 2 if objProc was registered by + * a call to Tcl_CreateObjCommand2; 0 otherwise. + * Tcl_SetCmdInfo does not modify this field. */ Tcl_ObjCmdProc *objProc; /* Command's object-based function. */ void *objClientData; /* ClientData for object proc. */ Tcl_CmdProc *proc; /* Command's string-based function. */ @@ -815,8 +800,8 @@ typedef struct Tcl_CmdInfo { * change a command's namespace; use * TclRenameCommand or Tcl_Eval (of 'rename') * to do that. */ - Tcl_ObjCmdProc2 *objProc2; /* Not used in Tcl 8.7. */ - void *objClientData2; /* Not used in Tcl 8.7. */ + Tcl_ObjCmdProc2 *objProc2; /* Command's object2-based function. */ + void *objClientData2; /* ClientData for object2 proc. */ } Tcl_CmdInfo; /* |