Mercurial > repos > rliterman > csp2
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); |