1 #ifndef _LANG
2 #define _LANG
3 
4 #define STATIC_BUILD
5 
6 
7 #include "tkConfig.h"
8 #define TCL_NO_DEPRECATED
9 
10 #if !defined(WIN32) && defined(USE_XFT_FONTS)
11 #ifndef TCL_UTF_MAX
12 #define TCL_UTF_MAX 13
13 #endif
14 #endif
15 
16 #define USE_TCLALLOC 1
17 #define TCL_MEM_DEBUG
18 #define USE_COMPAT_CONST
19 #include "tcl.h"
20 
21 #if !defined(__GNUC__) && !defined(_AIX)
22 #ifdef __STDC__
23 #ifndef STRINGIFY
24 #define STRINGIFY(x)        STRINGIFY1(x)
25 #define STRINGIFY1(x)       #x
26 #endif	/* STRINGIFY */
27 #define __FUNCTION__ __FILE__ ":" STRINGIFY(__LINE__)
28 #else 	/* STDC */
29 #define __FUNCTION__ ""
30 #endif	/* STDC */
31 #endif	/* GNUC or AIX */
32 
33 EXTERN int	Tcl_DStringLength _ANSI_ARGS_((Tcl_DString *dString));
34 EXTERN char *	Tcl_DStringValue _ANSI_ARGS_((Tcl_DString *dString));
35 
36 EXTERN void	Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr));
37 EXTERN void	Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr));
38 EXTERN int	Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr));
39 
40 EXTERN Tcl_ObjType *	TclObjGetType _ANSI_ARGS_((Tcl_Obj *objPtr));
41 EXTERN int		TclObjLength  _ANSI_ARGS_((Tcl_Obj *objPtr));
42 EXTERN void		TclObjSetType _ANSI_ARGS_((Tcl_Obj *objPtr,Tcl_ObjType *newType));
43 EXTERN Tcl_InternalRep *	TclObjInternal _ANSI_ARGS_((Tcl_Obj *objPtr));
44 
45 #if defined(TCL_EVENT_IMPLEMENT) && !defined(Var)
46 #include "mTk/tclGeneric/tclInt.h"
47 #endif
48 #if !defined(TCL_EVENT_IMPLEMENT) || defined(Var)
49 #define _TCLINT
50 typedef void *TclHandle;
51 extern Tcl_ObjType	tclIntType;
52 #endif
53 
54 #ifndef Var
55 #define Var Tcl_Obj *
56 #endif
57 #ifndef LangCallback
58 #define LangCallback Tcl_Obj
59 #endif
60 #define LangStringArg(x) Tcl_NewStringObj(x,-1)
61 
62 #define XFree_arg_t void
63 
64 EXTERN void LangSetString _ANSI_ARGS_((Tcl_Obj **,CONST char *));
65 EXTERN void LangSetDefault _ANSI_ARGS_((Tcl_Obj **,CONST char *));
66 EXTERN void LangSetInt _ANSI_ARGS_((Tcl_Obj **,int));
67 EXTERN void LangSetDouble _ANSI_ARGS_((Tcl_Obj **,double));
68 EXTERN void LangSetObj _ANSI_ARGS_((Tcl_Obj **,Tcl_Obj *));
69 EXTERN void LangSetVar _ANSI_ARGS_((Tcl_Obj **,Var));
70 
71 EXTERN int  LangCmpArg  _ANSI_ARGS_((CONST Tcl_Obj *,CONST Tcl_Obj *));
72 EXTERN int  LangCmpOpt  _ANSI_ARGS_((CONST char *opt,CONST char *arg,size_t length));
73 
74 
75 /* FIXME:
76    Tk will set freeProc as for Tcl e.g. NULL for statics & UIDs
77    and to "free" for Tcl_Merge etc.
78    Non Tk users *may* be able to use it as a guide,
79    but it is more likely that they will have to use
80    their own ref counts.
81    Perhaps Tcl_Merge should set freeProc and/or Tcl's
82    LangSetString() deliberately malloc() a copy of the string so we don't need
83    the freeProc
84 */
85 EXTERN void LangFreeArg _ANSI_ARGS_((Tcl_Obj *,Tcl_FreeProc *freeProc));
86 EXTERN Tcl_Obj *LangCopyArg _ANSI_ARGS_((Tcl_Obj *));
87 
88 EXTERN int  LangNull _ANSI_ARGS_((Tcl_Obj *));
89 
90 EXTERN void		TclpGetTime  _ANSI_ARGS_((Tcl_Time *time));
91 EXTERN void		TclpAsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async));
92 
93 EXTERN void Lang_SetErrorCode _ANSI_ARGS_((Tcl_Interp *interp,char *code));
94 EXTERN char *Lang_GetErrorCode _ANSI_ARGS_((Tcl_Interp *interp));
95 EXTERN char *Lang_GetErrorInfo _ANSI_ARGS_((Tcl_Interp *interp));
96 
97 /* Old-config handler for variables */
98 EXTERN int LangSaveVar _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,Var *,int type));
99 EXTERN void LangFreeVar _ANSI_ARGS_((Var));
100 
101 /* New-config handler for objects, variables and callbacks */
102 EXTERN int LangConfigObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj **save,
103 				      Tcl_Obj *obj, int type));
104 
105 EXTERN int LangEventHook _ANSI_ARGS_((int flags));
106 EXTERN void Lang_BuildInImages _ANSI_ARGS_((void));
107 EXTERN void *	TclCalloc _ANSI_ARGS_((size_t n,size_t s));
108 EXTERN void LangDebug _ANSI_ARGS_((CONST char *fmt,...));
109 EXTERN void LangDumpVec _ANSI_ARGS_((CONST char *tag, int argc, Tcl_Obj **vec));
110 
111 EXTERN void Lang_DeleteObject _ANSI_ARGS_((Tcl_Interp *,Tcl_Command));
112 EXTERN Tcl_Command	Lang_CreateObject _ANSI_ARGS_((Tcl_Interp *interp,
113 			    char *cmdName, Tcl_ObjCmdProc *proc,
114 			    ClientData clientData,
115 			    Tcl_CmdDeleteProc *deleteProc));
116 
117 EXTERN int Lang_CallWithArgs _ANSI_ARGS_ ((Tcl_Interp *interp,
118 					char *sub, int argc, Tcl_Obj *CONST *argv));
119 
120 EXTERN void		Tcl_IntResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...));
121 EXTERN void		Tcl_DoubleResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...));
122 EXTERN void		Tcl_SprintfResult _ANSI_ARGS_((Tcl_Interp *,char *,...));
123 
124 
125 
126 EXTERN int LangDoCallback _ANSI_ARGS_((Tcl_Interp *,LangCallback *,int result,int argc,...));
127 EXTERN int LangMethodCall _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,char *,int result,int argc,...));
128 
129 EXTERN char *LangLibraryDir _ANSI_ARGS_((void));
130 EXTERN void Lang_SetBinaryResult _ANSI_ARGS_((Tcl_Interp *interp,
131 			    char *string, int len, Tcl_FreeProc *freeProc));
132 EXTERN Tcl_ObjCmdProc *LangOptionCommand;
133 
134 typedef char *(Lang_VarTraceProc) _ANSI_ARGS_((ClientData clientData,
135 	Tcl_Interp *interp, Tcl_Obj *part1, CONST char *part2, int flags));
136 
137 EXTERN Tcl_Encoding	Lang_CreateEncoding _ANSI_ARGS_((
138     CONST char *encodingName,
139     Tcl_EncodingConvertProc *toUtfProc,
140     Tcl_EncodingConvertProc *fromUtfProc,
141     Tcl_EncodingFreeProc *freeProc,
142     ClientData clientData,
143     int nullSize));
144 
145 EXTERN int		Tcl_AfterObjCmd _ANSI_ARGS_((ClientData clientData,
146 			    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
147 
148 
149 EXTERN int		Lang_TraceVar _ANSI_ARGS_((Tcl_Interp * interp,
150 				Tcl_Obj *varRef, int flags,
151 				Lang_VarTraceProc * proc,
152 				ClientData clientData));
153 
154 EXTERN void		Lang_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp,
155 				Tcl_Obj * varRef, int flags,
156 				Lang_VarTraceProc * proc,
157 				ClientData clientData));
158 
159 EXTERN int		Tk_PropertyCmd _ANSI_ARGS_((ClientData clientData,
160 			    Tcl_Interp *interp, int argc, Tcl_Obj **objv));
161 
162 struct TkFontAttributes;
163 
164 EXTERN unsigned int     LangFontRank _ANSI_ARGS_((unsigned int suggested,
165 			    int ch, CONST char *gotName,
166 			    CONST char *wantFoundary,
167 			    CONST struct TkFontAttributes *wantAttrib,
168 			    CONST char *wantEncoding,
169 			    CONST char *gotFoundary,
170 			    CONST struct TkFontAttributes *gotAttrib,
171 			    CONST char *gotEncoding));
172 
173 EXTERN void		Lang_FreeRegExp _ANSI_ARGS_((Tcl_RegExp re));
174 
175 EXTERN long Lang_OSHandle _ANSI_ARGS_((int fd));
176 #define TK_LIBRARY LangLibraryDir()
177 
178 #ifdef WIN32
179 #ifdef __BORLANDC__
180 #pragma warn -par	/* "parameter 'foo' is never used" */
181 #pragma warn -aus	/* "'foo' is assigned a value that is never used" */
182 #pragma warn -use	/* "'foo' is declared but never used" */
183 #endif
184 
185 #ifdef _MSC_VER
186 #pragma warning(disable:4101 4102 4244 4018)
187 #pragma warning(disable:4133) /* init incompatible for xlib */
188 #endif
189 #endif
190 
191 #ifndef RC_INVOKED
192 #include "tkEvent.h"
193 #if !defined(TCL_EVENT_IMPLEMENT)
194 #include "tkEvent.m"
195 #endif
196 #endif
197 
198 #endif /* _LANG */
199 
200 
201 
202 
203