comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/itclMigrate2TclCore.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 69:33d812a61356
1 #ifndef ITCL_USE_MODIFIED_TCL_H
2 /* this is just to provide the definition. This struct is only used if
3 * infoPtr->useOldResolvers == 0 which is not the default
4 */
5 #define FRAME_HAS_RESOLVER 0x100
6 typedef Tcl_Command (Tcl_CmdAliasProc)(Tcl_Interp *interp,
7 Tcl_Namespace *nsPtr, const char *cmdName,
8 void *clientData);
9 typedef Tcl_Var (Tcl_VarAliasProc)(Tcl_Interp *interp,
10 Tcl_Namespace *nsPtr, const char *varName,
11 void *clientData);
12
13 #ifndef _TCL_RESOLVE_DEFINED
14 typedef struct Tcl_Resolve {
15 Tcl_VarAliasProc *varProcPtr;
16 Tcl_CmdAliasProc *cmdProcPtr;
17 void *clientData;
18 } Tcl_Resolve;
19 #define _TCL_RESOLVE_DEFINED 1
20 #endif
21 #endif
22
23 #ifndef _TCLINT
24 struct Tcl_ResolvedVarInfo;
25
26 typedef Tcl_Var (Tcl_ResolveRuntimeVarProc)(Tcl_Interp *interp,
27 struct Tcl_ResolvedVarInfo *vinfoPtr);
28
29 typedef void (Tcl_ResolveVarDeleteProc)(struct Tcl_ResolvedVarInfo *vinfoPtr);
30
31 /*
32 * The following structure encapsulates the routines needed to resolve a
33 * variable reference at runtime. Any variable specific state will typically
34 * be appended to this structure.
35 */
36
37 typedef struct Tcl_ResolvedVarInfo {
38 Tcl_ResolveRuntimeVarProc *fetchProc;
39 Tcl_ResolveVarDeleteProc *deleteProc;
40 } Tcl_ResolvedVarInfo;
41
42 typedef int (Tcl_ResolveCompiledVarProc) (Tcl_Interp *interp,
43 const char *name, Tcl_Size length, Tcl_Namespace *context,
44 Tcl_ResolvedVarInfo **rPtr);
45
46 typedef int (Tcl_ResolveVarProc) (Tcl_Interp *interp, const char *name,
47 Tcl_Namespace *context, int flags, Tcl_Var *rPtr);
48
49 typedef int (Tcl_ResolveCmdProc) (Tcl_Interp *interp, const char *name,
50 Tcl_Namespace *context, int flags, Tcl_Command *rPtr);
51
52 typedef struct Tcl_ResolverInfo {
53 Tcl_ResolveCmdProc *cmdResProc;
54 /* Procedure handling command name
55 * resolution. */
56 Tcl_ResolveVarProc *varResProc;
57 /* Procedure handling variable name resolution
58 * for variables that can only be handled at
59 * runtime. */
60 Tcl_ResolveCompiledVarProc *compiledVarResProc;
61 /* Procedure handling variable name resolution
62 * at compile time. */
63 } Tcl_ResolverInfo;
64 #endif
65
66
67 /* here come the definitions for code which should be migrated to Tcl core */
68 /* these functions DO NOT exist and are not published */
69 #ifndef _TCL_PROC_DEFINED
70 typedef struct Tcl_Proc_ *Tcl_Proc;
71 #define _TCL_PROC_DEFINED 1
72 #endif
73
74 MODULE_SCOPE Tcl_Var Tcl_NewNamespaceVar(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
75 const char *varName);
76 MODULE_SCOPE void Itcl_PreserveVar(Tcl_Var var);
77 MODULE_SCOPE void Itcl_ReleaseVar(Tcl_Var var);
78 MODULE_SCOPE int Itcl_IsCallFrameArgument(Tcl_Interp *interp, const char *name);
79 MODULE_SCOPE size_t Itcl_GetCallVarFrameObjc(Tcl_Interp *interp);
80 MODULE_SCOPE Tcl_Obj *const * Itcl_GetCallVarFrameObjv(Tcl_Interp *interp);
81 #define Tcl_SetNamespaceResolver _Tcl_SetNamespaceResolver
82 MODULE_SCOPE int _Tcl_SetNamespaceResolver(Tcl_Namespace *nsPtr,
83 struct Tcl_Resolve *resolvePtr);