~ubuntu-branches/debian/sid/itcl4/sid

« back to all changes in this revision

Viewing changes to generic/itclMigrate2TclCore.h

  • Committer: Package Import Robot
  • Author(s): Sergei Golovan
  • Date: 2018-03-06 11:36:54 UTC
  • Revision ID: package-import@ubuntu.com-20180306113654-w3oht8cjhtftrxby
Tags: upstream-4.1.1
ImportĀ upstreamĀ versionĀ 4.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
        ClientData clientData);
 
9
typedef Tcl_Var (Tcl_VarAliasProc)(Tcl_Interp *interp,
 
10
        Tcl_Namespace *nsPtr, const char *varName,
 
11
        ClientData clientData);
 
12
 
 
13
#ifndef _TCL_RESOLVE_DEFINED
 
14
typedef struct Tcl_Resolve {
 
15
    Tcl_VarAliasProc *varProcPtr;
 
16
    Tcl_CmdAliasProc *cmdProcPtr;
 
17
    ClientData 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, int 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
#define Tcl_SetProcCmd _Tcl_SetProcCmd
 
75
 
 
76
MODULE_SCOPE Tcl_Var Tcl_NewNamespaceVar(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
 
77
        const char *varName);
 
78
MODULE_SCOPE void Itcl_PreserveVar(Tcl_Var var);
 
79
MODULE_SCOPE void Itcl_ReleaseVar(Tcl_Var var);
 
80
MODULE_SCOPE int Itcl_IsCallFrameArgument(Tcl_Interp *interp, const char *name);
 
81
MODULE_SCOPE int Itcl_GetCallVarFrameObjc(Tcl_Interp *interp);
 
82
MODULE_SCOPE int Itcl_IsVarLink(Tcl_Var var);
 
83
MODULE_SCOPE int Itcl_IsCallFrameLinkVar(Tcl_Interp *interp, const char *name);
 
84
MODULE_SCOPE Tcl_Obj * const * Itcl_GetCallVarFrameObjv(Tcl_Interp *interp);
 
85
#define Tcl_SetNamespaceResolver _Tcl_SetNamespaceResolver
 
86
MODULE_SCOPE int _Tcl_SetNamespaceResolver(Tcl_Namespace *nsPtr,
 
87
        struct Tcl_Resolve *resolvePtr);