diff options
63 files changed, 6200 insertions, 5846 deletions
@@ -1,3 +1,106 @@ +1999-03-09 <stanton@GASPODE> + + * Regenerated stub interfaces. + + * tools/genStubs.tcl: Reorganized code to support mixed generic + and platform specific tables. + + * generic/tclInt.decls: Removed TclCompile*Cmd routines from the + table. + + * generic/tcl.decls: Moved old Unix fd handler routines into + generic table and modified stubs ordering to match the plus patch. + + * win/tclWinChan.c (FileSeekProc): Fixed bug where errors during + seeking were not getting propagated. + +1999-03-08 <stanton@GASPODE> + + * generic/tclDecls.h: + * generic/tclStubs.c: + * generic/tclStubInit.c: + * generic/tcl.decls: Removed Tcl_InitMemory(). + + * generic/tcl.h: Changed TCL_STUB_MAGIC to break binary + compatibility with plus patch version, since the tables don't + match. + +1999-03-08 <stanton@GASPODE> + + * win/tclWinInt.h: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclIntPlatStubs.c: + * generic/tclIntStubs.c: + * generic/tclStubInit.c: + * generic/tclInt.decls: Removed initialization and finalization + routines from the stub table since these should never be called by + an extension. + +1999-03-06 <stanton@GASPODE> + + * unix/Makefile.in: + * generic/tcl.decls: + * generic/tclCompile.h: + * generic/tclCompileDecls.h: + * generic/tclCompileStubs.c: + * generic/tclDecls.h: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclStubInit.c: Removed tclCompile.h functions. Moved + TclGetAuxDataType to tclInt.h so it is available for use by + the TclPro Byte Compiler loader. + +1999-03-05 <stanton@GASPODE> + + * unix/configure.in: Applied patch from Jan Nijtmans to fix the + following problems: + - There seems to be a HP-UX-11 already, which behaves + identical to HP-UX-10. + - For 64-bit IRIX, SHLIB_LD_LIBS should be set to + '${LIBS}'. This also has the side-effect that SHLIB_LD + doesn't need the -rpath option any more: it is already part + of ${LIBS} + - Fix Linux to use the -rpath option. + - On Solaris, LD_SEARCH_FLAGS can only be used with the + linker, not with the compiler, because the "-Wl," part is + missing. + - The TCL_LD_SEARCH_FLAGS should be used in static executables + as well as dynamically linked ones. Otherwise, static + executables have a different search strategy for dynamically + loadable stub-enabled extensions than executables using + shared libraries. This effects extensions which load other + libraries in turn. + + * generic/tclCompile.h: + * generic/tclStubInit.c: + * generic/tclCompileDecls.h: + * generic/tclCompileStubs.c: + * generic/tclInt.decls: Added functions from tclCompile.h into a + new tclCompile interface. + + * generic/tclStubs.c: + * generic/tclDecls.h: + * generic/tcl.decls: Added Tcl_InitMemory. + + * generic/tclStubLib.c: Changed to define USE_TCL_STUBS and + USE_TCL_STUB_PROCS automatically. + + * unix/Makefile.in: Changes to get stubs mechanism working. + + * generic/tclGetDate.y: Updated to reflect tclDate.c changes. + + * tools/genStubs.tcl: + * generic/tclProc.c: + * generic/tclStubInit.c: + * generic/tclTest.c: + * unix/tclUnixFile.c: + * unix/tclUnixPort.h: lint + + * win/makefile.vc: + * generic/tclAlloc.c: Changed USE_NATIVEMALLOC to USE_NATIVE_MALLOC. + 1999-03-03 <stanton@GASPODE> * unix/tclUnixTime.c: Added TclpGetDate and TclStrftime. diff --git a/doc/AddErrInfo.3 b/doc/AddErrInfo.3 index bf46867..b1820af 100644 --- a/doc/AddErrInfo.3 +++ b/doc/AddErrInfo.3 @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: AddErrInfo.3,v 1.2 1998/09/14 18:39:45 stanton Exp $ +'\" RCS: @(#) $Id: AddErrInfo.3,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH Tcl_AddErrorInfo 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_PosixError \- record information about errors +Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_SetErrorCodeVA, Tcl_PosixError \- record information about errors .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -24,6 +24,8 @@ Tcl_AddObjErrorInfo, Tcl_AddErrorInfo, Tcl_SetErrorCode, Tcl_PosixError \- recor .sp \fBTcl_SetErrorCode\fR(\fIinterp, element, element, ... \fB(char *) NULL\fR) .sp +\fBTcl_SetErrorCodeVA\fR(\fIinterp, argList\fR) +.sp char * \fBTcl_PosixError\fR(\fIinterp\fR) .SH ARGUMENTS @@ -47,6 +49,9 @@ This variable \fBerrorCode\fR will be set to this value. .AP char *element in String to record as one element of \fBerrorCode\fR variable. Last \fIelement\fR argument must be NULL. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .BE .SH DESCRIPTION @@ -118,6 +123,9 @@ The procedure \fBTcl_SetErrorCode\fR is also used to set the record instead of an object. Otherwise, it is similar to \fBTcl_SetObjErrorCode\fR in behavior. .PP +\fBTcl_SetErrorCodeVA\fR is the same as \fBTcl_SetErrorCode\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_PosixError\fR sets the \fBerrorCode\fR variable after an error in a POSIX kernel call. It reads the value of the \fBerrno\fR C variable and calls @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: Eval.3,v 1.2 1998/09/14 18:39:48 stanton Exp $ +'\" RCS: @(#) $Id: Eval.3,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH Tcl_Eval 3 7.0 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_Eval, Tcl_VarEval, Tcl_EvalFile, Tcl_GlobalEval \- execute Tcl commands +Tcl_Eval, Tcl_VarEval, Tcl_VarEvalVA, Tcl_EvalFile, Tcl_GlobalEval \- execute Tcl commands .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -23,6 +23,9 @@ int \fBTcl_VarEval\fR(\fIinterp, string, string, ... \fB(char *) NULL\fR) .sp int +\fBTcl_VarEvalVA\fR(\fIinterp, argList\fR) +.sp +int \fBTcl_EvalFile\fR(\fIinterp, fileName\fR) .sp int @@ -37,6 +40,9 @@ Command (or sequence of commands) to execute. Must be in writable memory (\fBTcl_Eval\fR makes temporary modifications to the command). .AP char *string in String forming part of Tcl command. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .AP char *fileName in Name of file containing Tcl command string. .BE @@ -76,6 +82,9 @@ It returns the result of the command and also modifies The last argument to \fBTcl_VarEval\fR must be NULL to indicate the end of arguments. .PP +\fBTcl_VarEvalVA\fR is the same as \fBTcl_VarEval\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_EvalFile\fR reads the file given by \fIfileName\fR and evaluates its contents as a Tcl command by calling \fBTcl_Eval\fR. It returns a standard Tcl result that reflects the result of evaluating the file. diff --git a/doc/PkgRequire.3 b/doc/PkgRequire.3 index daec40b..796ee6f 100644 --- a/doc/PkgRequire.3 +++ b/doc/PkgRequire.3 @@ -4,13 +4,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: PkgRequire.3,v 1.2 1998/09/14 18:39:49 stanton Exp $ +'\" RCS: @(#) $Id: PkgRequire.3,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH Tcl_PkgRequire 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_PkgRequire, Tcl_PkgProvide \- package version control +Tcl_PkgRequire, Tcl_PkgRequireEx, Tcl_PkgPresent, Tcl_PkgPresentEx, Tcl_PkgProvide, Tcl_PkgProvideEx \- package version control .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -18,10 +18,22 @@ Tcl_PkgRequire, Tcl_PkgProvide \- package version control char * \fBTcl_PkgRequire\fR(\fIinterp, name, version, exact\fR) .sp +char * +\fBTcl_PkgRequireEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR) +.sp +char * +\fBTcl_PkgPresent\fR(\fIinterp, name, version, exact\fR) +.sp +char * +\fBTcl_PkgPresentEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR) +.sp int \fBTcl_PkgProvide\fR(\fIinterp, name, version\fR) +.sp +int +\fBTcl_PkgProvideEx\fR(\fIinterp, name, version, clientData\fR) .SH ARGUMENTS -.AS Tcl_FreeProc clientData +.AS Tcl_FreeProc clientDataPtr .AP Tcl_Interp *interp in Interpreter where package is needed or available. .AP char *name in @@ -35,25 +47,41 @@ Non-zero means that only the particular version specified by Zero means that newer versions than \fIversion\fR are also acceptable as long as they have the same major version number as \fIversion\fR. +.AP ClientData clientData in +Arbitrary value to be associated with the package. +.AP ClientData *clientDataPtr out +Pointer to place to store the value associated with the matching +package. It is only changed if the pointer is not NULL and the +function completed successfully. .BE .SH DESCRIPTION .PP These procedures provide C-level interfaces to Tcl's package and version management facilities. +.PP \fBTcl_PkgRequire\fR is equivalent to the \fBpackage require\fR +command, \fBTcl_PkgPresent\fR is equivalent to the \fBpackage present\fR command, and \fBTcl_PkgProvide\fR is equivalent to the \fBpackage provide\fR command. +.PP See the documentation for the Tcl commands for details on what these procedures do. -If \fBTcl_PkgRequire\fR completes successfully it returns a pointer -to the version string for the version of the package that is provided -in the interpreter (which may be different than \fIversion\fR); if -an error occurs it returns NULL and leaves an error message in -\fIinterp->result\fR. +.PP +If \fBTcl_PkgPresent\fR or \fBTcl_PkgRequire\fR complete successfully +they return a pointer to the version string for the version of the package +that is provided in the interpreter (which may be different than +\fIversion\fR); if an error occurs they return NULL and leave an error +message in \fIinterp->result\fR. +.PP \fBTcl_PkgProvide\fR returns TCL_OK if it completes successfully; if an error occurs it returns TCL_ERROR and leaves an error message in \fIinterp->result\fR. +.PP +\fBTcl_PkgProvideEx\fR, \fBTcl_PkgPresentEx\fR and \fBTcl_PkgRequireEx\fR +allow the setting and retrieving of the client data associated with +the package. In all other respects they are equivalent to the matching +functions. .SH KEYWORDS -package, provide, require, version +package, present, provide, require, version diff --git a/doc/SetResult.3 b/doc/SetResult.3 index 7387a98..1fed065 100644 --- a/doc/SetResult.3 +++ b/doc/SetResult.3 @@ -5,13 +5,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: SetResult.3,v 1.2 1998/09/14 18:39:50 stanton Exp $ +'\" RCS: @(#) $Id: SetResult.3,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH Tcl_SetResult 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_SetObjResult, Tcl_GetObjResult, Tcl_SetResult, Tcl_GetStringResult, Tcl_AppendResult, Tcl_AppendElement, Tcl_ResetResult \- manipulate Tcl result +Tcl_SetObjResult, Tcl_GetObjResult, Tcl_SetResult, Tcl_GetStringResult, Tcl_AppendResult, Tcl_AppendResultVA, Tcl_AppendElement, Tcl_ResetResult \- manipulate Tcl result .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -28,6 +28,8 @@ char * .sp \fBTcl_AppendResult\fR(\fIinterp, string, string, ... , \fB(char *) NULL\fR) .sp +\fBTcl_AppendResultVA\fR(\fIinterp, argList\fR) +.sp \fBTcl_AppendElement\fR(\fIinterp, string\fR) .sp \fBTcl_ResetResult\fR(\fIinterp\fR) @@ -46,6 +48,9 @@ appended to the existing result. Address of procedure to call to release storage at \fIstring\fR, or \fBTCL_STATIC\fR, \fBTCL_DYNAMIC\fR, or \fBTCL_VOLATILE\fR. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .BE .SH DESCRIPTION @@ -137,6 +142,9 @@ to a string, if necessary, before appending the argument strings. Any number of \fIstring\fR arguments may be passed in a single call; the last argument in the list must be a NULL pointer. .PP +\fBTcl_AppendResultVA\fR is the same as \fBTcl_AppendResult\fR except that +instead of taking a variable number of arguments it takes an argument list. +.PP \fBTcl_AppendElement\fR is similar to \fBTcl_AppendResult\fR in that it allows results to be built up in pieces. However, \fBTcl_AppendElement\fR takes only a single \fIstring\fR diff --git a/doc/StringObj.3 b/doc/StringObj.3 index bd44170..94cd142 100644 --- a/doc/StringObj.3 +++ b/doc/StringObj.3 @@ -4,13 +4,13 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: StringObj.3,v 1.2 1998/09/14 18:39:50 stanton Exp $ +'\" RCS: @(#) $Id: StringObj.3,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH Tcl_StringObj 3 8.0 Tcl "Tcl Library Procedures" .BS .SH NAME -Tcl_NewStringObj, Tcl_SetStringObj, Tcl_GetStringFromObj, Tcl_AppendToObj, Tcl_AppendStringsToObj, Tcl_SetObjLength, TclConcatObj \- manipulate Tcl objects as strings +Tcl_NewStringObj, Tcl_SetStringObj, Tcl_GetStringFromObj, Tcl_AppendToObj, Tcl_AppendStringsToObj, Tcl_AppendStringsToObjVA, Tcl_SetObjLength, TclConcatObj \- manipulate Tcl objects as strings .SH SYNOPSIS .nf \fB#include <tcl.h>\fR @@ -27,6 +27,8 @@ char * .sp \fBTcl_AppendStringsToObj\fR(\fIobjPtr, string, string, ... \fB(char *) NULL\fR) .sp +\fBTcl_AppendStringsToObjVA\fR(\fIobjPtr, argList\fR) +.sp \fBTcl_SetObjLength\fR(\fIobjPtr, newLength\fR) .sp Tcl_Obj * @@ -49,6 +51,9 @@ If non-NULL, the location where \fBTcl_GetStringFromObj\fR will store the the length of an object's string representation. .AP char *string in Null-terminated string value to append to \fIobjPtr\fR. +.AP va_list argList in +An argument list which must have been initialised using +\fBTCL_VARARGS_START\fR, and cleared using \fBva_end\fR. .AP int newLength in New length for the string value of \fIobjPtr\fR, not including the final NULL character. @@ -99,6 +104,10 @@ values may contain internal null characters). Any number of \fIstring\fR arguments may be provided, but the last argument must be a NULL pointer to indicate the end of the list. .PP +\fBTcl_AppendStringsToObjVA\fR is the same as \fBTcl_AppendStringsToObj\fR +except that instead of taking a variable number of arguments it takes an +argument list. +.PP The \fBTcl_SetObjLength\fR procedure changes the length of the string value of its \fIobjPtr\fR argument. If the \fInewLength\fR argument is greater than the space allocated for the object's diff --git a/doc/package.n b/doc/package.n index 2a1b399..f4d9f84 100644 --- a/doc/package.n +++ b/doc/package.n @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: package.n,v 1.2 1998/09/14 18:39:54 stanton Exp $ +'\" RCS: @(#) $Id: package.n,v 1.3 1999/03/10 05:52:45 stanton Exp $ '\" .so man.macros .TH package n 7.5 Tcl "Tcl Built-In Commands" @@ -17,6 +17,7 @@ package \- Facilities for package loading and version control \fBpackage forget \fIpackage\fR \fBpackage ifneeded \fIpackage version\fR ?\fIscript\fR? \fBpackage names\fR +\fBpackage present \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? \fBpackage provide \fIpackage \fR?\fIversion\fR? \fBpackage require \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? \fBpackage unknown \fR?\fIcommand\fR? @@ -75,6 +76,10 @@ interpreter for which a version has been provided (via script is available. The order of elements in the list is arbitrary. .TP +\fBpackage present \fR?\fB\-exact\fR? \fIpackage \fR?\fIversion\fR? +This command is equivalent to \fBpackage require\fR except that it +does not try and load the package if it is not already loaded. +.TP \fBpackage provide \fIpackage \fR?\fIversion\fR? This command is invoked to indicate that version \fIversion\fR of package \fIpackage\fR is now present in the interpreter. diff --git a/generic/tcl.decls b/generic/tcl.decls index 4217db5..b8dd45b 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -10,11 +10,11 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tcl.decls,v 1.2 1999/03/04 01:01:57 stanton Exp $ +# RCS: @(#) $Id: tcl.decls,v 1.3 1999/03/10 05:52:46 stanton Exp $ library tcl -# Define the tcl interface with 3 sub interfaces: +# Define the tcl interface with several sub interfaces: # tclPlat - platform specific public # tclInt - generic private # tclPlatInt - platform specific private @@ -27,907 +27,935 @@ hooks {tclPlat tclInt tclIntPlat} # to preserve backwards compatibility. declare 0 generic { - void Tcl_AddErrorInfo (Tcl_Interp *interp, char *message) + int Tcl_PkgProvideEx(Tcl_Interp *interp, char *name, char *version, \ + ClientData clientData) } declare 1 generic { - void Tcl_AddObjErrorInfo(Tcl_Interp *interp, char *message, int length) + char * Tcl_PkgRequireEx(Tcl_Interp *interp, char *name, char *version, \ + int exact, ClientData *clientDataPtr) } declare 2 generic { - char * Tcl_Alloc(unsigned int size) + void panic(char *format, ...) } declare 3 generic { - void Tcl_AllowExceptions(Tcl_Interp *interp) + char * Tcl_Alloc(unsigned int size) } declare 4 generic { - int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr) + void Tcl_Free(char *ptr) } declare 5 generic { - void Tcl_AppendElement(Tcl_Interp *interp, char *string) + char * Tcl_Realloc(char *ptr, unsigned int size) } declare 6 generic { - void Tcl_AppendResult(Tcl_Interp *interp, ...) + char * Tcl_DbCkalloc(unsigned int size, char *file, int line) } declare 7 generic { - void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList) + int Tcl_DbCkfree(char *ptr, char *file, int line) } declare 8 generic { - void Tcl_AppendToObj(Tcl_Obj *objPtr, char *bytes, int length) + char * Tcl_DbCkrealloc(char *ptr, unsigned int size, char *file, int line) } -declare 9 generic { - void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...) + +# Tcl_CreateFileHandler and Tcl_DeleteFileHandler are only available on unix, +# but they are part of the old generic interface, so we include them here for +# compatibility reasons. + +declare 9 unix { + void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc, \ + ClientData clientData) } -declare 10 generic { - void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList) +declare 10 unix { + void Tcl_DeleteFileHandler(int fd) } + declare 11 generic { - Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc, \ - ClientData clientData) + void Tcl_SetTimer(Tcl_Time *timePtr) } declare 12 generic { - void Tcl_AsyncDelete(Tcl_AsyncHandler async) + void Tcl_Sleep(int ms) } declare 13 generic { - int Tcl_AsyncInvoke(Tcl_Interp *interp, int code) + int Tcl_WaitForEvent(Tcl_Time *timePtr) } declare 14 generic { - void Tcl_AsyncMark(Tcl_AsyncHandler async) + int Tcl_AppendAllObjTypes(Tcl_Interp *interp, Tcl_Obj *objPtr) } declare 15 generic { - int Tcl_AsyncReady(void) + void Tcl_AppendStringsToObj(Tcl_Obj *objPtr, ...) } declare 16 generic { - void Tcl_BackgroundError(Tcl_Interp *interp) + void Tcl_AppendToObj(Tcl_Obj *objPtr, char *bytes, int length) } declare 17 generic { - char Tcl_Backslash(CONST char *src, int *readPtr) + Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[]) } declare 18 generic { - int Tcl_BadChannelOption(Tcl_Interp *interp, char *optionName, \ - char *optionList) + int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \ + Tcl_ObjType *typePtr) } declare 19 generic { - void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, \ - ClientData clientData) + void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, char *file, int line) } declare 20 generic { - void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData) + void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, char *file, int line) } declare 21 generic { - int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan) + int Tcl_DbIsShared(Tcl_Obj *objPtr, char *file, int line) } declare 22 generic { - int Tcl_CommandComplete(char *cmd) + Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, char *file, int line) } declare 23 generic { - char * Tcl_Concat(int argc, char **argv) + Tcl_Obj * Tcl_DbNewByteArrayObj(unsigned char *bytes, int length, \ + char *file, int line) } declare 24 generic { - Tcl_Obj * Tcl_ConcatObj(int objc, Tcl_Obj *CONST objv[]) + Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue, char *file, int line) } declare 25 generic { - int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst, \ - int flags) + Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST objv[], char *file, \ + int line) } declare 26 generic { - int Tcl_ConvertElement(CONST char *src, char *dst, int flags) + Tcl_Obj * Tcl_DbNewLongObj(long longValue, char *file, int line) } declare 27 generic { - int Tcl_ConvertToType(Tcl_Interp *interp, Tcl_Obj *objPtr, \ - Tcl_ObjType *typePtr) + Tcl_Obj * Tcl_DbNewObj(char *file, int line) } declare 28 generic { - int Tcl_CreateAlias(Tcl_Interp *slave, char *slaveCmd, \ - Tcl_Interp *target, char *targetCmd, int argc, char **argv) + Tcl_Obj * Tcl_DbNewStringObj(char *bytes, int length, char *file, int line) } declare 29 generic { - int Tcl_CreateAliasObj(Tcl_Interp *slave, char *slaveCmd, \ - Tcl_Interp *target, char *targetCmd, int objc, \ - Tcl_Obj *CONST objv[]) + Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr) } declare 30 generic { - Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr, char *chanName, \ - ClientData instanceData, int mask) + void TclFreeObj(Tcl_Obj *objPtr) } declare 31 generic { - void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask, \ - Tcl_ChannelProc *proc, ClientData clientData) + int Tcl_GetBoolean(Tcl_Interp *interp, char *string, int *boolPtr) } declare 32 generic { - void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \ - ClientData clientData) + int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ + int *boolPtr) } declare 33 generic { - Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, char *cmdName, \ - Tcl_CmdProc *proc, ClientData clientData, \ - Tcl_CmdDeleteProc *deleteProc) + unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr) } declare 34 generic { - void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc, \ - Tcl_EventCheckProc *checkProc, ClientData clientData) + int Tcl_GetDouble(Tcl_Interp *interp, char *string, double *doublePtr) } declare 35 generic { - void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData) + int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ + double *doublePtr) } declare 36 generic { - Tcl_Interp * Tcl_CreateInterp(void) + int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ + char **tablePtr, char *msg, int flags, int *indexPtr) } declare 37 generic { - void Tcl_CreateMathFunc(Tcl_Interp *interp, char *name, int numArgs, \ - Tcl_ValueType *argTypes, Tcl_MathProc *proc, ClientData clientData) + int Tcl_GetInt(Tcl_Interp *interp, char *string, int *intPtr) } declare 38 generic { - Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp, char *cmdName, \ - Tcl_ObjCmdProc *proc, ClientData clientData, \ - Tcl_CmdDeleteProc *deleteProc) + int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr) } declare 39 generic { - Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, char *slaveName, \ - int isSafe) + int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr) } declare 40 generic { - Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds, \ - Tcl_TimerProc *proc, ClientData clientData) + Tcl_ObjType * Tcl_GetObjType(char *typeName) } declare 41 generic { - Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level, \ - Tcl_CmdTraceProc *proc, ClientData clientData) + char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr) } declare 42 generic { - char * Tcl_DbCkalloc(unsigned int size, char *file, int line) + void Tcl_InvalidateStringRep(Tcl_Obj *objPtr) } declare 43 generic { - int Tcl_DbCkfree(char *ptr, char *file, int line) + int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr, \ + Tcl_Obj *elemListPtr) } declare 44 generic { - char * Tcl_DbCkrealloc(char *ptr, unsigned int size, char *file, int line) + int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr, \ + Tcl_Obj *objPtr) } declare 45 generic { - void Tcl_DbDecrRefCount(Tcl_Obj *objPtr, char *file, int line) + int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr, \ + int *objcPtr, Tcl_Obj ***objvPtr) } declare 46 generic { - void Tcl_DbIncrRefCount(Tcl_Obj *objPtr, char *file, int line) + int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index, \ + Tcl_Obj **objPtrPtr) } declare 47 generic { - int Tcl_DbIsShared(Tcl_Obj *objPtr, char *file, int line) + int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr, int *intPtr) } declare 48 generic { - Tcl_Obj * Tcl_DbNewBooleanObj(int boolValue, char *file, int line) + int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first, \ + int count, int objc, Tcl_Obj *CONST objv[]) } declare 49 generic { - Tcl_Obj * Tcl_DbNewByteArrayObj(unsigned char *bytes, int length, \ - char *file, int line) + Tcl_Obj * Tcl_NewBooleanObj(int boolValue) } declare 50 generic { - Tcl_Obj * Tcl_DbNewDoubleObj(double doubleValue, char *file, int line) + Tcl_Obj * Tcl_NewByteArrayObj(unsigned char *bytes, int length) } declare 51 generic { - Tcl_Obj * Tcl_DbNewListObj(int objc, Tcl_Obj *CONST objv[], char *file, \ - int line) + Tcl_Obj * Tcl_NewDoubleObj(double doubleValue) } declare 52 generic { - Tcl_Obj * Tcl_DbNewLongObj(long longValue, char *file, int line) + Tcl_Obj * Tcl_NewIntObj(int intValue) } declare 53 generic { - Tcl_Obj * Tcl_DbNewObj(char *file, int line) + Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[]) } declare 54 generic { - Tcl_Obj * Tcl_DbNewStringObj(char *bytes, int length, char *file, int line) + Tcl_Obj * Tcl_NewLongObj(long longValue) } declare 55 generic { - void Tcl_DeleteAssocData(Tcl_Interp *interp, char *name) + Tcl_Obj * Tcl_NewObj(void) } declare 56 generic { - int Tcl_DeleteCommand(Tcl_Interp *interp, char *cmdName) + Tcl_Obj *Tcl_NewStringObj(char *bytes, int length) } declare 57 generic { - int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command) + void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue) } declare 58 generic { - void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc, \ - ClientData clientData) + unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length) } declare 59 generic { - void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \ - ClientData clientData) + void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, unsigned char *bytes, int length) } declare 60 generic { - void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData) + void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue) } declare 61 generic { - void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc, \ - Tcl_EventCheckProc *checkProc, ClientData clientData) + void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue) } declare 62 generic { - void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData) + void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[]) } declare 63 generic { - void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr) + void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue) } declare 64 generic { - void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr) + void Tcl_SetObjLength(Tcl_Obj *objPtr, int length) } declare 65 generic { - void Tcl_DeleteInterp(Tcl_Interp *interp) + void Tcl_SetStringObj(Tcl_Obj *objPtr, char *bytes, int length) } declare 66 generic { - void Tcl_DeleteTimerHandler(Tcl_TimerToken token) + void Tcl_AddErrorInfo(Tcl_Interp *interp, char *message) } declare 67 generic { - void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace) + void Tcl_AddObjErrorInfo(Tcl_Interp *interp, char *message, int length) } declare 68 generic { - void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr) + void Tcl_AllowExceptions(Tcl_Interp *interp) } declare 69 generic { - void Tcl_DontCallWhenDeleted(Tcl_Interp *interp, \ - Tcl_InterpDeleteProc *proc, ClientData clientData) + void Tcl_AppendElement(Tcl_Interp *interp, char *string) } declare 70 generic { - int Tcl_DoOneEvent(int flags) + void Tcl_AppendResult(Tcl_Interp *interp, ...) } declare 71 generic { - void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData) + Tcl_AsyncHandler Tcl_AsyncCreate(Tcl_AsyncProc *proc, \ + ClientData clientData) } declare 72 generic { - char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *string, \ - int length) + void Tcl_AsyncDelete(Tcl_AsyncHandler async) } declare 73 generic { - char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string) + int Tcl_AsyncInvoke(Tcl_Interp *interp, int code) } declare 74 generic { - void Tcl_DStringEndSublist(Tcl_DString *dsPtr) + void Tcl_AsyncMark(Tcl_AsyncHandler async) } declare 75 generic { - void Tcl_DStringFree(Tcl_DString *dsPtr) + int Tcl_AsyncReady(void) } declare 76 generic { - void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr) + void Tcl_BackgroundError(Tcl_Interp *interp) } declare 77 generic { - void Tcl_DStringInit(Tcl_DString *dsPtr) + char Tcl_Backslash(CONST char *src, int *readPtr) } declare 78 generic { - void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr) + int Tcl_BadChannelOption(Tcl_Interp *interp, char *optionName, \ + char *optionList) } declare 79 generic { - void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length) + void Tcl_CallWhenDeleted(Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, \ + ClientData clientData) } declare 80 generic { - void Tcl_DStringStartSublist(Tcl_DString *dsPtr) + void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, ClientData clientData) } declare 81 generic { - int Tcl_DumpActiveMemory(char *fileName) + int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan) } declare 82 generic { - Tcl_Obj * Tcl_DuplicateObj(Tcl_Obj *objPtr) + int Tcl_CommandComplete(char *cmd) } declare 83 generic { - int Tcl_Eof(Tcl_Channel chan) + char * Tcl_Concat(int argc, char **argv) } declare 84 generic { - char * Tcl_ErrnoId(void) + int Tcl_ConvertElement(CONST char *src, char *dst, int flags) } declare 85 generic { - char * Tcl_ErrnoMsg(int err) + int Tcl_ConvertCountedElement(CONST char *src, int length, char *dst, \ + int flags) } declare 86 generic { - int Tcl_Eval(Tcl_Interp *interp, char *string) + int Tcl_CreateAlias(Tcl_Interp *slave, char *slaveCmd, \ + Tcl_Interp *target, char *targetCmd, int argc, char **argv) } declare 87 generic { - int Tcl_EvalFile(Tcl_Interp *interp, char *fileName) + int Tcl_CreateAliasObj(Tcl_Interp *slave, char *slaveCmd, \ + Tcl_Interp *target, char *targetCmd, int objc, \ + Tcl_Obj *CONST objv[]) } declare 88 generic { - void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc) + Tcl_Channel Tcl_CreateChannel(Tcl_ChannelType *typePtr, char *chanName, \ + ClientData instanceData, int mask) } declare 89 generic { - int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr) + void Tcl_CreateChannelHandler(Tcl_Channel chan, int mask, \ + Tcl_ChannelProc *proc, ClientData clientData) } declare 90 generic { - void Tcl_Exit(int status) + void Tcl_CreateCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \ + ClientData clientData) } declare 91 generic { - int Tcl_ExposeCommand(Tcl_Interp *interp, char *hiddenCmdToken, \ - char *cmdName) + Tcl_Command Tcl_CreateCommand(Tcl_Interp *interp, char *cmdName, \ + Tcl_CmdProc *proc, ClientData clientData, \ + Tcl_CmdDeleteProc *deleteProc) } declare 92 generic { - int Tcl_ExprBoolean(Tcl_Interp *interp, char *string, int *ptr) + void Tcl_CreateEventSource(Tcl_EventSetupProc *setupProc, \ + Tcl_EventCheckProc *checkProc, ClientData clientData) } declare 93 generic { - int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr) + void Tcl_CreateExitHandler(Tcl_ExitProc *proc, ClientData clientData) } declare 94 generic { - int Tcl_ExprDouble(Tcl_Interp *interp, char *string, double *ptr) + Tcl_Interp * Tcl_CreateInterp(void) } declare 95 generic { - int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr) + void Tcl_CreateMathFunc(Tcl_Interp *interp, char *name, int numArgs, \ + Tcl_ValueType *argTypes, Tcl_MathProc *proc, ClientData clientData) } declare 96 generic { - int Tcl_ExprLong(Tcl_Interp *interp, char *string, long *ptr) + Tcl_Command Tcl_CreateObjCommand(Tcl_Interp *interp, char *cmdName, \ + Tcl_ObjCmdProc *proc, ClientData clientData, \ + Tcl_CmdDeleteProc *deleteProc) } declare 97 generic { - int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr) + Tcl_Interp * Tcl_CreateSlave(Tcl_Interp *interp, char *slaveName, \ + int isSafe) } declare 98 generic { - int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ - Tcl_Obj **resultPtrPtr) + Tcl_TimerToken Tcl_CreateTimerHandler(int milliseconds, \ + Tcl_TimerProc *proc, ClientData clientData) } declare 99 generic { - int Tcl_ExprString(Tcl_Interp *interp, char *string) + Tcl_Trace Tcl_CreateTrace(Tcl_Interp *interp, int level, \ + Tcl_CmdTraceProc *proc, ClientData clientData) } declare 100 generic { - void Tcl_Finalize(void) + void Tcl_DeleteAssocData(Tcl_Interp *interp, char *name) } declare 101 generic { - void Tcl_FindExecutable(char *argv0) + void Tcl_DeleteChannelHandler(Tcl_Channel chan, Tcl_ChannelProc *proc, \ + ClientData clientData) } declare 102 generic { - Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr, \ - Tcl_HashSearch *searchPtr) + void Tcl_DeleteCloseHandler(Tcl_Channel chan, Tcl_CloseProc *proc, \ + ClientData clientData) } declare 103 generic { - int Tcl_Flush(Tcl_Channel chan) + int Tcl_DeleteCommand(Tcl_Interp *interp, char *cmdName) } declare 104 generic { - void Tcl_Free(char *ptr) + int Tcl_DeleteCommandFromToken(Tcl_Interp *interp, Tcl_Command command) } declare 105 generic { - void TclFreeObj(Tcl_Obj *objPtr) + void Tcl_DeleteEvents(Tcl_EventDeleteProc *proc, ClientData clientData) } declare 106 generic { - void Tcl_FreeResult(Tcl_Interp *interp) + void Tcl_DeleteEventSource(Tcl_EventSetupProc *setupProc, \ + Tcl_EventCheckProc *checkProc, ClientData clientData) } declare 107 generic { - int Tcl_GetAlias(Tcl_Interp *interp, char *slaveCmd, \ - Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *argcPtr, char ***argvPtr) + void Tcl_DeleteExitHandler(Tcl_ExitProc *proc, ClientData clientData) } declare 108 generic { - int Tcl_GetAliasObj(Tcl_Interp *interp, char *slaveCmd, \ - Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *objcPtr, Tcl_Obj ***objv) + void Tcl_DeleteHashEntry(Tcl_HashEntry *entryPtr) } declare 109 generic { - ClientData Tcl_GetAssocData(Tcl_Interp *interp, char *name, \ - Tcl_InterpDeleteProc **procPtr) + void Tcl_DeleteHashTable(Tcl_HashTable *tablePtr) } declare 110 generic { - int Tcl_GetBoolean(Tcl_Interp *interp, char *string, int *boolPtr) + void Tcl_DeleteInterp(Tcl_Interp *interp) } declare 111 generic { - int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ - int *boolPtr) + void Tcl_DetachPids(int numPids, Tcl_Pid *pidPtr) } declare 112 generic { - unsigned char * Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr) + void Tcl_DeleteTimerHandler(Tcl_TimerToken token) } declare 113 generic { - Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, char *chanName, \ - int *modePtr) + void Tcl_DeleteTrace(Tcl_Interp *interp, Tcl_Trace trace) } declare 114 generic { - int Tcl_GetChannelBufferSize(Tcl_Channel chan) + void Tcl_DontCallWhenDeleted(Tcl_Interp *interp, \ + Tcl_InterpDeleteProc *proc, ClientData clientData) } declare 115 generic { - int Tcl_GetChannelHandle(Tcl_Channel chan, int direction, \ - ClientData *handlePtr) + int Tcl_DoOneEvent(int flags) } declare 116 generic { - ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan) + void Tcl_DoWhenIdle(Tcl_IdleProc *proc, ClientData clientData) } declare 117 generic { - int Tcl_GetChannelMode(Tcl_Channel chan) + char * Tcl_DStringAppend(Tcl_DString *dsPtr, CONST char *string, \ + int length) } declare 118 generic { - char * Tcl_GetChannelName(Tcl_Channel chan) + char * Tcl_DStringAppendElement(Tcl_DString *dsPtr, CONST char *string) } declare 119 generic { - int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \ - char *optionName, Tcl_DString *dsPtr) + void Tcl_DStringEndSublist(Tcl_DString *dsPtr) } declare 120 generic { - Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan) + void Tcl_DStringFree(Tcl_DString *dsPtr) } declare 121 generic { - int Tcl_GetCommandInfo(Tcl_Interp *interp, char *cmdName, \ - Tcl_CmdInfo *infoPtr) + void Tcl_DStringGetResult(Tcl_Interp *interp, Tcl_DString *dsPtr) } declare 122 generic { - char * Tcl_GetCommandName(Tcl_Interp *interp, Tcl_Command command) + void Tcl_DStringInit(Tcl_DString *dsPtr) } declare 123 generic { - int Tcl_GetDouble(Tcl_Interp *interp, char *string, double *doublePtr) + void Tcl_DStringResult(Tcl_Interp *interp, Tcl_DString *dsPtr) } declare 124 generic { - int Tcl_GetDoubleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ - double *doublePtr) + void Tcl_DStringSetLength(Tcl_DString *dsPtr, int length) } declare 125 generic { - int Tcl_GetErrno(void) + void Tcl_DStringStartSublist(Tcl_DString *dsPtr) } declare 126 generic { - char * Tcl_GetHostName(void) + int Tcl_Eof(Tcl_Channel chan) } declare 127 generic { - int Tcl_GetIndexFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ - char **tablePtr, char *msg, int flags, int *indexPtr) + char * Tcl_ErrnoId(void) } declare 128 generic { - int Tcl_GetInt(Tcl_Interp *interp, char *string, int *intPtr) + char * Tcl_ErrnoMsg(int err) } declare 129 generic { - int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp) + int Tcl_Eval(Tcl_Interp *interp, char *string) } declare 130 generic { - int Tcl_GetIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr) + int Tcl_EvalFile(Tcl_Interp *interp, char *fileName) } declare 131 generic { - int Tcl_GetLongFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr) + int Tcl_EvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr) } declare 132 generic { - Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp) + void Tcl_EventuallyFree(ClientData clientData, Tcl_FreeProc *freeProc) } declare 133 generic { - CONST char * Tcl_GetNameOfExecutable(void) + void Tcl_Exit(int status) } declare 134 generic { - Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp) + int Tcl_ExposeCommand(Tcl_Interp *interp, char *hiddenCmdToken, \ + char *cmdName) } declare 135 generic { - Tcl_ObjType * Tcl_GetObjType(char *typeName) + int Tcl_ExprBoolean(Tcl_Interp *interp, char *string, int *ptr) } declare 136 generic { - Tcl_PathType Tcl_GetPathType(char *path) + int Tcl_ExprBooleanObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr) } declare 137 generic { - int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr) + int Tcl_ExprDouble(Tcl_Interp *interp, char *string, double *ptr) } declare 138 generic { - int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr) + int Tcl_ExprDoubleObj(Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr) } declare 139 generic { - int Tcl_GetServiceMode(void) + int Tcl_ExprLong(Tcl_Interp *interp, char *string, long *ptr) } declare 140 generic { - Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, char *slaveName) + int Tcl_ExprLongObj(Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr) } declare 141 generic { - Tcl_Channel Tcl_GetStdChannel(int type) + int Tcl_ExprObj(Tcl_Interp *interp, Tcl_Obj *objPtr, \ + Tcl_Obj **resultPtrPtr) } declare 142 generic { - char * Tcl_GetStringFromObj(Tcl_Obj *objPtr, int *lengthPtr) + int Tcl_ExprString(Tcl_Interp *interp, char *string) } declare 143 generic { - char * Tcl_GetStringResult(Tcl_Interp *interp) + void Tcl_Finalize(void) } declare 144 generic { - char * Tcl_GetVar(Tcl_Interp *interp, char *varName, int flags) + void Tcl_FindExecutable(char *argv0) } declare 145 generic { - char * Tcl_GetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags) + Tcl_HashEntry * Tcl_FirstHashEntry(Tcl_HashTable *tablePtr, \ + Tcl_HashSearch *searchPtr) } declare 146 generic { - int Tcl_GlobalEval(Tcl_Interp *interp, char *command) + int Tcl_Flush(Tcl_Channel chan) } declare 147 generic { - int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr) + void Tcl_FreeResult(Tcl_Interp *interp) } declare 148 generic { - char * Tcl_HashStats(Tcl_HashTable *tablePtr) + int Tcl_GetAlias(Tcl_Interp *interp, char *slaveCmd, \ + Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *argcPtr, char ***argvPtr) } declare 149 generic { - int Tcl_HideCommand(Tcl_Interp *interp, char *cmdName, \ - char *hiddenCmdToken) + int Tcl_GetAliasObj(Tcl_Interp *interp, char *slaveCmd, \ + Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *objcPtr, Tcl_Obj ***objv) } declare 150 generic { - int Tcl_Init(Tcl_Interp *interp) + ClientData Tcl_GetAssocData(Tcl_Interp *interp, char *name, \ + Tcl_InterpDeleteProc **procPtr) } declare 151 generic { - void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType) + Tcl_Channel Tcl_GetChannel(Tcl_Interp *interp, char *chanName, \ + int *modePtr) } declare 152 generic { - int Tcl_InputBlocked(Tcl_Channel chan) + int Tcl_GetChannelBufferSize(Tcl_Channel chan) } declare 153 generic { - int Tcl_InputBuffered(Tcl_Channel chan) + int Tcl_GetChannelHandle(Tcl_Channel chan, int direction, \ + ClientData *handlePtr) } declare 154 generic { - int Tcl_InterpDeleted(Tcl_Interp *interp) + ClientData Tcl_GetChannelInstanceData(Tcl_Channel chan) } declare 155 generic { - int Tcl_IsSafe(Tcl_Interp *interp) + int Tcl_GetChannelMode(Tcl_Channel chan) } declare 156 generic { - void Tcl_InvalidateStringRep(Tcl_Obj *objPtr) + char * Tcl_GetChannelName(Tcl_Channel chan) } declare 157 generic { - char * Tcl_JoinPath(int argc, char **argv, Tcl_DString *resultPtr) + int Tcl_GetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \ + char *optionName, Tcl_DString *dsPtr) } declare 158 generic { - int Tcl_LinkVar(Tcl_Interp *interp, char *varName, char *addr, int type) + Tcl_ChannelType * Tcl_GetChannelType(Tcl_Channel chan) } declare 159 generic { - int Tcl_ListObjAppendList(Tcl_Interp *interp, Tcl_Obj *listPtr, \ - Tcl_Obj *elemListPtr) + int Tcl_GetCommandInfo(Tcl_Interp *interp, char *cmdName, \ + Tcl_CmdInfo *infoPtr) } declare 160 generic { - int Tcl_ListObjAppendElement(Tcl_Interp *interp, Tcl_Obj *listPtr, \ - Tcl_Obj *objPtr) + char * Tcl_GetCommandName(Tcl_Interp *interp, Tcl_Command command) } declare 161 generic { - int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr, \ - int *objcPtr, Tcl_Obj ***objvPtr) + int Tcl_GetErrno(void) } declare 162 generic { - int Tcl_ListObjIndex(Tcl_Interp *interp, Tcl_Obj *listPtr, int index, \ - Tcl_Obj **objPtrPtr) + char * Tcl_GetHostName(void) } declare 163 generic { - int Tcl_ListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr, int *intPtr) + int Tcl_GetInterpPath(Tcl_Interp *askInterp, Tcl_Interp *slaveInterp) } declare 164 generic { - int Tcl_ListObjReplace(Tcl_Interp *interp, Tcl_Obj *listPtr, int first, \ - int count, int objc, Tcl_Obj *CONST objv[]) + Tcl_Interp * Tcl_GetMaster(Tcl_Interp *interp) } declare 165 generic { - Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode) + CONST char * Tcl_GetNameOfExecutable(void) } declare 166 generic { - int Tcl_MakeSafe(Tcl_Interp *interp) + Tcl_Obj * Tcl_GetObjResult(Tcl_Interp *interp) } -declare 167 generic { - Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket) + +# Tcl_GetOpenFile is only available on unix, but it is a part of the old +# generic interface, so we inlcude it here for compatibility reasons. + +declare 167 unix { + int Tcl_GetOpenFile(Tcl_Interp *interp, char *string, int write, \ + int checkUsage, ClientData *filePtr) } + declare 168 generic { - char * Tcl_Merge(int argc, char **argv) + Tcl_PathType Tcl_GetPathType(char *path) } declare 169 generic { - Tcl_Obj * Tcl_NewBooleanObj(int boolValue) + int Tcl_Gets(Tcl_Channel chan, Tcl_DString *dsPtr) } declare 170 generic { - Tcl_Obj * Tcl_NewByteArrayObj(unsigned char *bytes, int length) + int Tcl_GetsObj(Tcl_Channel chan, Tcl_Obj *objPtr) } declare 171 generic { - Tcl_Obj * Tcl_NewDoubleObj(double doubleValue) + int Tcl_GetServiceMode(void) } declare 172 generic { - Tcl_Obj * Tcl_NewIntObj(int intValue) + Tcl_Interp * Tcl_GetSlave(Tcl_Interp *interp, char *slaveName) } declare 173 generic { - Tcl_Obj * Tcl_NewListObj(int objc, Tcl_Obj *CONST objv[]) + Tcl_Channel Tcl_GetStdChannel(int type) } declare 174 generic { - Tcl_Obj * Tcl_NewLongObj(long longValue) + char * Tcl_GetStringResult(Tcl_Interp *interp) } declare 175 generic { - Tcl_Obj * Tcl_NewObj(void) + char * Tcl_GetVar(Tcl_Interp *interp, char *varName, int flags) } declare 176 generic { - Tcl_Obj *Tcl_NewStringObj(char *bytes, int length) + char * Tcl_GetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags) } declare 177 generic { - Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr) + int Tcl_GlobalEval(Tcl_Interp *interp, char *command) } declare 178 generic { - void Tcl_NotifyChannel(Tcl_Channel channel, int mask) + int Tcl_GlobalEvalObj(Tcl_Interp *interp, Tcl_Obj *objPtr) } declare 179 generic { - Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \ - Tcl_Obj *part2Ptr, int flags) + int Tcl_HideCommand(Tcl_Interp *interp, char *cmdName, \ + char *hiddenCmdToken) } declare 180 generic { - Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \ - Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags) + int Tcl_Init(Tcl_Interp *interp) } declare 181 generic { - Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc, \ - char **argv, int flags) + void Tcl_InitHashTable(Tcl_HashTable *tablePtr, int keyType) } declare 182 generic { - Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, char *fileName, \ - char *modeString, int permissions) + int Tcl_InputBlocked(Tcl_Channel chan) } declare 183 generic { - Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port, \ - char *address, char *myaddr, int myport, int async) + int Tcl_InputBuffered(Tcl_Channel chan) } declare 184 generic { - Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port, char *host, \ - Tcl_TcpAcceptProc *acceptProc, ClientData callbackData) + int Tcl_InterpDeleted(Tcl_Interp *interp) } declare 185 generic { - void panic(char *format, ...) + int Tcl_IsSafe(Tcl_Interp *interp) } declare 186 generic { - void panicVA(char *format, va_list argList) + char * Tcl_JoinPath(int argc, char **argv, Tcl_DString *resultPtr) } declare 187 generic { - char * Tcl_ParseVar(Tcl_Interp *interp, char *string, char **termPtr) -} -declare 188 generic { - char * Tcl_PkgPresent(Tcl_Interp *interp, char *name, char *version, \ - int exact) + int Tcl_LinkVar(Tcl_Interp *interp, char *varName, char *addr, int type) } + +# This slot is reserved for use by the plus patch: +# declare 188 generic { +# Tcl_MainLoop +# } + declare 189 generic { - char * Tcl_PkgPresentEx(Tcl_Interp *interp, char *name, char *version, \ - int exact, ClientData *clientDataPtr) + Tcl_Channel Tcl_MakeFileChannel(ClientData handle, int mode) } declare 190 generic { - int Tcl_PkgProvide(Tcl_Interp *interp, char *name, char *version) + int Tcl_MakeSafe(Tcl_Interp *interp) } declare 191 generic { - int Tcl_PkgProvideEx(Tcl_Interp *interp, char *name, char *version, \ - ClientData clientData) + Tcl_Channel Tcl_MakeTcpClientChannel(ClientData tcpSocket) } declare 192 generic { - char * Tcl_PkgRequire(Tcl_Interp *interp, char *name, char *version, \ - int exact) + char * Tcl_Merge(int argc, char **argv) } declare 193 generic { - char * Tcl_PkgRequireEx(Tcl_Interp *interp, char *name, char *version, \ - int exact, ClientData *clientDataPtr) + Tcl_HashEntry * Tcl_NextHashEntry(Tcl_HashSearch *searchPtr) } declare 194 generic { - char * Tcl_PosixError(Tcl_Interp *interp) + void Tcl_NotifyChannel(Tcl_Channel channel, int mask) } declare 195 generic { - void Tcl_Preserve(ClientData data) + Tcl_Obj * Tcl_ObjGetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \ + Tcl_Obj *part2Ptr, int flags) } declare 196 generic { - void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst) + Tcl_Obj * Tcl_ObjSetVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \ + Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags) } declare 197 generic { - int Tcl_PutEnv(CONST char *string) + Tcl_Channel Tcl_OpenCommandChannel(Tcl_Interp *interp, int argc, \ + char **argv, int flags) } declare 198 generic { - void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position) + Tcl_Channel Tcl_OpenFileChannel(Tcl_Interp *interp, char *fileName, \ + char *modeString, int permissions) } declare 199 generic { - int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead) + Tcl_Channel Tcl_OpenTcpClient(Tcl_Interp *interp, int port, \ + char *address, char *myaddr, int myport, int async) } declare 200 generic { - char * Tcl_Realloc(char *ptr, unsigned int size) + Tcl_Channel Tcl_OpenTcpServer(Tcl_Interp *interp, int port, char *host, \ + Tcl_TcpAcceptProc *acceptProc, ClientData callbackData) } declare 201 generic { - void Tcl_ReapDetachedProcs(void) + void Tcl_Preserve(ClientData data) } declare 202 generic { - int Tcl_RecordAndEval(Tcl_Interp *interp, char *cmd, int flags) + void Tcl_PrintDouble(Tcl_Interp *interp, double value, char *dst) } declare 203 generic { - int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags) + int Tcl_PutEnv(CONST char *string) } declare 204 generic { - Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, char *string) + char * Tcl_PosixError(Tcl_Interp *interp) } declare 205 generic { - int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp, char *string, \ - char *start) + void Tcl_QueueEvent(Tcl_Event *evPtr, Tcl_QueuePosition position) } declare 206 generic { - int Tcl_RegExpMatch(Tcl_Interp *interp, char *string, char *pattern) + int Tcl_Read(Tcl_Channel chan, char *bufPtr, int toRead) } declare 207 generic { - void Tcl_RegExpRange(Tcl_RegExp regexp, int index, char **startPtr, \ - char **endPtr) + void Tcl_ReapDetachedProcs(void) } declare 208 generic { - void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan) + int Tcl_RecordAndEval(Tcl_Interp *interp, char *cmd, int flags) } declare 209 generic { - void Tcl_RegisterObjType(Tcl_ObjType *typePtr) + int Tcl_RecordAndEvalObj(Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags) } declare 210 generic { - void Tcl_Release(ClientData clientData) + void Tcl_RegisterChannel(Tcl_Interp *interp, Tcl_Channel chan) } declare 211 generic { - void Tcl_ResetResult(Tcl_Interp *interp) + void Tcl_RegisterObjType(Tcl_ObjType *typePtr) } declare 212 generic { - int Tcl_ScanCountedElement(CONST char *string, int length, int *flagPtr) + Tcl_RegExp Tcl_RegExpCompile(Tcl_Interp *interp, char *string) } declare 213 generic { - int Tcl_ScanElement(CONST char *string, int *flagPtr) + int Tcl_RegExpExec(Tcl_Interp *interp, Tcl_RegExp regexp, char *string, \ + char *start) } declare 214 generic { - int Tcl_Seek(Tcl_Channel chan, int offset, int mode) + int Tcl_RegExpMatch(Tcl_Interp *interp, char *string, char *pattern) } declare 215 generic { - int Tcl_ServiceAll(void) + void Tcl_RegExpRange(Tcl_RegExp regexp, int index, char **startPtr, \ + char **endPtr) } declare 216 generic { - int Tcl_ServiceEvent(int flags) + void Tcl_Release(ClientData clientData) } declare 217 generic { - void Tcl_SetAssocData(Tcl_Interp *interp, char *name, \ - Tcl_InterpDeleteProc *proc, ClientData clientData) + void Tcl_ResetResult(Tcl_Interp *interp) } declare 218 generic { - void Tcl_SetBooleanObj(Tcl_Obj *objPtr, int boolValue) + int Tcl_ScanElement(CONST char *string, int *flagPtr) } declare 219 generic { - unsigned char * Tcl_SetByteArrayLength(Tcl_Obj *objPtr, int length) + int Tcl_ScanCountedElement(CONST char *string, int length, int *flagPtr) } declare 220 generic { - void Tcl_SetByteArrayObj(Tcl_Obj *objPtr, unsigned char *bytes, int length) + int Tcl_Seek(Tcl_Channel chan, int offset, int mode) } declare 221 generic { - void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz) + int Tcl_ServiceAll(void) } declare 222 generic { - int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \ - char *optionName, char *newValue) + int Tcl_ServiceEvent(int flags) } declare 223 generic { - int Tcl_SetCommandInfo(Tcl_Interp *interp, char *cmdName, \ - Tcl_CmdInfo *infoPtr) + void Tcl_SetAssocData(Tcl_Interp *interp, char *name, \ + Tcl_InterpDeleteProc *proc, ClientData clientData) } declare 224 generic { - void Tcl_SetDoubleObj(Tcl_Obj *objPtr, double doubleValue) + void Tcl_SetChannelBufferSize(Tcl_Channel chan, int sz) } declare 225 generic { - void Tcl_SetErrno(int err) + int Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, \ + char *optionName, char *newValue) } declare 226 generic { - void Tcl_SetErrorCode(Tcl_Interp *interp, ...) + int Tcl_SetCommandInfo(Tcl_Interp *interp, char *cmdName, \ + Tcl_CmdInfo *infoPtr) } declare 227 generic { - void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList) + void Tcl_SetErrno(int err) } declare 228 generic { - void Tcl_SetIntObj(Tcl_Obj *objPtr, int intValue) + void Tcl_SetErrorCode(Tcl_Interp *interp, ...) } declare 229 generic { - void Tcl_SetListObj(Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[]) + void Tcl_SetMaxBlockTime(Tcl_Time *timePtr) } declare 230 generic { - void Tcl_SetLongObj(Tcl_Obj *objPtr, long longValue) + void Tcl_SetPanicProc(Tcl_PanicProc *panicProc) } declare 231 generic { - void Tcl_SetMaxBlockTime(Tcl_Time *timePtr) + int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth) } declare 232 generic { - void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr) + void Tcl_SetResult(Tcl_Interp *interp, char *string, \ + Tcl_FreeProc *freeProc) } declare 233 generic { - void Tcl_SetObjLength(Tcl_Obj *objPtr, int length) + int Tcl_SetServiceMode(int mode) } declare 234 generic { - void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr) + void Tcl_SetObjErrorCode(Tcl_Interp *interp, Tcl_Obj *errorObjPtr) } declare 235 generic { - void Tcl_SetPanicProc(Tcl_PanicProc *panicProc) + void Tcl_SetObjResult(Tcl_Interp *interp, Tcl_Obj *resultObjPtr) } declare 236 generic { - int Tcl_SetRecursionLimit(Tcl_Interp *interp, int depth) -} -declare 237 generic { - void Tcl_SetResult(Tcl_Interp *interp, char *string, \ - Tcl_FreeProc *freeProc) -} -declare 238 generic { - int Tcl_SetServiceMode(int mode) -} -declare 239 generic { void Tcl_SetStdChannel(Tcl_Channel channel, int type) } -declare 240 generic { - void Tcl_SetStringObj(Tcl_Obj *objPtr, char *bytes, int length) -} -declare 241 generic { - void Tcl_SetTimer(Tcl_Time *timePtr) -} -declare 242 generic { +declare 237 generic { char * Tcl_SetVar(Tcl_Interp *interp, char *varName, char *newValue, \ int flags) } -declare 243 generic { +declare 238 generic { char * Tcl_SetVar2(Tcl_Interp *interp, char *part1, char *part2, \ char *newValue, int flags) } -declare 244 generic { +declare 239 generic { char * Tcl_SignalId(int sig) } -declare 245 generic { +declare 240 generic { char * Tcl_SignalMsg(int sig) } -declare 246 generic { - void Tcl_Sleep(int ms) -} -declare 247 generic { +declare 241 generic { void Tcl_SourceRCFile(Tcl_Interp *interp) } -declare 248 generic { +declare 242 generic { int Tcl_SplitList(Tcl_Interp *interp, char *list, int *argcPtr, \ char ***argvPtr) } -declare 249 generic { +declare 243 generic { void Tcl_SplitPath(char *path, int *argcPtr, char ***argvPtr) } -declare 250 generic { +declare 244 generic { void Tcl_StaticPackage(Tcl_Interp *interp, char *pkgName, \ Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc) } -declare 251 generic { +declare 245 generic { int Tcl_StringMatch(char *string, char *pattern) } -declare 252 generic { +declare 246 generic { int Tcl_Tell(Tcl_Channel chan) } -declare 253 generic { +declare 247 generic { int Tcl_TraceVar(Tcl_Interp *interp, char *varName, int flags, \ Tcl_VarTraceProc *proc, ClientData clientData) } -declare 254 generic { +declare 248 generic { int Tcl_TraceVar2(Tcl_Interp *interp, char *part1, char *part2, \ int flags, Tcl_VarTraceProc *proc, ClientData clientData) } -declare 255 generic { +declare 249 generic { char * Tcl_TranslateFileName(Tcl_Interp *interp, char *name, \ Tcl_DString *bufferPtr) } -declare 256 generic { +declare 250 generic { int Tcl_Ungets(Tcl_Channel chan, char *str, int len, int atHead) } -declare 257 generic { +declare 251 generic { void Tcl_UnlinkVar(Tcl_Interp *interp, char *varName) } -declare 258 generic { +declare 252 generic { int Tcl_UnregisterChannel(Tcl_Interp *interp, Tcl_Channel chan) } -declare 259 generic { +declare 253 generic { int Tcl_UnsetVar(Tcl_Interp *interp, char *varName, int flags) } -declare 260 generic { +declare 254 generic { int Tcl_UnsetVar2(Tcl_Interp *interp, char *part1, char *part2, int flags) } -declare 261 generic { +declare 255 generic { void Tcl_UntraceVar(Tcl_Interp *interp, char *varName, int flags, \ Tcl_VarTraceProc *proc, ClientData clientData) } -declare 262 generic { +declare 256 generic { void Tcl_UntraceVar2(Tcl_Interp *interp, char *part1, char *part2, \ int flags, Tcl_VarTraceProc *proc, ClientData clientData) } -declare 263 generic { +declare 257 generic { void Tcl_UpdateLinkedVar(Tcl_Interp *interp, char *varName) } -declare 264 generic { +declare 258 generic { int Tcl_UpVar(Tcl_Interp *interp, char *frameName, char *varName, \ char *localName, int flags) } -declare 265 generic { +declare 259 generic { int Tcl_UpVar2(Tcl_Interp *interp, char *frameName, char *part1, \ char *part2, char *localName, int flags) } +declare 260 generic { + int Tcl_VarEval(Tcl_Interp *interp, ...) +} +declare 261 generic { + ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, char *varName, \ + int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData) +} +declare 262 generic { + ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, char *part1, \ + char *part2, int flags, Tcl_VarTraceProc *procPtr, \ + ClientData prevClientData) +} +declare 263 generic { + int Tcl_Write(Tcl_Channel chan, char *s, int slen) +} +declare 264 generic { + void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \ + Tcl_Obj *CONST objv[], char *message) +} +declare 265 generic { + int Tcl_DumpActiveMemory(char *fileName) +} declare 266 generic { void Tcl_ValidateAllMemory(char *file, int line) } declare 267 generic { - int Tcl_VarEval(Tcl_Interp *interp, ...) + void Tcl_AppendResultVA(Tcl_Interp *interp, va_list argList) } declare 268 generic { - int Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList) + void Tcl_AppendStringsToObjVA(Tcl_Obj *objPtr, va_list argList) } declare 269 generic { - ClientData Tcl_VarTraceInfo(Tcl_Interp *interp, char *varName, \ - int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData) + char * Tcl_HashStats(Tcl_HashTable *tablePtr) } declare 270 generic { - ClientData Tcl_VarTraceInfo2(Tcl_Interp *interp, char *part1, \ - char *part2, int flags, Tcl_VarTraceProc *procPtr, \ - ClientData prevClientData) + char * Tcl_ParseVar(Tcl_Interp *interp, char *string, char **termPtr) } declare 271 generic { - int Tcl_WaitForEvent(Tcl_Time *timePtr) + char * Tcl_PkgPresent(Tcl_Interp *interp, char *name, char *version, \ + int exact) } declare 272 generic { - Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options) + char * Tcl_PkgPresentEx(Tcl_Interp *interp, char *name, char *version, \ + int exact, ClientData *clientDataPtr) } declare 273 generic { - int Tcl_Write(Tcl_Channel chan, char *s, int slen) + int Tcl_PkgProvide(Tcl_Interp *interp, char *name, char *version) } declare 274 generic { - void Tcl_WrongNumArgs(Tcl_Interp *interp, int objc, \ - Tcl_Obj *CONST objv[], char *message) + char * Tcl_PkgRequire(Tcl_Interp *interp, char *name, char *version, \ + int exact) +} +declare 275 generic { + void Tcl_SetErrorCodeVA(Tcl_Interp *interp, va_list argList) +} +declare 276 generic { + int Tcl_VarEvalVA(Tcl_Interp *interp, va_list argList) +} +declare 277 generic { + Tcl_Pid Tcl_WaitPid(Tcl_Pid pid, int *statPtr, int options) +} +declare 278 generic { + void panicVA(char *format, va_list argList) } ############################################################################## @@ -987,18 +1015,3 @@ declare 8 mac { int strcasecmp(CONST char *s1, CONST char *s2) } - -#################### -# Unix declaractions - -declare 0 unix { - void Tcl_CreateFileHandler(int fd, int mask, Tcl_FileProc *proc, \ - ClientData clientData) -} -declare 1 unix { - void Tcl_DeleteFileHandler(int fd) -} -declare 2 unix { - int Tcl_GetOpenFile(Tcl_Interp *interp, char *string, int write, \ - int checkUsage, ClientData *filePtr) -} diff --git a/generic/tcl.h b/generic/tcl.h index 77b25e5..05ebf7b 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.33 1999/02/03 02:58:25 stanton Exp $ + * RCS: @(#) $Id: tcl.h,v 1.34 1999/03/10 05:52:46 stanton Exp $ */ #ifndef _TCL @@ -151,10 +151,14 @@ */ #if defined(__STDC__) || defined(HAS_STDARG) +# include <stdarg.h> + # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type name, ...) # define TCL_VARARGS_START(type, name, list) (va_start(list, name), name) #else +# include <varargs.h> + # ifdef __cplusplus # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type va_alist, ...) @@ -172,43 +176,51 @@ * The default build on windows is for a DLL, which causes the DLLIMPORT * and DLLEXPORT macros to be nonempty. To build a static library, the * macro STATIC_BUILD should be defined. - * The support follows the convention that a macro called BUILD_xxxx, where - * xxxx is the name of a library we are building, is set on the compile line - * for sources that are to be placed in the library. See BUILD_tcl in this - * file for an example of how the macro is to be used. */ -#ifdef __WIN32__ -# ifdef STATIC_BUILD -# define DLLIMPORT -# define DLLEXPORT -# else -# if defined(_MSC_VER) || (defined(__GNUC__) && defined(__declspec)) +#ifdef STATIC_BUILD +# define DLLIMPORT +# define DLLEXPORT +#else +# if defined(__WIN32__) && (defined(_MSC_VER) || (defined(__GNUC__) && defined(__declspec))) # define DLLIMPORT __declspec(dllimport) # define DLLEXPORT __declspec(dllexport) -# else -# define DLLIMPORT -# define DLLEXPORT -# endif +# else +# define DLLIMPORT +# define DLLEXPORT # endif -#else -# define DLLIMPORT -# define DLLEXPORT #endif -#ifdef TCL_STORAGE_CLASS -# undef TCL_STORAGE_CLASS -#endif +/* + * These macros are used to control whether functions are being declared for + * import or export. If a function is being declared while it is being built + * to be included in a shared library, then it should have the DLLEXPORT + * storage class. If is being declared for use by a module that is going to + * link against the shared library, then it should have the DLLIMPORT storage + * class. If the symbol is beind declared for a static build or for use from a + * stub library, then the storage class should be empty. + * + * The convention is that a macro called BUILD_xxxx, where xxxx is the + * name of a library we are building, is set on the compile line for sources + * that are to be placed in the library. When this macro is set, the + * storage class will be set to DLLEXPORT. At the end of the header file, the + * storage class will be reset to DLLIMPORt. + */ + +#undef TCL_STORAGE_CLASS #ifdef BUILD_tcl # define TCL_STORAGE_CLASS DLLEXPORT #else -# define TCL_STORAGE_CLASS DLLIMPORT +# ifdef USE_TCL_STUBS +# define TCL_STORAGE_CLASS +# else +# define TCL_STORAGE_CLASS DLLIMPORT +# endif #endif /* * Definitions that allow this header file to be used either with or - * without ANSI C features like function prototypes. - */ + * without ANSI C features like function prototypes. */ #undef _ANSI_ARGS_ #undef CONST @@ -402,6 +414,7 @@ typedef void (Tcl_NamespaceDeleteProc) _ANSI_ARGS_((ClientData clientData)); typedef int (Tcl_ObjCmdProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * CONST objv[])); typedef int (Tcl_PackageInitProc) _ANSI_ARGS_((Tcl_Interp *interp)); +typedef void (Tcl_PanicProc) _ANSI_ARGS_(TCL_VARARGS(char *, format)); typedef void (Tcl_TcpAcceptProc) _ANSI_ARGS_((ClientData callbackData, Tcl_Channel chan, char *address, int port)); typedef void (Tcl_TimerProc) _ANSI_ARGS_((ClientData clientData)); @@ -509,19 +522,11 @@ EXTERN int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); * overridden to call debugging versions of the object creation procedures. */ -EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); -EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); -EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); -EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); -EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char *bytes, - int length)); - #ifdef TCL_MEM_DEBUG # define Tcl_NewBooleanObj(val) \ Tcl_DbNewBooleanObj(val, __FILE__, __LINE__) +# define Tcl_NewByteArrayObj(bytes, len) \ + Tcl_DbNewByteArrayObj(bytes, len, __FILE__, __LINE__) # define Tcl_NewDoubleObj(val) \ Tcl_DbNewDoubleObj(val, __FILE__, __LINE__) # define Tcl_NewIntObj(val) \ @@ -729,11 +734,6 @@ typedef struct Tcl_DString { * of debugging hooks defined in tclCkalloc.c. */ -EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); -EXTERN void Tcl_Free _ANSI_ARGS_((char *ptr)); -EXTERN char * Tcl_Realloc _ANSI_ARGS_((char *ptr, - unsigned int size)); - #ifdef TCL_MEM_DEBUG # define Tcl_Alloc(x) Tcl_DbCkalloc(x, __FILE__, __LINE__) @@ -743,10 +743,6 @@ EXTERN char * Tcl_Realloc _ANSI_ARGS_((char *ptr, # define ckfree(x) Tcl_DbCkfree(x, __FILE__, __LINE__) # define ckrealloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) -EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char *fileName)); -EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, - int line)); - #else /* @@ -769,7 +765,7 @@ EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, # define Tcl_DumpActiveMemory(x) # define Tcl_ValidateAllMemory(x,y) -#endif /* TCL_MEM_DEBUG */ +#endif /* !TCL_MEM_DEBUG */ /* * Forward declaration of Tcl_HashTable. Needed by some C++ compilers @@ -1054,515 +1050,59 @@ typedef enum Tcl_PathType { } Tcl_PathType; /* - * Exported Tcl procedures: + * These function have been renamed. The old names are deprecated, but we + * define these macros for backwards compatibilty. */ -EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *message)); -EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *message, int length)); -EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr)); -EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN void Tcl_AppendResult _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,interp)); -EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj *objPtr, - char *bytes, int length)); -EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_( - TCL_VARARGS(Tcl_Obj *,interp)); -EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc *proc, - ClientData clientData)); -EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async)); -EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int code)); -EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); -EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void)); -EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char *src, - int *readPtr)); -EXTERN int Tcl_BadChannelOption _ANSI_ARGS_((Tcl_Interp *interp, - char *optionName, char *optionList)); -EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_((Tcl_IdleProc *idleProc, - ClientData clientData)); #define Tcl_Ckalloc Tcl_Alloc #define Tcl_Ckfree Tcl_Free #define Tcl_Ckrealloc Tcl_Realloc -EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN int Tcl_CommandComplete _ANSI_ARGS_((char *cmd)); -EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, char **argv)); -EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_((CONST char *src, - int length, char *dst, int flags)); -EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char *src, - char *dst, int flags)); -EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, Tcl_ObjType *typePtr)); -EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp *slave, - char *slaveCmd, Tcl_Interp *target, - char *targetCmd, int argc, char **argv)); -EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp *slave, - char *slaveCmd, Tcl_Interp *target, - char *targetCmd, int objc, - Tcl_Obj *CONST objv[])); -EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_(( - Tcl_ChannelType *typePtr, char *chanName, - ClientData instanceData, int mask)); -EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_(( - Tcl_Channel chan, int mask, - Tcl_ChannelProc *proc, ClientData clientData)); -EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_CloseProc *proc, - ClientData clientData)); -EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdProc *proc, - ClientData clientData, - Tcl_CmdDeleteProc *deleteProc)); -EXTERN void Tcl_CreateEventSource _ANSI_ARGS_(( - Tcl_EventSetupProc *setupProc, - Tcl_EventCheckProc *checkProc, - ClientData clientData)); -EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, - ClientData clientData)); -EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_(( - int fd, int mask, Tcl_FileProc *proc, - ClientData clientData)); -EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void)); -EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp *interp, - char *name, int numArgs, Tcl_ValueType *argTypes, - Tcl_MathProc *proc, ClientData clientData)); -EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_(( - Tcl_Interp *interp, char *cmdName, - Tcl_ObjCmdProc *proc, ClientData clientData, - Tcl_CmdDeleteProc *deleteProc)); -EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveName, int isSafe)); -EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds, - Tcl_TimerProc *proc, ClientData clientData)); -EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp *interp, - int level, Tcl_CmdTraceProc *proc, - ClientData clientData)); -EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, - char *file, int line)); -EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char *ptr, - char *file, int line)); -EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char *ptr, - unsigned int size, char *file, int line)); -EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj *objPtr, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[], char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, - char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char *file, int line)); -EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char *bytes, - int length, char *file, int line)); -EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name)); -EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName)); -EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command command)); -EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_ChannelProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_(( - Tcl_Channel chan, Tcl_CloseProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteEvents _ANSI_ARGS_(( - Tcl_EventDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_(( - Tcl_EventSetupProc *setupProc, - Tcl_EventCheckProc *checkProc, - ClientData clientData)); -EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, - ClientData clientData)); -EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); -EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_(( - Tcl_HashEntry *entryPtr)); -EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_(( - Tcl_HashTable *tablePtr)); -EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_(( - Tcl_TimerToken token)); -EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Trace trace)); -EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, Tcl_Pid *pidPtr)); -EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags)); -EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc *proc, - ClientData clientData)); -EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString *dsPtr, - CONST char *string, int length)); -EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_(( - Tcl_DString *dsPtr, CONST char *string)); -EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringGetResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dsPtr)); -EXTERN void Tcl_DStringSetLength _ANSI_ARGS_((Tcl_DString *dsPtr, - int length)); -EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_(( - Tcl_DString *dsPtr)); -EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj *objPtr)); -EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN char * Tcl_ErrnoId _ANSI_ARGS_((void)); -EXTERN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err)); -EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName)); -EXTERN void Tcl_EventuallyFree _ANSI_ARGS_((ClientData clientData, - Tcl_FreeProc *freeProc)); -EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN void Tcl_Exit _ANSI_ARGS_((int status)); -EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *hiddenCmdToken, char *cmdName)); -EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *ptr)); -EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int *ptr)); -EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp *interp, - char *string, double *ptr)); -EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, double *ptr)); -EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp *interp, - char *string, long *ptr)); -EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, long *ptr)); -EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, Tcl_Obj **resultPtrPtr)); -EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN void Tcl_Finalize _ANSI_ARGS_((void)); -EXTERN void Tcl_FindExecutable _ANSI_ARGS_((char *argv0)); -EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_(( - Tcl_HashTable *tablePtr, - Tcl_HashSearch *searchPtr)); -EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj *objPtr)); -EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveCmd, Tcl_Interp **targetInterpPtr, - char **targetCmdPtr, int *argcPtr, - char ***argvPtr)); -EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveCmd, Tcl_Interp **targetInterpPtr, - char **targetCmdPtr, int *objcPtr, - Tcl_Obj ***objv)); -EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_InterpDeleteProc **procPtr)); -EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *boolPtr)); -EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr, - int *boolPtr)); -EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *chanName, int *modePtr)); -EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_(( - Tcl_Channel chan)); -EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan, - int direction, ClientData *handlePtr)); -EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_(( - Tcl_Channel chan)); -EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN char * Tcl_GetChannelName _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_GetChannelOption _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan, char *optionName, - Tcl_DString *dsPtr)); -EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdInfo *infoPtr)); -EXTERN char * Tcl_GetCommandName _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Command command)); -EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp *interp, - char *string, double *doublePtr)); -EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr, - double *doublePtr)); -EXTERN int Tcl_GetErrno _ANSI_ARGS_((void)); -EXTERN char * Tcl_GetHostName _ANSI_ARGS_((void)); -EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, char **tablePtr, char *msg, - int flags, int *indexPtr)); -EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *intPtr)); -EXTERN int Tcl_GetInterpPath _ANSI_ARGS_((Tcl_Interp *askInterp, - Tcl_Interp *slaveInterp)); -EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int *intPtr)); -EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, long *longPtr)); -EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN CONST char * Tcl_GetNameOfExecutable _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char *typeName)); -EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int write, int checkUsage, - ClientData *filePtr)); -EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((char *path)); -EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan, - Tcl_DString *dsPtr)); -EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan, - Tcl_Obj *objPtr)); -EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void)); -EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp *interp, - char *slaveName)); -EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type)); -EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int *lengthPtr)); -EXTERN char * Tcl_GetStringResult _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags)); -EXTERN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags)); -EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp *interp, - char *command)); -EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable *tablePtr)); -EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, char *hiddenCmdToken)); -EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_InitHashTable _ANSI_ARGS_((Tcl_HashTable *tablePtr, - int keyType)); -EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan)); -EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( - Tcl_Obj *objPtr)); -EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, char **argv, - Tcl_DString *resultPtr)); -EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, char *addr, int type)); -EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - Tcl_Obj *elemListPtr)); -EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - Tcl_Obj *objPtr)); -EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *listPtr, - int *objcPtr, Tcl_Obj ***objvPtr)); -EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int index, - Tcl_Obj **objPtrPtr)); -EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int *intPtr)); -EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *listPtr, int first, int count, - int objc, Tcl_Obj *CONST objv[])); -EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, - Tcl_AppInitProc *appInitProc)); -EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle, - int mode)); -EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_(( - ClientData tcpSocket)); -EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, char **argv)); -EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_(( - Tcl_HashSearch *searchPtr)); -EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel, - int mask)); -EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - int flags)); -EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - Tcl_Obj *newValuePtr, int flags)); -EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( - Tcl_Interp *interp, int argc, char **argv, - int flags)); -EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *modeString, - int permissions)); -EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp *interp, - int port, char *address, char *myaddr, - int myport, int async)); -EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp *interp, - int port, char *host, - Tcl_TcpAcceptProc *acceptProc, - ClientData callbackData)); -EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char **termPtr)); -EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp *interp, - char *name, char *version)); -EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp *interp, - char *name, char *version, int exact)); -EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data)); -EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp *interp, - double value, char *dst)); -EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char *string)); -EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event *evPtr, - Tcl_QueuePosition position)); -EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan, - char *bufPtr, int toRead)); -EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); -EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp *interp, - char *cmd, int flags)); -EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *cmdPtr, int flags)); -EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp *interp, - char *string)); -EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_RegExp regexp, char *string, char *start)); -EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *pattern)); -EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp, - int index, char **startPtr, char **endPtr)); -EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( - Tcl_ObjType *typePtr)); -EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData)); -EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp *interp)); #define Tcl_Return Tcl_SetResult -EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_((CONST char *string, - int length, int *flagPtr)); -EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char *string, - int *flagPtr)); -EXTERN int Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, - int offset, int mode)); -EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void)); -EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags)); -EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_InterpDeleteProc *proc, - ClientData clientData)); -EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int boolValue)); -EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_(( - Tcl_Channel chan, int sz)); -EXTERN int Tcl_SetChannelOption _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Channel chan, - char *optionName, char *newValue)); -EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *cmdName, Tcl_CmdInfo *infoPtr)); -EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj *objPtr, - double doubleValue)); -EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); -EXTERN void Tcl_SetErrorCode _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,arg1)); -EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int intValue)); -EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj *objPtr, - int objc, Tcl_Obj *CONST objv[])); -EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj *objPtr, - long longValue)); -EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *errorObjPtr)); -EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj *objPtr, - int length)); -EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *resultObjPtr)); -EXTERN void Tcl_SetPanicProc _ANSI_ARGS_((void (*proc) - _ANSI_ARGS_(TCL_VARARGS(char *, format)))); -EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_((Tcl_Interp *interp, - int depth)); -EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp *interp, - char *string, Tcl_FreeProc *freeProc)); -EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode)); -EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel, - int type)); -EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj *objPtr, - char *bytes, int length)); -EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, char *newValue, int flags)); -EXTERN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, char *newValue, - int flags)); -EXTERN char * Tcl_SignalId _ANSI_ARGS_((int sig)); -EXTERN char * Tcl_SignalMsg _ANSI_ARGS_((int sig)); -EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); -EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp *interp, - char *list, int *argcPtr, char ***argvPtr)); -EXTERN void Tcl_SplitPath _ANSI_ARGS_((char *path, - int *argcPtr, char ***argvPtr)); -EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp *interp, - char *pkgName, Tcl_PackageInitProc *initProc, - Tcl_PackageInitProc *safeInitProc)); -EXTERN int Tcl_StringMatch _ANSI_ARGS_((char *string, - char *pattern)); -EXTERN int Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan)); #define Tcl_TildeSubst Tcl_TranslateFileName -EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, Tcl_VarTraceProc *proc, - ClientData clientData)); -EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *proc, ClientData clientData)); -EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_DString *bufferPtr)); -EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, char *str, - int len, int atHead)); -EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName)); -EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags)); -EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags)); -EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, Tcl_VarTraceProc *proc, - ClientData clientData)); -EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *proc, ClientData clientData)); -EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp *interp, - char *varName)); -EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp *interp, - char *frameName, char *varName, - char *localName, int flags)); -EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp *interp, - char *frameName, char *part1, char *part2, - char *localName, int flags)); -EXTERN int Tcl_VarEval _ANSI_ARGS_( - TCL_VARARGS(Tcl_Interp *,interp)); -EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp *interp, - char *varName, int flags, - Tcl_VarTraceProc *procPtr, - ClientData prevClientData)); -EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, - Tcl_VarTraceProc *procPtr, - ClientData prevClientData)); -EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time *timePtr)); -EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int *statPtr, - int options)); -EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, - char *s, int slen)); -EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], char *message)); -#undef TCL_STORAGE_CLASS -#define TCL_STORAGE_CLASS +/* + * In later releases, Tcl_Panic will be the correct name to use. For now + * we leave it as panic to avoid breaking existing binaries. + */ + +#define Tcl_Panic panic +#define Tcl_PanicVA panicVA + +/* + * The following constant is used to test for older versions of Tcl + * in the stubs tables. + * + * The plus patch implementation uses 0xFCA1BACF so we need to pick + * a different value to avoid accidental matches. + */ + +#define TCL_STUB_MAGIC 0xFCA3BACF + +/* + * The following function is required to be defined in all stubs aware + * extensions. The function is actually implemented in the stub + * library, not the main Tcl library, although there is a trivial + * implementation in the main library in case an extension is statically + * linked into an application. + */ + +EXTERN char * Tcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, + char *version, int exact)); + +/* + * Include the public function declarations that are accessible via + * the stubs table. + */ + +#include "tclDecls.h" + +/* + * Public functions that are not accessible via the stubs table. + */ + +EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp *interp)); +EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, + Tcl_AppInitProc *appInitProc)); /* * Convenience declaration of Tcl_AppInit for backwards compatibility. @@ -1570,7 +1110,10 @@ EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp *interp, * class is neither DLLEXPORT nor DLLIMPORT */ -EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); +#undef TCL_STORAGE_CLASS +#define TCL_STORAGE_CLASS + +EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); #endif /* RESOURCE_INCLUDED */ diff --git a/generic/tclAlloc.c b/generic/tclAlloc.c index 6111a7c..f22efff 100644 --- a/generic/tclAlloc.c +++ b/generic/tclAlloc.c @@ -14,12 +14,14 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclAlloc.c,v 1.3 1999/01/06 21:08:51 stanton Exp $ + * RCS: @(#) $Id: tclAlloc.c,v 1.4 1999/03/10 05:52:46 stanton Exp $ */ #include "tclInt.h" #include "tclPort.h" +#ifndef USE_NATIVE_MALLOC + #ifdef TCL_DEBUG # define DEBUG /* #define MSTATS */ @@ -125,9 +127,6 @@ char * TclpAlloc( unsigned int nbytes) /* Number of bytes to allocate. */ { -#ifdef USE_NATIVEMALLOC - return (char*) malloc(nbytes); -#else register union overhead *op; register long bucket; register unsigned amt; @@ -206,7 +205,6 @@ TclpAlloc( *(unsigned short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC; #endif return ((char *)(op + 1)); -#endif /* USE_NATIVEMALLOC */ } /* @@ -283,10 +281,6 @@ void TclpFree( char *cp) /* Pointer to memory to free. */ { -#ifdef USE_NATIVEMALLOC - free(cp); - return; -#else register long size; register union overhead *op; @@ -318,7 +312,6 @@ TclpFree( #ifdef MSTATS nmalloc[size]--; #endif -#endif /* USE_NATIVEMALLOC */ } /* @@ -342,9 +335,6 @@ TclpRealloc( char *cp, /* Pointer to alloced block. */ unsigned int nbytes) /* New size of memory. */ { -#ifdef USE_NATIVEMALLOC - return (char*) realloc(cp, nbytes); -#else int i; union overhead *op; int expensive; @@ -419,7 +409,6 @@ TclpRealloc( *(unsigned short *)((caddr_t)(op + 1) + op->ov_size) = RMAGIC; #endif return(cp); -#endif /* USE_NATIVEMALLOC */ } /* @@ -468,3 +457,78 @@ mstats( } #endif +#else /* USE_NATIVE_MALLOC */ + + +/* + *---------------------------------------------------------------------- + * + * TclpAlloc -- + * + * Allocate more memory. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +TclpAlloc( + unsigned int nbytes) /* Number of bytes to allocate. */ +{ + return (char*) malloc(nbytes); +} + +/* + *---------------------------------------------------------------------- + * + * TclpFree -- + * + * Free memory. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +void +TclpFree( + char *cp) /* Pointer to memory to free. */ +{ + free(cp); + return; +} + +/* + *---------------------------------------------------------------------- + * + * TclpRealloc -- + * + * Reallocate memory. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +TclpRealloc( + char *cp, /* Pointer to alloced block. */ + unsigned int nbytes) /* New size of memory. */ +{ + return (char*) realloc(cp, nbytes); +} + +#endif /* USE_NATIVE_MALLOC */ diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 70c437e..74d8bd1 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.15 1999/02/03 00:55:04 stanton Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.16 1999/03/10 05:52:46 stanton Exp $ */ #include "tclInt.h" @@ -237,6 +237,35 @@ static CmdInfo builtInCmds[] = { /* *---------------------------------------------------------------------- * + * Tcl_InitStubs -- + * + * Ensures that the correct version of Tcl is loaded. This is + * a trivial implementation of the stubs library initializer + * that will get called if a stubs aware extension is directly + * linked with the Tcl library. + * + * Results: + * The actual version of Tcl that satisfies the request, or + * NULL to indicate that an error occurred. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +Tcl_InitStubs (interp, version, exact) + Tcl_Interp *interp; + char *version; + int exact; +{ + return Tcl_PkgRequire(interp, "Tcl", version, exact); +} + +/* + *---------------------------------------------------------------------- + * * Tcl_CreateInterp -- * * Create a new TCL command interpreter. @@ -340,6 +369,12 @@ Tcl_CreateInterp() iPtr->execEnvPtr = TclCreateExecEnv((Tcl_Interp *) iPtr); /* + * Initialise the stub table pointer. + */ + + iPtr->stubTable = tclStubsPtr; + + /* * Create the core commands. Do it here, rather than calling * Tcl_CreateCommand, because it's faster (there's no need to check for * a pre-existing command by the same name). If a command has a @@ -455,7 +490,8 @@ Tcl_CreateInterp() * Register Tcl's version number. */ - Tcl_PkgProvide((Tcl_Interp *) iPtr, "Tcl", TCL_VERSION); + Tcl_PkgProvideEx((Tcl_Interp *) iPtr, "Tcl", TCL_VERSION, + (ClientData) tclStubsPtr); return (Tcl_Interp *) iPtr; } @@ -3897,7 +3933,7 @@ Tcl_AddObjErrorInfo(interp, message, length) /* *---------------------------------------------------------------------- * - * Tcl_VarEval -- + * Tcl_VarEvalVA -- * * Given a variable number of string arguments, concatenate them * all together and execute the result as a Tcl command. @@ -3911,14 +3947,14 @@ Tcl_AddObjErrorInfo(interp, message, length) * *---------------------------------------------------------------------- */ - /* VARARGS2 */ /* ARGSUSED */ + int -Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_VarEvalVA (interp, argList) + Tcl_Interp *interp; /* Interpreter in which to evaluate command. */ + va_list argList; /* Variable argument list. */ { - va_list argList; Tcl_DString buf; char *string; - Tcl_Interp *interp; int result; /* @@ -3928,7 +3964,6 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) * space. */ - interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); Tcl_DStringInit(&buf); while (1) { string = va_arg(argList, char *); @@ -3937,7 +3972,6 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) } Tcl_DStringAppend(&buf, string, -1); } - va_end(argList); result = Tcl_Eval(interp, Tcl_DStringValue(&buf)); Tcl_DStringFree(&buf); @@ -3947,6 +3981,38 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) /* *---------------------------------------------------------------------- * + * Tcl_VarEval -- + * + * Given a variable number of string arguments, concatenate them + * all together and execute the result as a Tcl command. + * + * Results: + * A standard Tcl return result. An error message or other + * result may be left in interp->result. + * + * Side effects: + * Depends on what was done by the command. + * + *---------------------------------------------------------------------- + */ + /* VARARGS2 */ /* ARGSUSED */ +int +Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + int result; + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + result = Tcl_VarEvalVA(interp, argList); + va_end(argList); + + return result; +} + +/* + *---------------------------------------------------------------------- + * * Tcl_GlobalEval -- * * Evaluate a command at global level in an interpreter. diff --git a/generic/tclBinary.c b/generic/tclBinary.c index 60f3d90..e6d5d31 100644 --- a/generic/tclBinary.c +++ b/generic/tclBinary.c @@ -2,14 +2,15 @@ * tclBinary.c -- * * This file contains the implementation of the "binary" Tcl built-in - * command . + * command and the Tcl binary data object. * * Copyright (c) 1997 by Sun Microsystems, Inc. + * Copyright (c) 1998-1999 by Scriptics Corporation. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBinary.c,v 1.3 1998/09/14 18:39:57 stanton Exp $ + * RCS: @(#) $Id: tclBinary.c,v 1.4 1999/03/10 05:52:46 stanton Exp $ */ #include <math.h> @@ -28,11 +29,462 @@ * Prototypes for local procedures defined in this file: */ +static void DupByteArrayInternalRep _ANSI_ARGS_((Tcl_Obj *srcPtr, + Tcl_Obj *copyPtr)); +static int FormatNumber _ANSI_ARGS_((Tcl_Interp *interp, int type, + Tcl_Obj *src, unsigned char **cursorPtr)); +static void FreeByteArrayInternalRep _ANSI_ARGS_((Tcl_Obj *objPtr)); static int GetFormatSpec _ANSI_ARGS_((char **formatPtr, char *cmdPtr, int *countPtr)); -static int FormatNumber _ANSI_ARGS_((Tcl_Interp *interp, int type, - Tcl_Obj *src, char **cursorPtr)); -static Tcl_Obj * ScanNumber _ANSI_ARGS_((char *buffer, int type)); +static Tcl_Obj * ScanNumber _ANSI_ARGS_((unsigned char *buffer, + int type)); +static int SetByteArrayFromAny _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *objPtr)); +static void UpdateStringOfByteArray _ANSI_ARGS_((Tcl_Obj *listPtr)); + +/* + * The following object type represents an array of bytes. This type should + * be used to represent arbitrary binary data instead of a string object + * because although they are equivalent at the moment they will not be in + * future versions which support unicode. + */ + +Tcl_ObjType tclByteArrayType = { + "bytearray", + FreeByteArrayInternalRep, + DupByteArrayInternalRep, + UpdateStringOfByteArray, + SetByteArrayFromAny +}; + +/* + * The following structure is the internal rep for a ByteArray object. + * Keeps track of how much memory has been used and how much has been + * allocated for the byte array to enable growing and shrinking of the + * ByteArray object with fewer mallocs. + */ + +typedef struct ByteArray { + int used; /* The number of bytes used in the byte + * array. */ + int allocated; /* The amount of space actually allocated + * minus 1 byte. */ + unsigned char bytes[4]; /* The array of bytes. The actual size of + * this field depends on the 'allocated' field + * above. */ +} ByteArray; + +#define BYTEARRAY_SIZE(len) \ + ((unsigned) (sizeof(ByteArray) - 4 + (len))) +#define GET_BYTEARRAY(objPtr) \ + ((ByteArray *) (objPtr)->internalRep.otherValuePtr) +#define SET_BYTEARRAY(objPtr, baPtr) \ + (objPtr)->internalRep.otherValuePtr = (VOID *) (baPtr) + + +/* + *--------------------------------------------------------------------------- + * + * Tcl_NewByteArrayObj -- + * + * This procedure is normally called when not debugging: i.e., when + * TCL_MEM_DEBUG is not defined. It creates a new ByteArray object and + * initializes it from the given array of bytes. + * + * When TCL_MEM_DEBUG is defined, this procedure just returns the + * result of calling the debugging version Tcl_DbNewByteArrayObj. + * + * Results: + * The newly create object is returned. This object will have no + * initial string representation. The returned object has a ref count + * of 0. + * + * Side effects: + * Memory allocated for new object and copy of byte array argument. + * + *--------------------------------------------------------------------------- + */ + +#ifdef TCL_MEM_DEBUG +#undef Tcl_NewByteArrayObj + +Tcl_Obj * +Tcl_NewByteArrayObj(bytes, length) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + return Tcl_DbNewByteArrayObj(bytes, length, "unknown", 0); +} + +#else /* if not TCL_MEM_DEBUG */ + +Tcl_Obj * +Tcl_NewByteArrayObj(bytes, length) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + Tcl_Obj *objPtr; + + TclNewObj(objPtr); + Tcl_SetByteArrayObj(objPtr, bytes, length); + return objPtr; +} +#endif /* TCL_MEM_DEBUG */ + +/* + *--------------------------------------------------------------------------- + * + * Tcl_DbNewByteArrayObj -- + * + * This procedure is normally called when debugging: i.e., when + * TCL_MEM_DEBUG is defined. It is the same as the Tcl_NewByteArrayObj + * above except that it calls Tcl_DbCkalloc directly with the file name + * and line number from its caller. This simplifies debugging since then + * the checkmem command will report the correct file name and line number + * when reporting objects that haven't been freed. + * + * When TCL_MEM_DEBUG is not defined, this procedure just returns the + * result of calling Tcl_NewByteArrayObj. + * + * Results: + * The newly create object is returned. This object will have no + * initial string representation. The returned object has a ref count + * of 0. + * + * Side effects: + * Memory allocated for new object and copy of byte array argument. + * + *--------------------------------------------------------------------------- + */ + +#ifdef TCL_MEM_DEBUG + +Tcl_Obj * +Tcl_DbNewByteArrayObj(bytes, length, file, line) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ + char *file; /* The name of the source file calling this + * procedure; used for debugging. */ + int line; /* Line number in the source file; used + * for debugging. */ +{ + Tcl_Obj *objPtr; + + TclDbNewObj(objPtr, file, line); + Tcl_SetByteArrayObj(objPtr, bytes, length); + return objPtr; +} + +#else /* if not TCL_MEM_DEBUG */ + +Tcl_Obj * +Tcl_DbNewByteArrayObj(bytes, length, file, line) + unsigned char *bytes; /* The array of bytes used to initialize + * the new object. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ + char *file; /* The name of the source file calling this + * procedure; used for debugging. */ + int line; /* Line number in the source file; used + * for debugging. */ +{ + return Tcl_NewByteArrayObj(bytes, length); +} +#endif /* TCL_MEM_DEBUG */ + +/* + *--------------------------------------------------------------------------- + * + * Tcl_SetByteArrayObj -- + * + * Modify an object to be a ByteArray object and to have the specified + * array of bytes as its value. + * + * Results: + * None. + * + * Side effects: + * The object's old string rep and internal rep is freed. + * Memory allocated for copy of byte array argument. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_SetByteArrayObj(objPtr, bytes, length) + Tcl_Obj *objPtr; /* Object to initialize as a ByteArray. */ + unsigned char *bytes; /* The array of bytes to use as the new + * value. */ + int length; /* Length of the array of bytes, which must + * be >= 0. */ +{ + Tcl_ObjType *typePtr; + ByteArray *byteArrayPtr; + + if (Tcl_IsShared(objPtr)) { + panic("Tcl_SetByteArrayObj called with shared object"); + } + typePtr = objPtr->typePtr; + if ((typePtr != NULL) && (typePtr->freeIntRepProc != NULL)) { + (*typePtr->freeIntRepProc)(objPtr); + } + Tcl_InvalidateStringRep(objPtr); + + byteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + byteArrayPtr->used = length; + byteArrayPtr->allocated = length; + memcpy((VOID *) byteArrayPtr->bytes, (VOID *) bytes, (size_t) length); + + objPtr->typePtr = &tclByteArrayType; + SET_BYTEARRAY(objPtr, byteArrayPtr); +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_GetByteArrayFromObj -- + * + * Attempt to get the array of bytes from the Tcl object. If the + * object is not already a ByteArray object, an attempt will be + * made to convert it to one. + * + * Results: + * Pointer to array of bytes representing the ByteArray object. + * + * Side effects: + * Frees old internal rep. Allocates memory for new internal rep. + * + *---------------------------------------------------------------------- + */ + +unsigned char * +Tcl_GetByteArrayFromObj(objPtr, lengthPtr) + Tcl_Obj *objPtr; /* The ByteArray object. */ + int *lengthPtr; /* If non-NULL, filled with length of the + * array of bytes in the ByteArray object. */ +{ + ByteArray *baPtr; + + SetByteArrayFromAny(NULL, objPtr); + baPtr = GET_BYTEARRAY(objPtr); + + if (lengthPtr != NULL) { + *lengthPtr = baPtr->used; + } + return (unsigned char *) baPtr->bytes; +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_SetByteArrayLength -- + * + * This procedure changes the length of the byte array for this + * object. Once the caller has set the length of the array, it + * is acceptable to directly modify the bytes in the array up until + * Tcl_GetStringFromObj() has been called on this object. + * + * Results: + * The new byte array of the specified length. + * + * Side effects: + * Allocates enough memory for an array of bytes of the requested + * size. When growing the array, the old array is copied to the + * new array; new bytes are undefined. When shrinking, the + * old array is truncated to the specified length. + * + *--------------------------------------------------------------------------- + */ + +unsigned char * +Tcl_SetByteArrayLength(objPtr, length) + Tcl_Obj *objPtr; /* The ByteArray object. */ + int length; /* New length for internal byte array. */ +{ + ByteArray *byteArrayPtr, *newByteArrayPtr; + + if (Tcl_IsShared(objPtr)) { + panic("Tcl_SetObjLength called with shared object"); + } + if (objPtr->typePtr != &tclByteArrayType) { + SetByteArrayFromAny(NULL, objPtr); + } + + byteArrayPtr = GET_BYTEARRAY(objPtr); + if (length > byteArrayPtr->allocated) { + newByteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + newByteArrayPtr->used = length; + newByteArrayPtr->allocated = length; + memcpy((VOID *) newByteArrayPtr->bytes, + (VOID *) byteArrayPtr->bytes, (size_t) byteArrayPtr->used); + ckfree((char *) byteArrayPtr); + byteArrayPtr = newByteArrayPtr; + SET_BYTEARRAY(objPtr, byteArrayPtr); + } + Tcl_InvalidateStringRep(objPtr); + byteArrayPtr->used = length; + return byteArrayPtr->bytes; +} + +/* + *--------------------------------------------------------------------------- + * + * SetByteArrayFromAny -- + * + * Generate the ByteArray internal rep from the string rep. + * + * Results: + * The return value is always TCL_OK. + * + * Side effects: + * A ByteArray object is stored as the internal rep of objPtr. + * + *--------------------------------------------------------------------------- + */ + +static int +SetByteArrayFromAny(interp, objPtr) + Tcl_Interp *interp; /* Not used. */ + Tcl_Obj *objPtr; /* The object to convert to type ByteArray. */ +{ + Tcl_ObjType *typePtr; + int length; + char *src; + ByteArray *byteArrayPtr; + + typePtr = objPtr->typePtr; + if (typePtr != &tclByteArrayType) { + src = Tcl_GetStringFromObj(objPtr, &length); + + byteArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + memcpy((VOID *) byteArrayPtr->bytes, (VOID *) src, (size_t) length); + + byteArrayPtr->used = length; + byteArrayPtr->allocated = length; + + if ((typePtr != NULL) && (typePtr->freeIntRepProc) != NULL) { + (*typePtr->freeIntRepProc)(objPtr); + } + objPtr->typePtr = &tclByteArrayType; + SET_BYTEARRAY(objPtr, byteArrayPtr); + } + return TCL_OK; +} + +/* + *---------------------------------------------------------------------- + * + * FreeByteArrayInternalRep -- + * + * Deallocate the storage associated with a ByteArray data object's + * internal representation. + * + * Results: + * None. + * + * Side effects: + * Frees memory. + * + *---------------------------------------------------------------------- + */ + +static void +FreeByteArrayInternalRep(objPtr) + Tcl_Obj *objPtr; /* Object with internal rep to free. */ +{ + ckfree((char *) GET_BYTEARRAY(objPtr)); +} + +/* + *--------------------------------------------------------------------------- + * + * DupByteArrayInternalRep -- + * + * Initialize the internal representation of a ByteArray Tcl_Obj + * to a copy of the internal representation of an existing ByteArray + * object. + * + * Results: + * None. + * + * Side effects: + * Allocates memory. + * + *--------------------------------------------------------------------------- + */ + +static void +DupByteArrayInternalRep(srcPtr, copyPtr) + Tcl_Obj *srcPtr; /* Object with internal rep to copy. */ + Tcl_Obj *copyPtr; /* Object with internal rep to set. */ +{ + int length; + ByteArray *srcArrayPtr, *copyArrayPtr; + + srcArrayPtr = GET_BYTEARRAY(srcPtr); + length = srcArrayPtr->used; + + copyArrayPtr = (ByteArray *) ckalloc(BYTEARRAY_SIZE(length)); + copyArrayPtr->used = length; + copyArrayPtr->allocated = length; + memcpy((VOID *) copyArrayPtr->bytes, (VOID *) srcArrayPtr->bytes, + (size_t) length); + SET_BYTEARRAY(copyPtr, copyArrayPtr); +} + +/* + *--------------------------------------------------------------------------- + * + * UpdateStringOfByteArray -- + * + * Update the string representation for a ByteArray data object. + * Note: This procedure does not invalidate an existing old string rep + * so storage will be lost if this has not already been done. + * + * Results: + * None. + * + * Side effects: + * The object's string is set to a valid string that results from + * the ByteArray-to-string conversion. + * + * The object becomes a string object -- the internal rep is + * discarded and the typePtr becomes NULL. + * + *--------------------------------------------------------------------------- + */ + +static void +UpdateStringOfByteArray(objPtr) + Tcl_Obj *objPtr; /* ByteArray object whose string rep to + * update. */ +{ + int length; + unsigned char *src; + char *dst; + ByteArray *byteArrayPtr; + + byteArrayPtr = GET_BYTEARRAY(objPtr); + src = byteArrayPtr->bytes; + length = byteArrayPtr->used; + + /* + * The byte array is the string representation. + */ + + dst = (char *) ckalloc((unsigned) (length + 1)); + objPtr->bytes = dst; + objPtr->length = length; + + memcpy((VOID *) dst, (VOID *) src, (size_t) length); + dst[length] = '\0'; +} /* *---------------------------------------------------------------------- @@ -65,13 +517,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) * character. */ char *format; /* Pointer to current position in format * string. */ - char *cursor; /* Current position within result buffer. */ - char *maxPos; /* Greatest position within result buffer that + Tcl_Obj *resultPtr; /* Object holding result buffer. */ + unsigned char *buffer; /* Start of result buffer. */ + unsigned char *cursor; /* Current position within result buffer. */ + unsigned char *maxPos; /* Greatest position within result buffer that * cursor has visited.*/ - char *buffer; /* Start of data buffer. */ char *errorString, *errorValue, *str; int offset, size, length; - Tcl_Obj *resultPtr; static char *subCmds[] = { "format", "scan", (char *) NULL }; enum { BinaryFormat, BinaryScan } index; @@ -121,7 +573,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto badIndex; } if (count == BINARY_ALL) { - (void)Tcl_GetStringFromObj(objv[arg], &count); + Tcl_GetByteArrayFromObj(objv[arg], &count); } else if (count == BINARY_NOCOUNT) { count = 1; } @@ -241,8 +693,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) */ resultPtr = Tcl_GetObjResult(interp); - Tcl_SetObjLength(resultPtr, length); - buffer = Tcl_GetStringFromObj(resultPtr, NULL); + buffer = Tcl_SetByteArrayLength(resultPtr, length); memset(buffer, 0, (size_t) length); /* @@ -267,8 +718,9 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) case 'a': case 'A': { char pad = (char) (cmd == 'a' ? '\0' : ' '); + unsigned char *bytes; - str = Tcl_GetStringFromObj(objv[arg++], &length); + bytes = Tcl_GetByteArrayFromObj(objv[arg++], &length); if (count == BINARY_ALL) { count = length; @@ -276,10 +728,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) count = 1; } if (length >= count) { - memcpy((VOID *) cursor, (VOID *) str, + memcpy((VOID *) cursor, (VOID *) bytes, (size_t) count); } else { - memcpy((VOID *) cursor, (VOID *) str, + memcpy((VOID *) cursor, (VOID *) bytes, (size_t) length); memset(cursor+length, pad, (size_t) (count - length)); @@ -289,7 +741,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'b': case 'B': { - char *last; + unsigned char *last; str = Tcl_GetStringFromObj(objv[arg++], &length); if (count == BINARY_ALL) { @@ -347,7 +799,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'h': case 'H': { - char *last; + unsigned char *last; int c; str = Tcl_GetStringFromObj(objv[arg++], &length); @@ -491,7 +943,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) "value formatString ?varName varName ...?"); return TCL_ERROR; } - buffer = Tcl_GetStringFromObj(objv[2], &length); + buffer = Tcl_GetByteArrayFromObj(objv[2], &length); format = Tcl_GetStringFromObj(objv[3], NULL); cursor = buffer; arg = 4; @@ -502,7 +954,9 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } switch (cmd) { case 'a': - case 'A': + case 'A': { + unsigned char *src; + if (arg >= objc) { goto badIndex; } @@ -517,7 +971,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } } - str = buffer + offset; + src = buffer + offset; size = count; /* @@ -526,13 +980,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (cmd == 'A') { while (size > 0) { - if (str[size-1] != '\0' && str[size-1] != ' ') { + if (src[size-1] != '\0' && src[size-1] != ' ') { break; } size--; } } - valuePtr = Tcl_NewStringObj(str, size); + valuePtr = Tcl_NewByteArrayObj(src, size); resultPtr = Tcl_ObjSetVar2(interp, objv[arg++], NULL, valuePtr, TCL_LEAVE_ERR_MSG | TCL_PARSE_PART1); @@ -542,8 +996,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } offset += count; break; + } case 'b': case 'B': { + unsigned char *src; char *dest; if (arg >= objc) { @@ -559,7 +1015,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } } - str = buffer + offset; + src = buffer + offset; valuePtr = Tcl_NewObj(); Tcl_SetObjLength(valuePtr, count); dest = Tcl_GetStringFromObj(valuePtr, NULL); @@ -569,7 +1025,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 8) { value >>= 1; } else { - value = *str++; + value = *src++; } *dest++ = (char) ((value & 1) ? '1' : '0'); } @@ -578,7 +1034,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 8) { value <<= 1; } else { - value = *str++; + value = *src++; } *dest++ = (char) ((value & 0x80) ? '1' : '0'); } @@ -596,6 +1052,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) } case 'h': case 'H': { + unsigned char *src; char *dest; int i; static char hexdigit[] = "0123456789abcdef"; @@ -613,7 +1070,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } } - str = buffer + offset; + src = buffer + offset; valuePtr = Tcl_NewObj(); Tcl_SetObjLength(valuePtr, count); dest = Tcl_GetStringFromObj(valuePtr, NULL); @@ -623,7 +1080,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 2) { value >>= 4; } else { - value = *str++; + value = *src++; } *dest++ = hexdigit[value & 0xf]; } @@ -632,7 +1089,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) if (i % 2) { value <<= 4; } else { - value = *str++; + value = *src++; } *dest++ = hexdigit[(value >> 4) & 0xf]; } @@ -662,10 +1119,13 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) case 'f': size = sizeof(float); goto scanNumber; - case 'd': + case 'd': { + unsigned char *src; + size = sizeof(double); /* fall through */ - scanNumber: + + scanNumber: if (arg >= objc) { goto badIndex; } @@ -683,10 +1143,10 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) goto done; } valuePtr = Tcl_NewObj(); - str = buffer+offset; + src = buffer+offset; for (i = 0; i < count; i++) { - elementPtr = ScanNumber(str, cmd); - str += size; + elementPtr = ScanNumber(src, cmd); + src += size; Tcl_ListObjAppendElement(NULL, valuePtr, elementPtr); } @@ -701,6 +1161,7 @@ Tcl_BinaryObjCmd(dummy, interp, objc, objv) return TCL_ERROR; } break; + } case 'x': if (count == BINARY_NOCOUNT) { count = 1; @@ -860,7 +1321,7 @@ FormatNumber(interp, type, src, cursorPtr) * errors. */ int type; /* Type of number to format. */ Tcl_Obj *src; /* Number to format. */ - char **cursorPtr; /* Pointer to index into destination buffer. */ + unsigned char **cursorPtr; /* Pointer to index into destination buffer. */ { int value; double dvalue; @@ -942,7 +1403,7 @@ FormatNumber(interp, type, src, cursorPtr) static Tcl_Obj * ScanNumber(buffer, type) - char *buffer; /* Buffer to scan number from. */ + unsigned char *buffer; /* Buffer to scan number from. */ int type; /* Format character from "binary scan" */ { int value; diff --git a/generic/tclCkalloc.c b/generic/tclCkalloc.c index db33846..61d4623 100644 --- a/generic/tclCkalloc.c +++ b/generic/tclCkalloc.c @@ -12,7 +12,7 @@ * * This code contributed by Karl Lehenbauer and Mark Diekhans * - * RCS: @(#) $Id: tclCkalloc.c,v 1.2 1998/09/14 18:39:57 stanton Exp $ + * RCS: @(#) $Id: tclCkalloc.c,v 1.3 1999/03/10 05:52:47 stanton Exp $ */ #include "tclInt.h" @@ -661,7 +661,7 @@ Tcl_InitMemory(interp) (Tcl_CmdDeleteProc *) NULL); } -#else +#else /* TCL_MEM_DEBUG */ /* @@ -778,8 +778,8 @@ Tcl_DbCkfree(ptr, file, line) /* *---------------------------------------------------------------------- * - * Tcl_InitMemory -- - * Dummy initialization for memory command, which is only available + * Tcl_InitMemory, et al. -- + * Dummy implementations of memory routines, which is only available * if TCL_MEM_DEBUG is on. * *---------------------------------------------------------------------- @@ -794,10 +794,6 @@ Tcl_InitMemory(interp) #undef Tcl_DumpActiveMemory #undef Tcl_ValidateAllMemory -extern int Tcl_DumpActiveMemory _ANSI_ARGS_((char *fileName)); -extern void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, - int line)); - int Tcl_DumpActiveMemory(fileName) char *fileName; @@ -812,4 +808,10 @@ Tcl_ValidateAllMemory(file, line) { } -#endif +void +TclDumpMemoryInfo(outFile) + FILE *outFile; +{ +} + +#endif /* TCL_MEM_DEBUG */ diff --git a/generic/tclClock.c b/generic/tclClock.c index d550aaa..bd96000 100644 --- a/generic/tclClock.c +++ b/generic/tclClock.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclClock.c,v 1.2 1998/09/14 18:39:57 stanton Exp $ + * RCS: @(#) $Id: tclClock.c,v 1.3 1999/03/10 05:52:47 stanton Exp $ */ #include "tcl.h" @@ -263,7 +263,7 @@ FormatClock(interp, clockVal, useGMT, format) } #endif - timeDataPtr = TclpGetDate((time_t *) &clockVal, useGMT); + timeDataPtr = TclpGetDate((TclpTime_t) &clockVal, useGMT); /* * Make a guess at the upper limit on the substituted string size diff --git a/generic/tclCompile.h b/generic/tclCompile.h index afe3f3e..44eac12 100644 --- a/generic/tclCompile.h +++ b/generic/tclCompile.h @@ -6,7 +6,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompile.h,v 1.8 1998/09/14 18:39:58 stanton Exp $ + * RCS: @(#) $Id: tclCompile.h,v 1.9 1999/03/10 05:52:47 stanton Exp $ */ #ifndef _TCLCOMPILATION @@ -152,58 +152,6 @@ typedef struct CmdLocation { } CmdLocation; /* - * CompileProcs need the ability to record information during compilation - * that can be used by bytecode instructions during execution. The AuxData - * structure provides this "auxiliary data" mechanism. An arbitrary number - * of these structures can be stored in the ByteCode record (during - * compilation they are stored in a CompileEnv structure). Each AuxData - * record holds one word of client-specified data (often a pointer) and is - * given an index that instructions can later use to look up the structure - * and its data. - * - * The following definitions declare the types of procedures that are called - * to duplicate or free this auxiliary data when the containing ByteCode - * objects are duplicated and freed. Pointers to these procedures are kept - * in the AuxData structure. - */ - -typedef ClientData (AuxDataDupProc) _ANSI_ARGS_((ClientData clientData)); -typedef void (AuxDataFreeProc) _ANSI_ARGS_((ClientData clientData)); - -/* - * We define a separate AuxDataType struct to hold type-related information - * for the AuxData structure. This separation makes it possible for clients - * outside of the TCL core to manipulate (in a limited fashion!) AuxData; - * for example, it makes it possible to pickle and unpickle AuxData structs. - */ - -typedef struct AuxDataType { - char *name; /* the name of the type. Types can be - * registered and found by name */ - AuxDataDupProc *dupProc; /* Callback procedure to invoke when the - * aux data is duplicated (e.g., when the - * ByteCode structure containing the aux - * data is duplicated). NULL means just - * copy the source clientData bits; no - * proc need be called. */ - AuxDataFreeProc *freeProc; /* Callback procedure to invoke when the - * aux data is freed. NULL means no - * proc need be called. */ -} AuxDataType; - -/* - * The definition of the AuxData structure that holds information created - * during compilation by CompileProcs and used by instructions during - * execution. - */ - -typedef struct AuxData { - AuxDataType *type; /* pointer to the AuxData type associated with - * this ClientData. */ - ClientData clientData; /* The compilation data itself. */ -} AuxData; - -/* * Structure defining the compilation environment. After compilation, fields * describing bytecode instructions are copied out into the more compact * ByteCode structure defined below. @@ -785,12 +733,11 @@ EXTERN int TclCompileDollarVar _ANSI_ARGS_((Tcl_Interp *interp, char *string, char *lastChar, int flags, CompileEnv *envPtr)); EXTERN int TclCreateAuxData _ANSI_ARGS_((ClientData clientData, - AuxDataType *typePtr, CompileEnv *envPtr)); + AuxDataType *typePtr, CompileEnv *envPtr)); EXTERN ExecEnv * TclCreateExecEnv _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN void TclDeleteExecEnv _ANSI_ARGS_((ExecEnv *eePtr)); EXTERN void TclEmitForwardJump _ANSI_ARGS_((CompileEnv *envPtr, TclJumpType jumpType, JumpFixup *jumpFixupPtr)); -EXTERN AuxDataType *TclGetAuxDataType _ANSI_ARGS_((char *typeName)); EXTERN ExceptionRange * TclGetExceptionRangeForPc _ANSI_ARGS_(( unsigned char *pc, int catchOnly, ByteCode* codePtr)); diff --git a/generic/tclDate.c b/generic/tclDate.c index 7afe99c..eb87b76 100644 --- a/generic/tclDate.c +++ b/generic/tclDate.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclDate.c,v 1.2 1998/09/14 18:39:58 stanton Exp $ + * RCS: @(#) $Id: tclDate.c,v 1.3 1999/03/10 05:52:47 stanton Exp $ */ #include "tclInt.h" @@ -441,7 +441,7 @@ Convert(Month, Day, Year, Hours, Minutes, Seconds, Meridian, DSTmode, TimePtr) return -1; Julian += tod; if (DSTmode == DSTon - || (DSTmode == DSTmaybe && TclpGetDate(&Julian, 0)->tm_isdst)) + || (DSTmode == DSTmaybe && TclpGetDate((TclpTime_t)&Julian, 0)->tm_isdst)) Julian -= 60 * 60; *TimePtr = Julian; return 0; @@ -456,8 +456,8 @@ DSTcorrect(Start, Future) time_t StartDay; time_t FutureDay; - StartDay = (TclpGetDate(&Start, 0)->tm_hour + 1) % 24; - FutureDay = (TclpGetDate(&Future, 0)->tm_hour + 1) % 24; + StartDay = (TclpGetDate((TclpTime_t)&Start, 0)->tm_hour + 1) % 24; + FutureDay = (TclpGetDate((TclpTime_t)&Future, 0)->tm_hour + 1) % 24; return (Future - Start) + (StartDay - FutureDay) * 60L * 60L; } @@ -472,7 +472,7 @@ RelativeDate(Start, DayOrdinal, DayNumber) time_t now; now = Start; - tm = TclpGetDate(&now, 0); + tm = TclpGetDate((TclpTime_t)&now, 0); now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7); now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1); return DSTcorrect(Start, now); @@ -495,7 +495,7 @@ RelativeMonth(Start, RelMonth, TimePtr) *TimePtr = 0; return 0; } - tm = TclpGetDate(&Start, 0); + tm = TclpGetDate((TclpTime_t)&Start, 0); Month = 12 * (tm->tm_year + TM_YEAR_BASE) + tm->tm_mon + RelMonth; Year = Month / 12; Month = Month % 12 + 1; @@ -726,7 +726,7 @@ TclGetDate(p, now, zone, timePtr) int thisyear; TclDateInput = p; - tm = TclpGetDate((time_t *) &now, 0); + tm = TclpGetDate((TclpTime_t) &now, 0); thisyear = tm->tm_year + TM_YEAR_BASE; TclDateYear = thisyear; TclDateMonth = tm->tm_mon + 1; diff --git a/generic/tclDecls.h b/generic/tclDecls.h index 8c65c35..bacabe0 100644 --- a/generic/tclDecls.h +++ b/generic/tclDecls.h @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclDecls.h,v 1.2 1999/03/04 01:01:57 stanton Exp $ + * RCS: @(#) $Id: tclDecls.h,v 1.3 1999/03/10 05:52:47 stanton Exp $ */ #ifndef _TCLDECLS @@ -27,832 +27,848 @@ */ /* 0 */ -EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, - char * message)); +EXTERN int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version, + ClientData clientData)); /* 1 */ -EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, - char * message, int length)); +EXTERN char * Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version, int exact, + ClientData * clientDataPtr)); /* 2 */ -EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); +EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 3 */ -EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp * interp)); +EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); /* 4 */ -EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * objPtr)); +EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr)); /* 5 */ -EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp * interp, - char * string)); +EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr, + unsigned int size)); /* 6 */ -EXTERN void Tcl_AppendResult _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); +EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, + char * file, int line)); /* 7 */ -EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp, - va_list argList)); +EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, char * file, + int line)); /* 8 */ -EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj * objPtr, - char * bytes, int length)); +EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, + unsigned int size, char * file, int line)); +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ /* 9 */ -EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); +EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, + Tcl_FileProc * proc, ClientData clientData)); +#endif /* UNIX */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ /* 10 */ -EXTERN void Tcl_AppendStringsToObjVA _ANSI_ARGS_(( - Tcl_Obj * objPtr, va_list argList)); +EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); +#endif /* UNIX */ /* 11 */ +EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time * timePtr)); +/* 12 */ +EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); +/* 13 */ +EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time * timePtr)); +/* 14 */ +EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr)); +/* 15 */ +EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); +/* 16 */ +EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj * objPtr, + char * bytes, int length)); +/* 17 */ +EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST objv[])); +/* 18 */ +EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); +/* 19 */ +EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, + char * file, int line)); +/* 20 */ +EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, + char * file, int line)); +/* 21 */ +EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr, + char * file, int line)); +/* 22 */ +EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, + char * file, int line)); +/* 23 */ +EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_(( + unsigned char * bytes, int length, + char * file, int line)); +/* 24 */ +EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, + char * file, int line)); +/* 25 */ +EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST objv[], char * file, int line)); +/* 26 */ +EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, + char * file, int line)); +/* 27 */ +EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char * file, int line)); +/* 28 */ +EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char * bytes, + int length, char * file, int line)); +/* 29 */ +EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 30 */ +EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj * objPtr)); +/* 31 */ +EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp * interp, + char * string, int * boolPtr)); +/* 32 */ +EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + int * boolPtr)); +/* 33 */ +EXTERN unsigned char * Tcl_GetByteArrayFromObj _ANSI_ARGS_(( + Tcl_Obj * objPtr, int * lengthPtr)); +/* 34 */ +EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp * interp, + char * string, double * doublePtr)); +/* 35 */ +EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * objPtr, + double * doublePtr)); +/* 36 */ +EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, char ** tablePtr, + char * msg, int flags, int * indexPtr)); +/* 37 */ +EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp * interp, + char * string, int * intPtr)); +/* 38 */ +EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, int * intPtr)); +/* 39 */ +EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr, long * longPtr)); +/* 40 */ +EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char * typeName)); +/* 41 */ +EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int * lengthPtr)); +/* 42 */ +EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( + Tcl_Obj * objPtr)); +/* 43 */ +EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + Tcl_Obj * elemListPtr)); +/* 44 */ +EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + Tcl_Obj * objPtr)); +/* 45 */ +EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Obj * listPtr, + int * objcPtr, Tcl_Obj *** objvPtr)); +/* 46 */ +EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int index, + Tcl_Obj ** objPtrPtr)); +/* 47 */ +EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int * intPtr)); +/* 48 */ +EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * listPtr, int first, int count, + int objc, Tcl_Obj *CONST objv[])); +/* 49 */ +EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); +/* 50 */ +EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_(( + unsigned char * bytes, int length)); +/* 51 */ +EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); +/* 52 */ +EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); +/* 53 */ +EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, + Tcl_Obj *CONST objv[])); +/* 54 */ +EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); +/* 55 */ +EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); +/* 56 */ +EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char * bytes, + int length)); +/* 57 */ +EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int boolValue)); +/* 58 */ +EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr, + int length)); +/* 59 */ +EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr, + unsigned char * bytes, int length)); +/* 60 */ +EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr, + double doubleValue)); +/* 61 */ +EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int intValue)); +/* 62 */ +EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj * objPtr, + int objc, Tcl_Obj *CONST objv[])); +/* 63 */ +EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj * objPtr, + long longValue)); +/* 64 */ +EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr, + int length)); +/* 65 */ +EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj * objPtr, + char * bytes, int length)); +/* 66 */ +EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, + char * message)); +/* 67 */ +EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp * interp, + char * message, int length)); +/* 68 */ +EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp * interp)); +/* 69 */ +EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp * interp, + char * string)); +/* 70 */ +EXTERN void Tcl_AppendResult _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); +/* 71 */ EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc * proc, ClientData clientData)); -/* 12 */ +/* 72 */ EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async)); -/* 13 */ +/* 73 */ EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp * interp, int code)); -/* 14 */ +/* 74 */ EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); -/* 15 */ +/* 75 */ EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void)); -/* 16 */ +/* 76 */ EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp * interp)); -/* 17 */ +/* 77 */ EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char * src, int * readPtr)); -/* 18 */ +/* 78 */ EXTERN int Tcl_BadChannelOption _ANSI_ARGS_(( Tcl_Interp * interp, char * optionName, char * optionList)); -/* 19 */ +/* 79 */ EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); -/* 20 */ +/* 80 */ EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_(( Tcl_IdleProc * idleProc, ClientData clientData)); -/* 21 */ +/* 81 */ EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); -/* 22 */ +/* 82 */ EXTERN int Tcl_CommandComplete _ANSI_ARGS_((char * cmd)); -/* 23 */ +/* 83 */ EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, char ** argv)); -/* 24 */ -EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -/* 25 */ +/* 84 */ +EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char * src, + char * dst, int flags)); +/* 85 */ EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_(( CONST char * src, int length, char * dst, int flags)); -/* 26 */ -EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char * src, - char * dst, int flags)); -/* 27 */ -EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); -/* 28 */ +/* 86 */ EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int argc, char ** argv)); -/* 29 */ +/* 87 */ EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int objc, Tcl_Obj *CONST objv[])); -/* 30 */ +/* 88 */ EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_(( Tcl_ChannelType * typePtr, char * chanName, ClientData instanceData, int mask)); -/* 31 */ +/* 89 */ EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_(( Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData)); -/* 32 */ +/* 90 */ EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); -/* 33 */ +/* 91 */ EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); -/* 34 */ +/* 92 */ EXTERN void Tcl_CreateEventSource _ANSI_ARGS_(( Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); -/* 35 */ +/* 93 */ EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_(( Tcl_ExitProc * proc, ClientData clientData)); -/* 36 */ +/* 94 */ EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void)); -/* 37 */ +/* 95 */ EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp * interp, char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData)); -/* 38 */ +/* 96 */ EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_(( Tcl_Interp * interp, char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); -/* 39 */ +/* 97 */ EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName, int isSafe)); -/* 40 */ +/* 98 */ EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds, Tcl_TimerProc * proc, ClientData clientData)); -/* 41 */ +/* 99 */ EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData)); -/* 42 */ -EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, - char * file, int line)); -/* 43 */ -EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, char * file, - int line)); -/* 44 */ -EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, - unsigned int size, char * file, int line)); -/* 45 */ -EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, - char * file, int line)); -/* 46 */ -EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj * objPtr, - char * file, int line)); -/* 47 */ -EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj * objPtr, - char * file, int line)); -/* 48 */ -EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, - char * file, int line)); -/* 49 */ -EXTERN Tcl_Obj * Tcl_DbNewByteArrayObj _ANSI_ARGS_(( - unsigned char * bytes, int length, - char * file, int line)); -/* 50 */ -EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, - char * file, int line)); -/* 51 */ -EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[], char * file, int line)); -/* 52 */ -EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, - char * file, int line)); -/* 53 */ -EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char * file, int line)); -/* 54 */ -EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char * bytes, - int length, char * file, int line)); -/* 55 */ +/* 100 */ EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp * interp, char * name)); -/* 56 */ -EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp * interp, - char * cmdName)); -/* 57 */ -EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Command command)); -/* 58 */ +/* 101 */ EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_(( Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData)); -/* 59 */ +/* 102 */ EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); -/* 60 */ +/* 103 */ +EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp * interp, + char * cmdName)); +/* 104 */ +EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( + Tcl_Interp * interp, Tcl_Command command)); +/* 105 */ EXTERN void Tcl_DeleteEvents _ANSI_ARGS_(( Tcl_EventDeleteProc * proc, ClientData clientData)); -/* 61 */ +/* 106 */ EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_(( Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); -/* 62 */ +/* 107 */ EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_(( Tcl_ExitProc * proc, ClientData clientData)); -/* 63 */ +/* 108 */ EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_(( Tcl_HashEntry * entryPtr)); -/* 64 */ +/* 109 */ EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_(( Tcl_HashTable * tablePtr)); -/* 65 */ +/* 110 */ EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp * interp)); -/* 66 */ +/* 111 */ +EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, + Tcl_Pid * pidPtr)); +/* 112 */ EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_(( Tcl_TimerToken token)); -/* 67 */ +/* 113 */ EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Trace trace)); -/* 68 */ -EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, - Tcl_Pid * pidPtr)); -/* 69 */ +/* 114 */ EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); -/* 70 */ +/* 115 */ EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags)); -/* 71 */ +/* 116 */ EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc * proc, ClientData clientData)); -/* 72 */ +/* 117 */ EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string, int length)); -/* 73 */ +/* 118 */ EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_(( Tcl_DString * dsPtr, CONST char * string)); -/* 74 */ +/* 119 */ EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_(( Tcl_DString * dsPtr)); -/* 75 */ +/* 120 */ EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString * dsPtr)); -/* 76 */ +/* 121 */ EXTERN void Tcl_DStringGetResult _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_DString * dsPtr)); -/* 77 */ +/* 122 */ EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString * dsPtr)); -/* 78 */ +/* 123 */ EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); -/* 79 */ +/* 124 */ EXTERN void Tcl_DStringSetLength _ANSI_ARGS_(( Tcl_DString * dsPtr, int length)); -/* 80 */ +/* 125 */ EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_(( Tcl_DString * dsPtr)); -/* 81 */ -EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char * fileName)); -/* 82 */ -EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj * objPtr)); -/* 83 */ +/* 126 */ EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan)); -/* 84 */ +/* 127 */ EXTERN char * Tcl_ErrnoId _ANSI_ARGS_((void)); -/* 85 */ +/* 128 */ EXTERN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err)); -/* 86 */ +/* 129 */ EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp * interp, char * string)); -/* 87 */ +/* 130 */ EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp * interp, char * fileName)); -/* 88 */ +/* 131 */ +EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * objPtr)); +/* 132 */ EXTERN void Tcl_EventuallyFree _ANSI_ARGS_(( ClientData clientData, Tcl_FreeProc * freeProc)); -/* 89 */ -EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * objPtr)); -/* 90 */ +/* 133 */ EXTERN void Tcl_Exit _ANSI_ARGS_((int status)); -/* 91 */ +/* 134 */ EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp * interp, char * hiddenCmdToken, char * cmdName)); -/* 92 */ +/* 135 */ EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * ptr)); -/* 93 */ +/* 136 */ EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr)); -/* 94 */ +/* 137 */ EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * ptr)); -/* 95 */ +/* 138 */ EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr)); -/* 96 */ +/* 139 */ EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * ptr)); -/* 97 */ +/* 140 */ EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr)); -/* 98 */ +/* 141 */ EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); -/* 99 */ +/* 142 */ EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp * interp, char * string)); -/* 100 */ +/* 143 */ EXTERN void Tcl_Finalize _ANSI_ARGS_((void)); -/* 101 */ +/* 144 */ EXTERN void Tcl_FindExecutable _ANSI_ARGS_((char * argv0)); -/* 102 */ +/* 145 */ EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_(( Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr)); -/* 103 */ +/* 146 */ EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan)); -/* 104 */ -EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr)); -/* 105 */ -EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj * objPtr)); -/* 106 */ +/* 147 */ EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp * interp)); -/* 107 */ +/* 148 */ EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * argcPtr, char *** argvPtr)); -/* 108 */ +/* 149 */ EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv)); -/* 109 */ +/* 150 */ EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc ** procPtr)); -/* 110 */ -EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp * interp, - char * string, int * boolPtr)); -/* 111 */ -EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * objPtr, - int * boolPtr)); -/* 112 */ -EXTERN unsigned char * Tcl_GetByteArrayFromObj _ANSI_ARGS_(( - Tcl_Obj * objPtr, int * lengthPtr)); -/* 113 */ +/* 151 */ EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp * interp, char * chanName, int * modePtr)); -/* 114 */ +/* 152 */ EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_(( Tcl_Channel chan)); -/* 115 */ +/* 153 */ EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData * handlePtr)); -/* 116 */ +/* 154 */ EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_(( Tcl_Channel chan)); -/* 117 */ +/* 155 */ EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan)); -/* 118 */ +/* 156 */ EXTERN char * Tcl_GetChannelName _ANSI_ARGS_((Tcl_Channel chan)); -/* 119 */ +/* 157 */ EXTERN int Tcl_GetChannelOption _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Channel chan, char * optionName, Tcl_DString * dsPtr)); -/* 120 */ +/* 158 */ EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan)); -/* 121 */ +/* 159 */ EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); -/* 122 */ +/* 160 */ EXTERN char * Tcl_GetCommandName _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); -/* 123 */ -EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp * interp, - char * string, double * doublePtr)); -/* 124 */ -EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * objPtr, - double * doublePtr)); -/* 125 */ +/* 161 */ EXTERN int Tcl_GetErrno _ANSI_ARGS_((void)); -/* 126 */ +/* 162 */ EXTERN char * Tcl_GetHostName _ANSI_ARGS_((void)); -/* 127 */ -EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * objPtr, char ** tablePtr, - char * msg, int flags, int * indexPtr)); -/* 128 */ -EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp * interp, - char * string, int * intPtr)); -/* 129 */ +/* 163 */ EXTERN int Tcl_GetInterpPath _ANSI_ARGS_(( Tcl_Interp * askInterp, Tcl_Interp * slaveInterp)); -/* 130 */ -EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * objPtr, int * intPtr)); -/* 131 */ -EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * objPtr, long * longPtr)); -/* 132 */ +/* 164 */ EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp * interp)); -/* 133 */ +/* 165 */ EXTERN CONST char * Tcl_GetNameOfExecutable _ANSI_ARGS_((void)); -/* 134 */ +/* 166 */ EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp * interp)); -/* 135 */ -EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char * typeName)); -/* 136 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 167 */ +EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp * interp, + char * string, int write, int checkUsage, + ClientData * filePtr)); +#endif /* UNIX */ +/* 168 */ EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((char * path)); -/* 137 */ +/* 169 */ EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString * dsPtr)); -/* 138 */ +/* 170 */ EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); -/* 139 */ +/* 171 */ EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void)); -/* 140 */ +/* 172 */ EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName)); -/* 141 */ +/* 173 */ EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type)); -/* 142 */ -EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj * objPtr, - int * lengthPtr)); -/* 143 */ +/* 174 */ EXTERN char * Tcl_GetStringResult _ANSI_ARGS_((Tcl_Interp * interp)); -/* 144 */ +/* 175 */ EXTERN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); -/* 145 */ +/* 176 */ EXTERN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); -/* 146 */ +/* 177 */ EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp * interp, char * command)); -/* 147 */ +/* 178 */ EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); -/* 148 */ -EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable * tablePtr)); -/* 149 */ +/* 179 */ EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, char * hiddenCmdToken)); -/* 150 */ +/* 180 */ EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp * interp)); -/* 151 */ +/* 181 */ EXTERN void Tcl_InitHashTable _ANSI_ARGS_(( Tcl_HashTable * tablePtr, int keyType)); -/* 152 */ +/* 182 */ EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan)); -/* 153 */ +/* 183 */ EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan)); -/* 154 */ +/* 184 */ EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp * interp)); -/* 155 */ +/* 185 */ EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp * interp)); -/* 156 */ -EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( - Tcl_Obj * objPtr)); -/* 157 */ +/* 186 */ EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, char ** argv, Tcl_DString * resultPtr)); -/* 158 */ +/* 187 */ EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * addr, int type)); -/* 159 */ -EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * listPtr, - Tcl_Obj * elemListPtr)); -/* 160 */ -EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * listPtr, - Tcl_Obj * objPtr)); -/* 161 */ -EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( - Tcl_Interp * interp, Tcl_Obj * listPtr, - int * objcPtr, Tcl_Obj *** objvPtr)); -/* 162 */ -EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * listPtr, int index, - Tcl_Obj ** objPtrPtr)); -/* 163 */ -EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * listPtr, int * intPtr)); -/* 164 */ -EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * listPtr, int first, int count, - int objc, Tcl_Obj *CONST objv[])); -/* 165 */ +/* Slot 188 is reserved */ +/* 189 */ EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle, int mode)); -/* 166 */ +/* 190 */ EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp * interp)); -/* 167 */ +/* 191 */ EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_(( ClientData tcpSocket)); -/* 168 */ +/* 192 */ EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, char ** argv)); -/* 169 */ -EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); -/* 170 */ -EXTERN Tcl_Obj * Tcl_NewByteArrayObj _ANSI_ARGS_(( - unsigned char * bytes, int length)); -/* 171 */ -EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); -/* 172 */ -EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); -/* 173 */ -EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, - Tcl_Obj *CONST objv[])); -/* 174 */ -EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); -/* 175 */ -EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); -/* 176 */ -EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char * bytes, - int length)); -/* 177 */ +/* 193 */ EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_(( Tcl_HashSearch * searchPtr)); -/* 178 */ +/* 194 */ EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel, int mask)); -/* 179 */ +/* 195 */ EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags)); -/* 180 */ +/* 196 */ EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags)); -/* 181 */ +/* 197 */ EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( Tcl_Interp * interp, int argc, char ** argv, int flags)); -/* 182 */ +/* 198 */ EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); -/* 183 */ +/* 199 */ EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp * interp, int port, char * address, char * myaddr, int myport, int async)); -/* 184 */ +/* 200 */ EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp * interp, int port, char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData)); -/* 185 */ -EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format)); -/* 186 */ -EXTERN void panicVA _ANSI_ARGS_((char * format, va_list argList)); -/* 187 */ -EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char ** termPtr)); -/* 188 */ -EXTERN char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version, int exact)); -/* 189 */ -EXTERN char * Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version, int exact, - ClientData * clientDataPtr)); -/* 190 */ -EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version)); -/* 191 */ -EXTERN int Tcl_PkgProvideEx _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version, - ClientData clientData)); -/* 192 */ -EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version, int exact)); -/* 193 */ -EXTERN char * Tcl_PkgRequireEx _ANSI_ARGS_((Tcl_Interp * interp, - char * name, char * version, int exact, - ClientData * clientDataPtr)); -/* 194 */ -EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp * interp)); -/* 195 */ +/* 201 */ EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data)); -/* 196 */ +/* 202 */ EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp * interp, double value, char * dst)); -/* 197 */ +/* 203 */ EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char * string)); -/* 198 */ +/* 204 */ +EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp * interp)); +/* 205 */ EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event * evPtr, Tcl_QueuePosition position)); -/* 199 */ +/* 206 */ EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan, char * bufPtr, int toRead)); -/* 200 */ -EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr, - unsigned int size)); -/* 201 */ +/* 207 */ EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); -/* 202 */ +/* 208 */ EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp * interp, char * cmd, int flags)); -/* 203 */ +/* 209 */ EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags)); -/* 204 */ +/* 210 */ +EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Channel chan)); +/* 211 */ +EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( + Tcl_ObjType * typePtr)); +/* 212 */ EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp * interp, char * string)); -/* 205 */ +/* 213 */ EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, char * string, char * start)); -/* 206 */ +/* 214 */ EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * pattern)); -/* 207 */ +/* 215 */ EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp, int index, char ** startPtr, char ** endPtr)); -/* 208 */ -EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Channel chan)); -/* 209 */ -EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( - Tcl_ObjType * typePtr)); -/* 210 */ +/* 216 */ EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData)); -/* 211 */ +/* 217 */ EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp * interp)); -/* 212 */ +/* 218 */ +EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char * string, + int * flagPtr)); +/* 219 */ EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_(( CONST char * string, int length, int * flagPtr)); -/* 213 */ -EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char * string, - int * flagPtr)); -/* 214 */ +/* 220 */ EXTERN int Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); -/* 215 */ +/* 221 */ EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void)); -/* 216 */ +/* 222 */ EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags)); -/* 217 */ +/* 223 */ EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc * proc, ClientData clientData)); -/* 218 */ -EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj * objPtr, - int boolValue)); -/* 219 */ -EXTERN unsigned char * Tcl_SetByteArrayLength _ANSI_ARGS_((Tcl_Obj * objPtr, - int length)); -/* 220 */ -EXTERN void Tcl_SetByteArrayObj _ANSI_ARGS_((Tcl_Obj * objPtr, - unsigned char * bytes, int length)); -/* 221 */ +/* 224 */ EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_(( Tcl_Channel chan, int sz)); -/* 222 */ +/* 225 */ EXTERN int Tcl_SetChannelOption _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Channel chan, char * optionName, char * newValue)); -/* 223 */ +/* 226 */ EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); -/* 224 */ -EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj * objPtr, - double doubleValue)); -/* 225 */ -EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); -/* 226 */ -EXTERN void Tcl_SetErrorCode _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 227 */ -EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp, - va_list argList)); +EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); /* 228 */ -EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj * objPtr, - int intValue)); +EXTERN void Tcl_SetErrorCode _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 229 */ -EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj * objPtr, - int objc, Tcl_Obj *CONST objv[])); -/* 230 */ -EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj * objPtr, - long longValue)); -/* 231 */ EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time * timePtr)); -/* 232 */ -EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * errorObjPtr)); -/* 233 */ -EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj * objPtr, - int length)); -/* 234 */ -EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Obj * resultObjPtr)); -/* 235 */ +/* 230 */ EXTERN void Tcl_SetPanicProc _ANSI_ARGS_(( Tcl_PanicProc * panicProc)); -/* 236 */ +/* 231 */ EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_(( Tcl_Interp * interp, int depth)); -/* 237 */ +/* 232 */ EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp * interp, char * string, Tcl_FreeProc * freeProc)); -/* 238 */ +/* 233 */ EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode)); -/* 239 */ +/* 234 */ +EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * errorObjPtr)); +/* 235 */ +EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Obj * resultObjPtr)); +/* 236 */ EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel, int type)); -/* 240 */ -EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj * objPtr, - char * bytes, int length)); -/* 241 */ -EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time * timePtr)); -/* 242 */ +/* 237 */ EXTERN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * newValue, int flags)); -/* 243 */ +/* 238 */ EXTERN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, char * newValue, int flags)); -/* 244 */ +/* 239 */ EXTERN char * Tcl_SignalId _ANSI_ARGS_((int sig)); -/* 245 */ +/* 240 */ EXTERN char * Tcl_SignalMsg _ANSI_ARGS_((int sig)); -/* 246 */ -EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); -/* 247 */ +/* 241 */ EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp * interp)); -/* 248 */ +/* 242 */ EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp * interp, char * list, int * argcPtr, char *** argvPtr)); -/* 249 */ +/* 243 */ EXTERN void Tcl_SplitPath _ANSI_ARGS_((char * path, int * argcPtr, char *** argvPtr)); -/* 250 */ +/* 244 */ EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp * interp, char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc)); -/* 251 */ +/* 245 */ EXTERN int Tcl_StringMatch _ANSI_ARGS_((char * string, char * pattern)); -/* 252 */ +/* 246 */ EXTERN int Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan)); -/* 253 */ +/* 247 */ EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); -/* 254 */ +/* 248 */ EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); -/* 255 */ +/* 249 */ EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_(( Tcl_Interp * interp, char * name, Tcl_DString * bufferPtr)); -/* 256 */ +/* 250 */ EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, char * str, int len, int atHead)); -/* 257 */ +/* 251 */ EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); -/* 258 */ +/* 252 */ EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Channel chan)); -/* 259 */ +/* 253 */ EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); -/* 260 */ +/* 254 */ EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); -/* 261 */ +/* 255 */ EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); -/* 262 */ +/* 256 */ EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); -/* 263 */ +/* 257 */ EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); -/* 264 */ +/* 258 */ EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * varName, char * localName, int flags)); -/* 265 */ +/* 259 */ EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * part1, char * part2, char * localName, int flags)); -/* 266 */ -EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char * file, - int line)); -/* 267 */ +/* 260 */ EXTERN int Tcl_VarEval _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); -/* 268 */ -EXTERN int Tcl_VarEvalVA _ANSI_ARGS_((Tcl_Interp * interp, - va_list argList)); -/* 269 */ +/* 261 */ EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); -/* 270 */ +/* 262 */ EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); -/* 271 */ -EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time * timePtr)); -/* 272 */ -EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, - int options)); -/* 273 */ +/* 263 */ EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); -/* 274 */ +/* 264 */ EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); +/* 265 */ +EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char * fileName)); +/* 266 */ +EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char * file, + int line)); +/* 267 */ +EXTERN void Tcl_AppendResultVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 268 */ +EXTERN void Tcl_AppendStringsToObjVA _ANSI_ARGS_(( + Tcl_Obj * objPtr, va_list argList)); +/* 269 */ +EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable * tablePtr)); +/* 270 */ +EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp * interp, + char * string, char ** termPtr)); +/* 271 */ +EXTERN char * Tcl_PkgPresent _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version, int exact)); +/* 272 */ +EXTERN char * Tcl_PkgPresentEx _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version, int exact, + ClientData * clientDataPtr)); +/* 273 */ +EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version)); +/* 274 */ +EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp * interp, + char * name, char * version, int exact)); +/* 275 */ +EXTERN void Tcl_SetErrorCodeVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 276 */ +EXTERN int Tcl_VarEvalVA _ANSI_ARGS_((Tcl_Interp * interp, + va_list argList)); +/* 277 */ +EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, + int options)); +/* 278 */ +EXTERN void panicVA _ANSI_ARGS_((char * format, va_list argList)); typedef struct TclStubHooks { struct TclPlatStubs *tclPlatStubs; @@ -864,281 +880,309 @@ typedef struct TclStubs { int magic; struct TclStubHooks *hooks; - void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message)); /* 0 */ - void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message, int length)); /* 1 */ - char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 2 */ - void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 3 */ - int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 4 */ - void (*tcl_AppendElement) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 5 */ - void (*tcl_AppendResult) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 6 */ - void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 7 */ - void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 8 */ - void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 9 */ - void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 10 */ - Tcl_AsyncHandler (*tcl_AsyncCreate) _ANSI_ARGS_((Tcl_AsyncProc * proc, ClientData clientData)); /* 11 */ - void (*tcl_AsyncDelete) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 12 */ - int (*tcl_AsyncInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int code)); /* 13 */ - void (*tcl_AsyncMark) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 14 */ - int (*tcl_AsyncReady) _ANSI_ARGS_((void)); /* 15 */ - void (*tcl_BackgroundError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 16 */ - char (*tcl_Backslash) _ANSI_ARGS_((CONST char * src, int * readPtr)); /* 17 */ - int (*tcl_BadChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, char * optionName, char * optionList)); /* 18 */ - void (*tcl_CallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 19 */ - void (*tcl_CancelIdleCall) _ANSI_ARGS_((Tcl_IdleProc * idleProc, ClientData clientData)); /* 20 */ - int (*tcl_Close) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 21 */ - int (*tcl_CommandComplete) _ANSI_ARGS_((char * cmd)); /* 22 */ - char * (*tcl_Concat) _ANSI_ARGS_((int argc, char ** argv)); /* 23 */ - Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 24 */ - int (*tcl_ConvertCountedElement) _ANSI_ARGS_((CONST char * src, int length, char * dst, int flags)); /* 25 */ - int (*tcl_ConvertElement) _ANSI_ARGS_((CONST char * src, char * dst, int flags)); /* 26 */ - int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 27 */ - int (*tcl_CreateAlias) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int argc, char ** argv)); /* 28 */ - int (*tcl_CreateAliasObj) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int objc, Tcl_Obj *CONST objv[])); /* 29 */ - Tcl_Channel (*tcl_CreateChannel) _ANSI_ARGS_((Tcl_ChannelType * typePtr, char * chanName, ClientData instanceData, int mask)); /* 30 */ - void (*tcl_CreateChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData)); /* 31 */ - void (*tcl_CreateCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 32 */ - Tcl_Command (*tcl_CreateCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 33 */ - void (*tcl_CreateEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 34 */ - void (*tcl_CreateExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 35 */ - Tcl_Interp * (*tcl_CreateInterp) _ANSI_ARGS_((void)); /* 36 */ - void (*tcl_CreateMathFunc) _ANSI_ARGS_((Tcl_Interp * interp, char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData)); /* 37 */ - Tcl_Command (*tcl_CreateObjCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 38 */ - Tcl_Interp * (*tcl_CreateSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName, int isSafe)); /* 39 */ - Tcl_TimerToken (*tcl_CreateTimerHandler) _ANSI_ARGS_((int milliseconds, Tcl_TimerProc * proc, ClientData clientData)); /* 40 */ - Tcl_Trace (*tcl_CreateTrace) _ANSI_ARGS_((Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData)); /* 41 */ - char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, char * file, int line)); /* 42 */ - int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, char * file, int line)); /* 43 */ - char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 44 */ - void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 45 */ - void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 46 */ - int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 47 */ - Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, char * file, int line)); /* 48 */ - Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length, char * file, int line)); /* 49 */ - Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, char * file, int line)); /* 50 */ - Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[], char * file, int line)); /* 51 */ - Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, char * file, int line)); /* 52 */ - Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((char * file, int line)); /* 53 */ - Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((char * bytes, int length, char * file, int line)); /* 54 */ - void (*tcl_DeleteAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 55 */ - int (*tcl_DeleteCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName)); /* 56 */ - int (*tcl_DeleteCommandFromToken) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 57 */ - void (*tcl_DeleteChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData)); /* 58 */ - void (*tcl_DeleteCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 59 */ - void (*tcl_DeleteEvents) _ANSI_ARGS_((Tcl_EventDeleteProc * proc, ClientData clientData)); /* 60 */ - void (*tcl_DeleteEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 61 */ - void (*tcl_DeleteExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 62 */ - void (*tcl_DeleteHashEntry) _ANSI_ARGS_((Tcl_HashEntry * entryPtr)); /* 63 */ - void (*tcl_DeleteHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 64 */ - void (*tcl_DeleteInterp) _ANSI_ARGS_((Tcl_Interp * interp)); /* 65 */ - void (*tcl_DeleteTimerHandler) _ANSI_ARGS_((Tcl_TimerToken token)); /* 66 */ - void (*tcl_DeleteTrace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Trace trace)); /* 67 */ - void (*tcl_DetachPids) _ANSI_ARGS_((int numPids, Tcl_Pid * pidPtr)); /* 68 */ - void (*tcl_DontCallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 69 */ - int (*tcl_DoOneEvent) _ANSI_ARGS_((int flags)); /* 70 */ - void (*tcl_DoWhenIdle) _ANSI_ARGS_((Tcl_IdleProc * proc, ClientData clientData)); /* 71 */ - char * (*tcl_DStringAppend) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string, int length)); /* 72 */ - char * (*tcl_DStringAppendElement) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string)); /* 73 */ - void (*tcl_DStringEndSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 74 */ - void (*tcl_DStringFree) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 75 */ - void (*tcl_DStringGetResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 76 */ - void (*tcl_DStringInit) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 77 */ - void (*tcl_DStringResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 78 */ - void (*tcl_DStringSetLength) _ANSI_ARGS_((Tcl_DString * dsPtr, int length)); /* 79 */ - void (*tcl_DStringStartSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 80 */ - int (*tcl_DumpActiveMemory) _ANSI_ARGS_((char * fileName)); /* 81 */ - Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 82 */ - int (*tcl_Eof) _ANSI_ARGS_((Tcl_Channel chan)); /* 83 */ - char * (*tcl_ErrnoId) _ANSI_ARGS_((void)); /* 84 */ - char * (*tcl_ErrnoMsg) _ANSI_ARGS_((int err)); /* 85 */ - int (*tcl_Eval) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 86 */ - int (*tcl_EvalFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName)); /* 87 */ - void (*tcl_EventuallyFree) _ANSI_ARGS_((ClientData clientData, Tcl_FreeProc * freeProc)); /* 88 */ - int (*tcl_EvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 89 */ - void (*tcl_Exit) _ANSI_ARGS_((int status)); /* 90 */ - int (*tcl_ExposeCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * hiddenCmdToken, char * cmdName)); /* 91 */ - int (*tcl_ExprBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * ptr)); /* 92 */ - int (*tcl_ExprBooleanObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr)); /* 93 */ - int (*tcl_ExprDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * ptr)); /* 94 */ - int (*tcl_ExprDoubleObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr)); /* 95 */ - int (*tcl_ExprLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * ptr)); /* 96 */ - int (*tcl_ExprLongObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr)); /* 97 */ - int (*tcl_ExprObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); /* 98 */ - int (*tcl_ExprString) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 99 */ - void (*tcl_Finalize) _ANSI_ARGS_((void)); /* 100 */ - void (*tcl_FindExecutable) _ANSI_ARGS_((char * argv0)); /* 101 */ - Tcl_HashEntry * (*tcl_FirstHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr)); /* 102 */ - int (*tcl_Flush) _ANSI_ARGS_((Tcl_Channel chan)); /* 103 */ - void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 104 */ - void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 105 */ - void (*tcl_FreeResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 106 */ - int (*tcl_GetAlias) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * argcPtr, char *** argvPtr)); /* 107 */ - int (*tcl_GetAliasObj) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv)); /* 108 */ - ClientData (*tcl_GetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc ** procPtr)); /* 109 */ - int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * boolPtr)); /* 110 */ - int (*tcl_GetBooleanFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr)); /* 111 */ - unsigned char * (*tcl_GetByteArrayFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 112 */ - Tcl_Channel (*tcl_GetChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * chanName, int * modePtr)); /* 113 */ - int (*tcl_GetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan)); /* 114 */ - int (*tcl_GetChannelHandle) _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData * handlePtr)); /* 115 */ - ClientData (*tcl_GetChannelInstanceData) _ANSI_ARGS_((Tcl_Channel chan)); /* 116 */ - int (*tcl_GetChannelMode) _ANSI_ARGS_((Tcl_Channel chan)); /* 117 */ - char * (*tcl_GetChannelName) _ANSI_ARGS_((Tcl_Channel chan)); /* 118 */ - int (*tcl_GetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, Tcl_DString * dsPtr)); /* 119 */ - Tcl_ChannelType * (*tcl_GetChannelType) _ANSI_ARGS_((Tcl_Channel chan)); /* 120 */ - int (*tcl_GetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 121 */ - char * (*tcl_GetCommandName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 122 */ - int (*tcl_GetDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * doublePtr)); /* 123 */ - int (*tcl_GetDoubleFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr)); /* 124 */ - int (*tcl_GetErrno) _ANSI_ARGS_((void)); /* 125 */ - char * (*tcl_GetHostName) _ANSI_ARGS_((void)); /* 126 */ - int (*tcl_GetIndexFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, char ** tablePtr, char * msg, int flags, int * indexPtr)); /* 127 */ - int (*tcl_GetInt) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * intPtr)); /* 128 */ - int (*tcl_GetInterpPath) _ANSI_ARGS_((Tcl_Interp * askInterp, Tcl_Interp * slaveInterp)); /* 129 */ - int (*tcl_GetIntFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr)); /* 130 */ - int (*tcl_GetLongFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr)); /* 131 */ - Tcl_Interp * (*tcl_GetMaster) _ANSI_ARGS_((Tcl_Interp * interp)); /* 132 */ - CONST char * (*tcl_GetNameOfExecutable) _ANSI_ARGS_((void)); /* 133 */ - Tcl_Obj * (*tcl_GetObjResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 134 */ - Tcl_ObjType * (*tcl_GetObjType) _ANSI_ARGS_((char * typeName)); /* 135 */ - Tcl_PathType (*tcl_GetPathType) _ANSI_ARGS_((char * path)); /* 136 */ - int (*tcl_Gets) _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString * dsPtr)); /* 137 */ - int (*tcl_GetsObj) _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); /* 138 */ - int (*tcl_GetServiceMode) _ANSI_ARGS_((void)); /* 139 */ - Tcl_Interp * (*tcl_GetSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName)); /* 140 */ - Tcl_Channel (*tcl_GetStdChannel) _ANSI_ARGS_((int type)); /* 141 */ - char * (*tcl_GetStringFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 142 */ - char * (*tcl_GetStringResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 143 */ - char * (*tcl_GetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 144 */ - char * (*tcl_GetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 145 */ - int (*tcl_GlobalEval) _ANSI_ARGS_((Tcl_Interp * interp, char * command)); /* 146 */ - int (*tcl_GlobalEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 147 */ - char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 148 */ - int (*tcl_HideCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, char * hiddenCmdToken)); /* 149 */ - int (*tcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 150 */ - void (*tcl_InitHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType)); /* 151 */ - int (*tcl_InputBlocked) _ANSI_ARGS_((Tcl_Channel chan)); /* 152 */ - int (*tcl_InputBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 153 */ - int (*tcl_InterpDeleted) _ANSI_ARGS_((Tcl_Interp * interp)); /* 154 */ - int (*tcl_IsSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 155 */ - void (*tcl_InvalidateStringRep) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 156 */ - char * (*tcl_JoinPath) _ANSI_ARGS_((int argc, char ** argv, Tcl_DString * resultPtr)); /* 157 */ - int (*tcl_LinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * addr, int type)); /* 158 */ - int (*tcl_ListObjAppendList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr)); /* 159 */ - int (*tcl_ListObjAppendElement) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr)); /* 160 */ - int (*tcl_ListObjGetElements) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr)); /* 161 */ - int (*tcl_ListObjIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr)); /* 162 */ - int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * intPtr)); /* 163 */ - int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 164 */ - Tcl_Channel (*tcl_MakeFileChannel) _ANSI_ARGS_((ClientData handle, int mode)); /* 165 */ - int (*tcl_MakeSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 166 */ - Tcl_Channel (*tcl_MakeTcpClientChannel) _ANSI_ARGS_((ClientData tcpSocket)); /* 167 */ - char * (*tcl_Merge) _ANSI_ARGS_((int argc, char ** argv)); /* 168 */ - Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 169 */ - Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length)); /* 170 */ - Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 171 */ - Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 172 */ - Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 173 */ - Tcl_Obj * (*tcl_NewLongObj) _ANSI_ARGS_((long longValue)); /* 174 */ - Tcl_Obj * (*tcl_NewObj) _ANSI_ARGS_((void)); /* 175 */ - Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((char * bytes, int length)); /* 176 */ - Tcl_HashEntry * (*tcl_NextHashEntry) _ANSI_ARGS_((Tcl_HashSearch * searchPtr)); /* 177 */ - void (*tcl_NotifyChannel) _ANSI_ARGS_((Tcl_Channel channel, int mask)); /* 178 */ - Tcl_Obj * (*tcl_ObjGetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags)); /* 179 */ - Tcl_Obj * (*tcl_ObjSetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags)); /* 180 */ - Tcl_Channel (*tcl_OpenCommandChannel) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 181 */ - Tcl_Channel (*tcl_OpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 182 */ - Tcl_Channel (*tcl_OpenTcpClient) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * address, char * myaddr, int myport, int async)); /* 183 */ - Tcl_Channel (*tcl_OpenTcpServer) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData)); /* 184 */ - void (*panic) _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 185 */ - void (*panicVA) _ANSI_ARGS_((char * format, va_list argList)); /* 186 */ - char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr)); /* 187 */ - char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 188 */ - char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 189 */ - int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version)); /* 190 */ - int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, ClientData clientData)); /* 191 */ - char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 192 */ - char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 193 */ - char * (*tcl_PosixError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 194 */ - void (*tcl_Preserve) _ANSI_ARGS_((ClientData data)); /* 195 */ - void (*tcl_PrintDouble) _ANSI_ARGS_((Tcl_Interp * interp, double value, char * dst)); /* 196 */ - int (*tcl_PutEnv) _ANSI_ARGS_((CONST char * string)); /* 197 */ - void (*tcl_QueueEvent) _ANSI_ARGS_((Tcl_Event * evPtr, Tcl_QueuePosition position)); /* 198 */ - int (*tcl_Read) _ANSI_ARGS_((Tcl_Channel chan, char * bufPtr, int toRead)); /* 199 */ - char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 200 */ - void (*tcl_ReapDetachedProcs) _ANSI_ARGS_((void)); /* 201 */ - int (*tcl_RecordAndEval) _ANSI_ARGS_((Tcl_Interp * interp, char * cmd, int flags)); /* 202 */ - int (*tcl_RecordAndEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags)); /* 203 */ - Tcl_RegExp (*tcl_RegExpCompile) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 204 */ - int (*tcl_RegExpExec) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, char * string, char * start)); /* 205 */ - int (*tcl_RegExpMatch) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * pattern)); /* 206 */ - void (*tcl_RegExpRange) _ANSI_ARGS_((Tcl_RegExp regexp, int index, char ** startPtr, char ** endPtr)); /* 207 */ - void (*tcl_RegisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 208 */ - void (*tcl_RegisterObjType) _ANSI_ARGS_((Tcl_ObjType * typePtr)); /* 209 */ - void (*tcl_Release) _ANSI_ARGS_((ClientData clientData)); /* 210 */ - void (*tcl_ResetResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 211 */ - int (*tcl_ScanCountedElement) _ANSI_ARGS_((CONST char * string, int length, int * flagPtr)); /* 212 */ - int (*tcl_ScanElement) _ANSI_ARGS_((CONST char * string, int * flagPtr)); /* 213 */ - int (*tcl_Seek) _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); /* 214 */ - int (*tcl_ServiceAll) _ANSI_ARGS_((void)); /* 215 */ - int (*tcl_ServiceEvent) _ANSI_ARGS_((int flags)); /* 216 */ - void (*tcl_SetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 217 */ - void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 218 */ - unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 219 */ - void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, unsigned char * bytes, int length)); /* 220 */ - void (*tcl_SetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan, int sz)); /* 221 */ - int (*tcl_SetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, char * newValue)); /* 222 */ - int (*tcl_SetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 223 */ - void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 224 */ - void (*tcl_SetErrno) _ANSI_ARGS_((int err)); /* 225 */ - void (*tcl_SetErrorCode) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 226 */ - void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 227 */ - void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 228 */ - void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 229 */ - void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 230 */ - void (*tcl_SetMaxBlockTime) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 231 */ - void (*tcl_SetObjErrorCode) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * errorObjPtr)); /* 232 */ - void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 233 */ - void (*tcl_SetObjResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * resultObjPtr)); /* 234 */ - void (*tcl_SetPanicProc) _ANSI_ARGS_((Tcl_PanicProc * panicProc)); /* 235 */ - int (*tcl_SetRecursionLimit) _ANSI_ARGS_((Tcl_Interp * interp, int depth)); /* 236 */ - void (*tcl_SetResult) _ANSI_ARGS_((Tcl_Interp * interp, char * string, Tcl_FreeProc * freeProc)); /* 237 */ - int (*tcl_SetServiceMode) _ANSI_ARGS_((int mode)); /* 238 */ - void (*tcl_SetStdChannel) _ANSI_ARGS_((Tcl_Channel channel, int type)); /* 239 */ - void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 240 */ - void (*tcl_SetTimer) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 241 */ - char * (*tcl_SetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * newValue, int flags)); /* 242 */ - char * (*tcl_SetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, char * newValue, int flags)); /* 243 */ - char * (*tcl_SignalId) _ANSI_ARGS_((int sig)); /* 244 */ - char * (*tcl_SignalMsg) _ANSI_ARGS_((int sig)); /* 245 */ - void (*tcl_Sleep) _ANSI_ARGS_((int ms)); /* 246 */ - void (*tcl_SourceRCFile) _ANSI_ARGS_((Tcl_Interp * interp)); /* 247 */ - int (*tcl_SplitList) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int * argcPtr, char *** argvPtr)); /* 248 */ - void (*tcl_SplitPath) _ANSI_ARGS_((char * path, int * argcPtr, char *** argvPtr)); /* 249 */ - void (*tcl_StaticPackage) _ANSI_ARGS_((Tcl_Interp * interp, char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc)); /* 250 */ - int (*tcl_StringMatch) _ANSI_ARGS_((char * string, char * pattern)); /* 251 */ - int (*tcl_Tell) _ANSI_ARGS_((Tcl_Channel chan)); /* 252 */ - int (*tcl_TraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 253 */ - int (*tcl_TraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 254 */ - char * (*tcl_TranslateFileName) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_DString * bufferPtr)); /* 255 */ - int (*tcl_Ungets) _ANSI_ARGS_((Tcl_Channel chan, char * str, int len, int atHead)); /* 256 */ - void (*tcl_UnlinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 257 */ - int (*tcl_UnregisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 258 */ - int (*tcl_UnsetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 259 */ - int (*tcl_UnsetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 260 */ - void (*tcl_UntraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 261 */ - void (*tcl_UntraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 262 */ - void (*tcl_UpdateLinkedVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 263 */ - int (*tcl_UpVar) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * varName, char * localName, int flags)); /* 264 */ - int (*tcl_UpVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * part1, char * part2, char * localName, int flags)); /* 265 */ + int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, ClientData clientData)); /* 0 */ + char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 1 */ + void (*panic) _ANSI_ARGS_(TCL_VARARGS(char *,format)); /* 2 */ + char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 3 */ + void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */ + char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 5 */ + char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, char * file, int line)); /* 6 */ + int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, char * file, int line)); /* 7 */ + char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, char * file, int line)); /* 8 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved9; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved9; +#endif /* MAC_TCL */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tcl_DeleteFileHandler) _ANSI_ARGS_((int fd)); /* 10 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved10; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved10; +#endif /* MAC_TCL */ + void (*tcl_SetTimer) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 11 */ + void (*tcl_Sleep) _ANSI_ARGS_((int ms)); /* 12 */ + int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 13 */ + int (*tcl_AppendAllObjTypes) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 14 */ + void (*tcl_AppendStringsToObj) _ANSI_ARGS_(TCL_VARARGS(Tcl_Obj *,objPtr)); /* 15 */ + void (*tcl_AppendToObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 16 */ + Tcl_Obj * (*tcl_ConcatObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 17 */ + int (*tcl_ConvertToType) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_ObjType * typePtr)); /* 18 */ + void (*tcl_DbDecrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 19 */ + void (*tcl_DbIncrRefCount) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 20 */ + int (*tcl_DbIsShared) _ANSI_ARGS_((Tcl_Obj * objPtr, char * file, int line)); /* 21 */ + Tcl_Obj * (*tcl_DbNewBooleanObj) _ANSI_ARGS_((int boolValue, char * file, int line)); /* 22 */ + Tcl_Obj * (*tcl_DbNewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length, char * file, int line)); /* 23 */ + Tcl_Obj * (*tcl_DbNewDoubleObj) _ANSI_ARGS_((double doubleValue, char * file, int line)); /* 24 */ + Tcl_Obj * (*tcl_DbNewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[], char * file, int line)); /* 25 */ + Tcl_Obj * (*tcl_DbNewLongObj) _ANSI_ARGS_((long longValue, char * file, int line)); /* 26 */ + Tcl_Obj * (*tcl_DbNewObj) _ANSI_ARGS_((char * file, int line)); /* 27 */ + Tcl_Obj * (*tcl_DbNewStringObj) _ANSI_ARGS_((char * bytes, int length, char * file, int line)); /* 28 */ + Tcl_Obj * (*tcl_DuplicateObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 29 */ + void (*tclFreeObj) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 30 */ + int (*tcl_GetBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * boolPtr)); /* 31 */ + int (*tcl_GetBooleanFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * boolPtr)); /* 32 */ + unsigned char * (*tcl_GetByteArrayFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 33 */ + int (*tcl_GetDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * doublePtr)); /* 34 */ + int (*tcl_GetDoubleFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * doublePtr)); /* 35 */ + int (*tcl_GetIndexFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, char ** tablePtr, char * msg, int flags, int * indexPtr)); /* 36 */ + int (*tcl_GetInt) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * intPtr)); /* 37 */ + int (*tcl_GetIntFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * intPtr)); /* 38 */ + int (*tcl_GetLongFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * longPtr)); /* 39 */ + Tcl_ObjType * (*tcl_GetObjType) _ANSI_ARGS_((char * typeName)); /* 40 */ + char * (*tcl_GetStringFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 41 */ + void (*tcl_InvalidateStringRep) _ANSI_ARGS_((Tcl_Obj * objPtr)); /* 42 */ + int (*tcl_ListObjAppendList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * elemListPtr)); /* 43 */ + int (*tcl_ListObjAppendElement) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, Tcl_Obj * objPtr)); /* 44 */ + int (*tcl_ListObjGetElements) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * objcPtr, Tcl_Obj *** objvPtr)); /* 45 */ + int (*tcl_ListObjIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int index, Tcl_Obj ** objPtrPtr)); /* 46 */ + int (*tcl_ListObjLength) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int * intPtr)); /* 47 */ + int (*tcl_ListObjReplace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); /* 48 */ + Tcl_Obj * (*tcl_NewBooleanObj) _ANSI_ARGS_((int boolValue)); /* 49 */ + Tcl_Obj * (*tcl_NewByteArrayObj) _ANSI_ARGS_((unsigned char * bytes, int length)); /* 50 */ + Tcl_Obj * (*tcl_NewDoubleObj) _ANSI_ARGS_((double doubleValue)); /* 51 */ + Tcl_Obj * (*tcl_NewIntObj) _ANSI_ARGS_((int intValue)); /* 52 */ + Tcl_Obj * (*tcl_NewListObj) _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); /* 53 */ + Tcl_Obj * (*tcl_NewLongObj) _ANSI_ARGS_((long longValue)); /* 54 */ + Tcl_Obj * (*tcl_NewObj) _ANSI_ARGS_((void)); /* 55 */ + Tcl_Obj * (*tcl_NewStringObj) _ANSI_ARGS_((char * bytes, int length)); /* 56 */ + void (*tcl_SetBooleanObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int boolValue)); /* 57 */ + unsigned char * (*tcl_SetByteArrayLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 58 */ + void (*tcl_SetByteArrayObj) _ANSI_ARGS_((Tcl_Obj * objPtr, unsigned char * bytes, int length)); /* 59 */ + void (*tcl_SetDoubleObj) _ANSI_ARGS_((Tcl_Obj * objPtr, double doubleValue)); /* 60 */ + void (*tcl_SetIntObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int intValue)); /* 61 */ + void (*tcl_SetListObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int objc, Tcl_Obj *CONST objv[])); /* 62 */ + void (*tcl_SetLongObj) _ANSI_ARGS_((Tcl_Obj * objPtr, long longValue)); /* 63 */ + void (*tcl_SetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 64 */ + void (*tcl_SetStringObj) _ANSI_ARGS_((Tcl_Obj * objPtr, char * bytes, int length)); /* 65 */ + void (*tcl_AddErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message)); /* 66 */ + void (*tcl_AddObjErrorInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * message, int length)); /* 67 */ + void (*tcl_AllowExceptions) _ANSI_ARGS_((Tcl_Interp * interp)); /* 68 */ + void (*tcl_AppendElement) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 69 */ + void (*tcl_AppendResult) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 70 */ + Tcl_AsyncHandler (*tcl_AsyncCreate) _ANSI_ARGS_((Tcl_AsyncProc * proc, ClientData clientData)); /* 71 */ + void (*tcl_AsyncDelete) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 72 */ + int (*tcl_AsyncInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int code)); /* 73 */ + void (*tcl_AsyncMark) _ANSI_ARGS_((Tcl_AsyncHandler async)); /* 74 */ + int (*tcl_AsyncReady) _ANSI_ARGS_((void)); /* 75 */ + void (*tcl_BackgroundError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 76 */ + char (*tcl_Backslash) _ANSI_ARGS_((CONST char * src, int * readPtr)); /* 77 */ + int (*tcl_BadChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, char * optionName, char * optionList)); /* 78 */ + void (*tcl_CallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 79 */ + void (*tcl_CancelIdleCall) _ANSI_ARGS_((Tcl_IdleProc * idleProc, ClientData clientData)); /* 80 */ + int (*tcl_Close) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 81 */ + int (*tcl_CommandComplete) _ANSI_ARGS_((char * cmd)); /* 82 */ + char * (*tcl_Concat) _ANSI_ARGS_((int argc, char ** argv)); /* 83 */ + int (*tcl_ConvertElement) _ANSI_ARGS_((CONST char * src, char * dst, int flags)); /* 84 */ + int (*tcl_ConvertCountedElement) _ANSI_ARGS_((CONST char * src, int length, char * dst, int flags)); /* 85 */ + int (*tcl_CreateAlias) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int argc, char ** argv)); /* 86 */ + int (*tcl_CreateAliasObj) _ANSI_ARGS_((Tcl_Interp * slave, char * slaveCmd, Tcl_Interp * target, char * targetCmd, int objc, Tcl_Obj *CONST objv[])); /* 87 */ + Tcl_Channel (*tcl_CreateChannel) _ANSI_ARGS_((Tcl_ChannelType * typePtr, char * chanName, ClientData instanceData, int mask)); /* 88 */ + void (*tcl_CreateChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, int mask, Tcl_ChannelProc * proc, ClientData clientData)); /* 89 */ + void (*tcl_CreateCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 90 */ + Tcl_Command (*tcl_CreateCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 91 */ + void (*tcl_CreateEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 92 */ + void (*tcl_CreateExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 93 */ + Tcl_Interp * (*tcl_CreateInterp) _ANSI_ARGS_((void)); /* 94 */ + void (*tcl_CreateMathFunc) _ANSI_ARGS_((Tcl_Interp * interp, char * name, int numArgs, Tcl_ValueType * argTypes, Tcl_MathProc * proc, ClientData clientData)); /* 95 */ + Tcl_Command (*tcl_CreateObjCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_ObjCmdProc * proc, ClientData clientData, Tcl_CmdDeleteProc * deleteProc)); /* 96 */ + Tcl_Interp * (*tcl_CreateSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName, int isSafe)); /* 97 */ + Tcl_TimerToken (*tcl_CreateTimerHandler) _ANSI_ARGS_((int milliseconds, Tcl_TimerProc * proc, ClientData clientData)); /* 98 */ + Tcl_Trace (*tcl_CreateTrace) _ANSI_ARGS_((Tcl_Interp * interp, int level, Tcl_CmdTraceProc * proc, ClientData clientData)); /* 99 */ + void (*tcl_DeleteAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 100 */ + void (*tcl_DeleteChannelHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_ChannelProc * proc, ClientData clientData)); /* 101 */ + void (*tcl_DeleteCloseHandler) _ANSI_ARGS_((Tcl_Channel chan, Tcl_CloseProc * proc, ClientData clientData)); /* 102 */ + int (*tcl_DeleteCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName)); /* 103 */ + int (*tcl_DeleteCommandFromToken) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 104 */ + void (*tcl_DeleteEvents) _ANSI_ARGS_((Tcl_EventDeleteProc * proc, ClientData clientData)); /* 105 */ + void (*tcl_DeleteEventSource) _ANSI_ARGS_((Tcl_EventSetupProc * setupProc, Tcl_EventCheckProc * checkProc, ClientData clientData)); /* 106 */ + void (*tcl_DeleteExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 107 */ + void (*tcl_DeleteHashEntry) _ANSI_ARGS_((Tcl_HashEntry * entryPtr)); /* 108 */ + void (*tcl_DeleteHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 109 */ + void (*tcl_DeleteInterp) _ANSI_ARGS_((Tcl_Interp * interp)); /* 110 */ + void (*tcl_DetachPids) _ANSI_ARGS_((int numPids, Tcl_Pid * pidPtr)); /* 111 */ + void (*tcl_DeleteTimerHandler) _ANSI_ARGS_((Tcl_TimerToken token)); /* 112 */ + void (*tcl_DeleteTrace) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Trace trace)); /* 113 */ + void (*tcl_DontCallWhenDeleted) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 114 */ + int (*tcl_DoOneEvent) _ANSI_ARGS_((int flags)); /* 115 */ + void (*tcl_DoWhenIdle) _ANSI_ARGS_((Tcl_IdleProc * proc, ClientData clientData)); /* 116 */ + char * (*tcl_DStringAppend) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string, int length)); /* 117 */ + char * (*tcl_DStringAppendElement) _ANSI_ARGS_((Tcl_DString * dsPtr, CONST char * string)); /* 118 */ + void (*tcl_DStringEndSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 119 */ + void (*tcl_DStringFree) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 120 */ + void (*tcl_DStringGetResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 121 */ + void (*tcl_DStringInit) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 122 */ + void (*tcl_DStringResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_DString * dsPtr)); /* 123 */ + void (*tcl_DStringSetLength) _ANSI_ARGS_((Tcl_DString * dsPtr, int length)); /* 124 */ + void (*tcl_DStringStartSublist) _ANSI_ARGS_((Tcl_DString * dsPtr)); /* 125 */ + int (*tcl_Eof) _ANSI_ARGS_((Tcl_Channel chan)); /* 126 */ + char * (*tcl_ErrnoId) _ANSI_ARGS_((void)); /* 127 */ + char * (*tcl_ErrnoMsg) _ANSI_ARGS_((int err)); /* 128 */ + int (*tcl_Eval) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 129 */ + int (*tcl_EvalFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName)); /* 130 */ + int (*tcl_EvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 131 */ + void (*tcl_EventuallyFree) _ANSI_ARGS_((ClientData clientData, Tcl_FreeProc * freeProc)); /* 132 */ + void (*tcl_Exit) _ANSI_ARGS_((int status)); /* 133 */ + int (*tcl_ExposeCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * hiddenCmdToken, char * cmdName)); /* 134 */ + int (*tcl_ExprBoolean) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * ptr)); /* 135 */ + int (*tcl_ExprBooleanObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int * ptr)); /* 136 */ + int (*tcl_ExprDouble) _ANSI_ARGS_((Tcl_Interp * interp, char * string, double * ptr)); /* 137 */ + int (*tcl_ExprDoubleObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, double * ptr)); /* 138 */ + int (*tcl_ExprLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * ptr)); /* 139 */ + int (*tcl_ExprLongObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, long * ptr)); /* 140 */ + int (*tcl_ExprObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, Tcl_Obj ** resultPtrPtr)); /* 141 */ + int (*tcl_ExprString) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 142 */ + void (*tcl_Finalize) _ANSI_ARGS_((void)); /* 143 */ + void (*tcl_FindExecutable) _ANSI_ARGS_((char * argv0)); /* 144 */ + Tcl_HashEntry * (*tcl_FirstHashEntry) _ANSI_ARGS_((Tcl_HashTable * tablePtr, Tcl_HashSearch * searchPtr)); /* 145 */ + int (*tcl_Flush) _ANSI_ARGS_((Tcl_Channel chan)); /* 146 */ + void (*tcl_FreeResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 147 */ + int (*tcl_GetAlias) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * argcPtr, char *** argvPtr)); /* 148 */ + int (*tcl_GetAliasObj) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveCmd, Tcl_Interp ** targetInterpPtr, char ** targetCmdPtr, int * objcPtr, Tcl_Obj *** objv)); /* 149 */ + ClientData (*tcl_GetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc ** procPtr)); /* 150 */ + Tcl_Channel (*tcl_GetChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * chanName, int * modePtr)); /* 151 */ + int (*tcl_GetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan)); /* 152 */ + int (*tcl_GetChannelHandle) _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData * handlePtr)); /* 153 */ + ClientData (*tcl_GetChannelInstanceData) _ANSI_ARGS_((Tcl_Channel chan)); /* 154 */ + int (*tcl_GetChannelMode) _ANSI_ARGS_((Tcl_Channel chan)); /* 155 */ + char * (*tcl_GetChannelName) _ANSI_ARGS_((Tcl_Channel chan)); /* 156 */ + int (*tcl_GetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, Tcl_DString * dsPtr)); /* 157 */ + Tcl_ChannelType * (*tcl_GetChannelType) _ANSI_ARGS_((Tcl_Channel chan)); /* 158 */ + int (*tcl_GetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 159 */ + char * (*tcl_GetCommandName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command)); /* 160 */ + int (*tcl_GetErrno) _ANSI_ARGS_((void)); /* 161 */ + char * (*tcl_GetHostName) _ANSI_ARGS_((void)); /* 162 */ + int (*tcl_GetInterpPath) _ANSI_ARGS_((Tcl_Interp * askInterp, Tcl_Interp * slaveInterp)); /* 163 */ + Tcl_Interp * (*tcl_GetMaster) _ANSI_ARGS_((Tcl_Interp * interp)); /* 164 */ + CONST char * (*tcl_GetNameOfExecutable) _ANSI_ARGS_((void)); /* 165 */ + Tcl_Obj * (*tcl_GetObjResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 166 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + int (*tcl_GetOpenFile) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int write, int checkUsage, ClientData * filePtr)); /* 167 */ +#endif /* UNIX */ +#ifdef __WIN32__ + void *reserved167; +#endif /* __WIN32__ */ +#ifdef MAC_TCL + void *reserved167; +#endif /* MAC_TCL */ + Tcl_PathType (*tcl_GetPathType) _ANSI_ARGS_((char * path)); /* 168 */ + int (*tcl_Gets) _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString * dsPtr)); /* 169 */ + int (*tcl_GetsObj) _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj * objPtr)); /* 170 */ + int (*tcl_GetServiceMode) _ANSI_ARGS_((void)); /* 171 */ + Tcl_Interp * (*tcl_GetSlave) _ANSI_ARGS_((Tcl_Interp * interp, char * slaveName)); /* 172 */ + Tcl_Channel (*tcl_GetStdChannel) _ANSI_ARGS_((int type)); /* 173 */ + char * (*tcl_GetStringResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 174 */ + char * (*tcl_GetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 175 */ + char * (*tcl_GetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 176 */ + int (*tcl_GlobalEval) _ANSI_ARGS_((Tcl_Interp * interp, char * command)); /* 177 */ + int (*tcl_GlobalEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 178 */ + int (*tcl_HideCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, char * hiddenCmdToken)); /* 179 */ + int (*tcl_Init) _ANSI_ARGS_((Tcl_Interp * interp)); /* 180 */ + void (*tcl_InitHashTable) _ANSI_ARGS_((Tcl_HashTable * tablePtr, int keyType)); /* 181 */ + int (*tcl_InputBlocked) _ANSI_ARGS_((Tcl_Channel chan)); /* 182 */ + int (*tcl_InputBuffered) _ANSI_ARGS_((Tcl_Channel chan)); /* 183 */ + int (*tcl_InterpDeleted) _ANSI_ARGS_((Tcl_Interp * interp)); /* 184 */ + int (*tcl_IsSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 185 */ + char * (*tcl_JoinPath) _ANSI_ARGS_((int argc, char ** argv, Tcl_DString * resultPtr)); /* 186 */ + int (*tcl_LinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * addr, int type)); /* 187 */ + void *reserved188; + Tcl_Channel (*tcl_MakeFileChannel) _ANSI_ARGS_((ClientData handle, int mode)); /* 189 */ + int (*tcl_MakeSafe) _ANSI_ARGS_((Tcl_Interp * interp)); /* 190 */ + Tcl_Channel (*tcl_MakeTcpClientChannel) _ANSI_ARGS_((ClientData tcpSocket)); /* 191 */ + char * (*tcl_Merge) _ANSI_ARGS_((int argc, char ** argv)); /* 192 */ + Tcl_HashEntry * (*tcl_NextHashEntry) _ANSI_ARGS_((Tcl_HashSearch * searchPtr)); /* 193 */ + void (*tcl_NotifyChannel) _ANSI_ARGS_((Tcl_Channel channel, int mask)); /* 194 */ + Tcl_Obj * (*tcl_ObjGetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, int flags)); /* 195 */ + Tcl_Obj * (*tcl_ObjSetVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, Tcl_Obj * newValuePtr, int flags)); /* 196 */ + Tcl_Channel (*tcl_OpenCommandChannel) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 197 */ + Tcl_Channel (*tcl_OpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 198 */ + Tcl_Channel (*tcl_OpenTcpClient) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * address, char * myaddr, int myport, int async)); /* 199 */ + Tcl_Channel (*tcl_OpenTcpServer) _ANSI_ARGS_((Tcl_Interp * interp, int port, char * host, Tcl_TcpAcceptProc * acceptProc, ClientData callbackData)); /* 200 */ + void (*tcl_Preserve) _ANSI_ARGS_((ClientData data)); /* 201 */ + void (*tcl_PrintDouble) _ANSI_ARGS_((Tcl_Interp * interp, double value, char * dst)); /* 202 */ + int (*tcl_PutEnv) _ANSI_ARGS_((CONST char * string)); /* 203 */ + char * (*tcl_PosixError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 204 */ + void (*tcl_QueueEvent) _ANSI_ARGS_((Tcl_Event * evPtr, Tcl_QueuePosition position)); /* 205 */ + int (*tcl_Read) _ANSI_ARGS_((Tcl_Channel chan, char * bufPtr, int toRead)); /* 206 */ + void (*tcl_ReapDetachedProcs) _ANSI_ARGS_((void)); /* 207 */ + int (*tcl_RecordAndEval) _ANSI_ARGS_((Tcl_Interp * interp, char * cmd, int flags)); /* 208 */ + int (*tcl_RecordAndEvalObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * cmdPtr, int flags)); /* 209 */ + void (*tcl_RegisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 210 */ + void (*tcl_RegisterObjType) _ANSI_ARGS_((Tcl_ObjType * typePtr)); /* 211 */ + Tcl_RegExp (*tcl_RegExpCompile) _ANSI_ARGS_((Tcl_Interp * interp, char * string)); /* 212 */ + int (*tcl_RegExpExec) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_RegExp regexp, char * string, char * start)); /* 213 */ + int (*tcl_RegExpMatch) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * pattern)); /* 214 */ + void (*tcl_RegExpRange) _ANSI_ARGS_((Tcl_RegExp regexp, int index, char ** startPtr, char ** endPtr)); /* 215 */ + void (*tcl_Release) _ANSI_ARGS_((ClientData clientData)); /* 216 */ + void (*tcl_ResetResult) _ANSI_ARGS_((Tcl_Interp * interp)); /* 217 */ + int (*tcl_ScanElement) _ANSI_ARGS_((CONST char * string, int * flagPtr)); /* 218 */ + int (*tcl_ScanCountedElement) _ANSI_ARGS_((CONST char * string, int length, int * flagPtr)); /* 219 */ + int (*tcl_Seek) _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); /* 220 */ + int (*tcl_ServiceAll) _ANSI_ARGS_((void)); /* 221 */ + int (*tcl_ServiceEvent) _ANSI_ARGS_((int flags)); /* 222 */ + void (*tcl_SetAssocData) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_InterpDeleteProc * proc, ClientData clientData)); /* 223 */ + void (*tcl_SetChannelBufferSize) _ANSI_ARGS_((Tcl_Channel chan, int sz)); /* 224 */ + int (*tcl_SetChannelOption) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, char * optionName, char * newValue)); /* 225 */ + int (*tcl_SetCommandInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * cmdName, Tcl_CmdInfo * infoPtr)); /* 226 */ + void (*tcl_SetErrno) _ANSI_ARGS_((int err)); /* 227 */ + void (*tcl_SetErrorCode) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 228 */ + void (*tcl_SetMaxBlockTime) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 229 */ + void (*tcl_SetPanicProc) _ANSI_ARGS_((Tcl_PanicProc * panicProc)); /* 230 */ + int (*tcl_SetRecursionLimit) _ANSI_ARGS_((Tcl_Interp * interp, int depth)); /* 231 */ + void (*tcl_SetResult) _ANSI_ARGS_((Tcl_Interp * interp, char * string, Tcl_FreeProc * freeProc)); /* 232 */ + int (*tcl_SetServiceMode) _ANSI_ARGS_((int mode)); /* 233 */ + void (*tcl_SetObjErrorCode) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * errorObjPtr)); /* 234 */ + void (*tcl_SetObjResult) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * resultObjPtr)); /* 235 */ + void (*tcl_SetStdChannel) _ANSI_ARGS_((Tcl_Channel channel, int type)); /* 236 */ + char * (*tcl_SetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, char * newValue, int flags)); /* 237 */ + char * (*tcl_SetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, char * newValue, int flags)); /* 238 */ + char * (*tcl_SignalId) _ANSI_ARGS_((int sig)); /* 239 */ + char * (*tcl_SignalMsg) _ANSI_ARGS_((int sig)); /* 240 */ + void (*tcl_SourceRCFile) _ANSI_ARGS_((Tcl_Interp * interp)); /* 241 */ + int (*tcl_SplitList) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int * argcPtr, char *** argvPtr)); /* 242 */ + void (*tcl_SplitPath) _ANSI_ARGS_((char * path, int * argcPtr, char *** argvPtr)); /* 243 */ + void (*tcl_StaticPackage) _ANSI_ARGS_((Tcl_Interp * interp, char * pkgName, Tcl_PackageInitProc * initProc, Tcl_PackageInitProc * safeInitProc)); /* 244 */ + int (*tcl_StringMatch) _ANSI_ARGS_((char * string, char * pattern)); /* 245 */ + int (*tcl_Tell) _ANSI_ARGS_((Tcl_Channel chan)); /* 246 */ + int (*tcl_TraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 247 */ + int (*tcl_TraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 248 */ + char * (*tcl_TranslateFileName) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_DString * bufferPtr)); /* 249 */ + int (*tcl_Ungets) _ANSI_ARGS_((Tcl_Channel chan, char * str, int len, int atHead)); /* 250 */ + void (*tcl_UnlinkVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 251 */ + int (*tcl_UnregisterChannel) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 252 */ + int (*tcl_UnsetVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags)); /* 253 */ + int (*tcl_UnsetVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags)); /* 254 */ + void (*tcl_UntraceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 255 */ + void (*tcl_UntraceVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * proc, ClientData clientData)); /* 256 */ + void (*tcl_UpdateLinkedVar) _ANSI_ARGS_((Tcl_Interp * interp, char * varName)); /* 257 */ + int (*tcl_UpVar) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * varName, char * localName, int flags)); /* 258 */ + int (*tcl_UpVar2) _ANSI_ARGS_((Tcl_Interp * interp, char * frameName, char * part1, char * part2, char * localName, int flags)); /* 259 */ + int (*tcl_VarEval) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 260 */ + ClientData (*tcl_VarTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 261 */ + ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 262 */ + int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); /* 263 */ + void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); /* 264 */ + int (*tcl_DumpActiveMemory) _ANSI_ARGS_((char * fileName)); /* 265 */ void (*tcl_ValidateAllMemory) _ANSI_ARGS_((char * file, int line)); /* 266 */ - int (*tcl_VarEval) _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); /* 267 */ - int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 268 */ - ClientData (*tcl_VarTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, char * varName, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 269 */ - ClientData (*tcl_VarTraceInfo2) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, Tcl_VarTraceProc * procPtr, ClientData prevClientData)); /* 270 */ - int (*tcl_WaitForEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 271 */ - Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 272 */ - int (*tcl_Write) _ANSI_ARGS_((Tcl_Channel chan, char * s, int slen)); /* 273 */ - void (*tcl_WrongNumArgs) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], char * message)); /* 274 */ + void (*tcl_AppendResultVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 267 */ + void (*tcl_AppendStringsToObjVA) _ANSI_ARGS_((Tcl_Obj * objPtr, va_list argList)); /* 268 */ + char * (*tcl_HashStats) _ANSI_ARGS_((Tcl_HashTable * tablePtr)); /* 269 */ + char * (*tcl_ParseVar) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr)); /* 270 */ + char * (*tcl_PkgPresent) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 271 */ + char * (*tcl_PkgPresentEx) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact, ClientData * clientDataPtr)); /* 272 */ + int (*tcl_PkgProvide) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version)); /* 273 */ + char * (*tcl_PkgRequire) _ANSI_ARGS_((Tcl_Interp * interp, char * name, char * version, int exact)); /* 274 */ + void (*tcl_SetErrorCodeVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 275 */ + int (*tcl_VarEvalVA) _ANSI_ARGS_((Tcl_Interp * interp, va_list argList)); /* 276 */ + Tcl_Pid (*tcl_WaitPid) _ANSI_ARGS_((Tcl_Pid pid, int * statPtr, int options)); /* 277 */ + void (*panicVA) _ANSI_ARGS_((char * format, va_list argList)); /* 278 */ } TclStubs; extern TclStubs *tclStubsPtr; @@ -1149,1105 +1193,1124 @@ extern TclStubs *tclStubsPtr; * Inline function declarations: */ -#ifndef Tcl_AddErrorInfo -#define Tcl_AddErrorInfo(interp, message) \ - (tclStubsPtr->tcl_AddErrorInfo)(interp, message) /* 0 */ +#ifndef Tcl_PkgProvideEx +#define Tcl_PkgProvideEx(interp, name, version, clientData) \ + (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData) /* 0 */ #endif -#ifndef Tcl_AddObjErrorInfo -#define Tcl_AddObjErrorInfo(interp, message, length) \ - (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length) /* 1 */ +#ifndef Tcl_PkgRequireEx +#define Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) \ + (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr) /* 1 */ +#endif +#ifndef panic +#define panic \ + (tclStubsPtr->panic) /* 2 */ #endif #ifndef Tcl_Alloc #define Tcl_Alloc(size) \ - (tclStubsPtr->tcl_Alloc)(size) /* 2 */ + (tclStubsPtr->tcl_Alloc)(size) /* 3 */ #endif -#ifndef Tcl_AllowExceptions -#define Tcl_AllowExceptions(interp) \ - (tclStubsPtr->tcl_AllowExceptions)(interp) /* 3 */ +#ifndef Tcl_Free +#define Tcl_Free(ptr) \ + (tclStubsPtr->tcl_Free)(ptr) /* 4 */ #endif -#ifndef Tcl_AppendAllObjTypes -#define Tcl_AppendAllObjTypes(interp, objPtr) \ - (tclStubsPtr->tcl_AppendAllObjTypes)(interp, objPtr) /* 4 */ +#ifndef Tcl_Realloc +#define Tcl_Realloc(ptr, size) \ + (tclStubsPtr->tcl_Realloc)(ptr, size) /* 5 */ #endif -#ifndef Tcl_AppendElement -#define Tcl_AppendElement(interp, string) \ - (tclStubsPtr->tcl_AppendElement)(interp, string) /* 5 */ +#ifndef Tcl_DbCkalloc +#define Tcl_DbCkalloc(size, file, line) \ + (tclStubsPtr->tcl_DbCkalloc)(size, file, line) /* 6 */ #endif -#ifndef Tcl_AppendResult -#define Tcl_AppendResult \ - (tclStubsPtr->tcl_AppendResult) /* 6 */ +#ifndef Tcl_DbCkfree +#define Tcl_DbCkfree(ptr, file, line) \ + (tclStubsPtr->tcl_DbCkfree)(ptr, file, line) /* 7 */ #endif -#ifndef Tcl_AppendResultVA -#define Tcl_AppendResultVA(interp, argList) \ - (tclStubsPtr->tcl_AppendResultVA)(interp, argList) /* 7 */ +#ifndef Tcl_DbCkrealloc +#define Tcl_DbCkrealloc(ptr, size, file, line) \ + (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line) /* 8 */ #endif -#ifndef Tcl_AppendToObj -#define Tcl_AppendToObj(objPtr, bytes, length) \ - (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length) /* 8 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_CreateFileHandler +#define Tcl_CreateFileHandler(fd, mask, proc, clientData) \ + (tclStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData) /* 9 */ +#endif +#endif /* UNIX */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_DeleteFileHandler +#define Tcl_DeleteFileHandler(fd) \ + (tclStubsPtr->tcl_DeleteFileHandler)(fd) /* 10 */ +#endif +#endif /* UNIX */ +#ifndef Tcl_SetTimer +#define Tcl_SetTimer(timePtr) \ + (tclStubsPtr->tcl_SetTimer)(timePtr) /* 11 */ +#endif +#ifndef Tcl_Sleep +#define Tcl_Sleep(ms) \ + (tclStubsPtr->tcl_Sleep)(ms) /* 12 */ +#endif +#ifndef Tcl_WaitForEvent +#define Tcl_WaitForEvent(timePtr) \ + (tclStubsPtr->tcl_WaitForEvent)(timePtr) /* 13 */ +#endif +#ifndef Tcl_AppendAllObjTypes +#define Tcl_AppendAllObjTypes(interp, objPtr) \ + (tclStubsPtr->tcl_AppendAllObjTypes)(interp, objPtr) /* 14 */ #endif #ifndef Tcl_AppendStringsToObj #define Tcl_AppendStringsToObj \ - (tclStubsPtr->tcl_AppendStringsToObj) /* 9 */ + (tclStubsPtr->tcl_AppendStringsToObj) /* 15 */ #endif -#ifndef Tcl_AppendStringsToObjVA -#define Tcl_AppendStringsToObjVA(objPtr, argList) \ - (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList) /* 10 */ +#ifndef Tcl_AppendToObj +#define Tcl_AppendToObj(objPtr, bytes, length) \ + (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length) /* 16 */ +#endif +#ifndef Tcl_ConcatObj +#define Tcl_ConcatObj(objc, objv) \ + (tclStubsPtr->tcl_ConcatObj)(objc, objv) /* 17 */ +#endif +#ifndef Tcl_ConvertToType +#define Tcl_ConvertToType(interp, objPtr, typePtr) \ + (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr) /* 18 */ +#endif +#ifndef Tcl_DbDecrRefCount +#define Tcl_DbDecrRefCount(objPtr, file, line) \ + (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line) /* 19 */ +#endif +#ifndef Tcl_DbIncrRefCount +#define Tcl_DbIncrRefCount(objPtr, file, line) \ + (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line) /* 20 */ +#endif +#ifndef Tcl_DbIsShared +#define Tcl_DbIsShared(objPtr, file, line) \ + (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line) /* 21 */ +#endif +#ifndef Tcl_DbNewBooleanObj +#define Tcl_DbNewBooleanObj(boolValue, file, line) \ + (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line) /* 22 */ +#endif +#ifndef Tcl_DbNewByteArrayObj +#define Tcl_DbNewByteArrayObj(bytes, length, file, line) \ + (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line) /* 23 */ +#endif +#ifndef Tcl_DbNewDoubleObj +#define Tcl_DbNewDoubleObj(doubleValue, file, line) \ + (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line) /* 24 */ +#endif +#ifndef Tcl_DbNewListObj +#define Tcl_DbNewListObj(objc, objv, file, line) \ + (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line) /* 25 */ +#endif +#ifndef Tcl_DbNewLongObj +#define Tcl_DbNewLongObj(longValue, file, line) \ + (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line) /* 26 */ +#endif +#ifndef Tcl_DbNewObj +#define Tcl_DbNewObj(file, line) \ + (tclStubsPtr->tcl_DbNewObj)(file, line) /* 27 */ +#endif +#ifndef Tcl_DbNewStringObj +#define Tcl_DbNewStringObj(bytes, length, file, line) \ + (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line) /* 28 */ +#endif +#ifndef Tcl_DuplicateObj +#define Tcl_DuplicateObj(objPtr) \ + (tclStubsPtr->tcl_DuplicateObj)(objPtr) /* 29 */ +#endif +#ifndef TclFreeObj +#define TclFreeObj(objPtr) \ + (tclStubsPtr->tclFreeObj)(objPtr) /* 30 */ +#endif +#ifndef Tcl_GetBoolean +#define Tcl_GetBoolean(interp, string, boolPtr) \ + (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr) /* 31 */ +#endif +#ifndef Tcl_GetBooleanFromObj +#define Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) \ + (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr) /* 32 */ +#endif +#ifndef Tcl_GetByteArrayFromObj +#define Tcl_GetByteArrayFromObj(objPtr, lengthPtr) \ + (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr) /* 33 */ +#endif +#ifndef Tcl_GetDouble +#define Tcl_GetDouble(interp, string, doublePtr) \ + (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr) /* 34 */ +#endif +#ifndef Tcl_GetDoubleFromObj +#define Tcl_GetDoubleFromObj(interp, objPtr, doublePtr) \ + (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr) /* 35 */ +#endif +#ifndef Tcl_GetIndexFromObj +#define Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr) \ + (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr) /* 36 */ +#endif +#ifndef Tcl_GetInt +#define Tcl_GetInt(interp, string, intPtr) \ + (tclStubsPtr->tcl_GetInt)(interp, string, intPtr) /* 37 */ +#endif +#ifndef Tcl_GetIntFromObj +#define Tcl_GetIntFromObj(interp, objPtr, intPtr) \ + (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr) /* 38 */ +#endif +#ifndef Tcl_GetLongFromObj +#define Tcl_GetLongFromObj(interp, objPtr, longPtr) \ + (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr) /* 39 */ +#endif +#ifndef Tcl_GetObjType +#define Tcl_GetObjType(typeName) \ + (tclStubsPtr->tcl_GetObjType)(typeName) /* 40 */ +#endif +#ifndef Tcl_GetStringFromObj +#define Tcl_GetStringFromObj(objPtr, lengthPtr) \ + (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr) /* 41 */ +#endif +#ifndef Tcl_InvalidateStringRep +#define Tcl_InvalidateStringRep(objPtr) \ + (tclStubsPtr->tcl_InvalidateStringRep)(objPtr) /* 42 */ +#endif +#ifndef Tcl_ListObjAppendList +#define Tcl_ListObjAppendList(interp, listPtr, elemListPtr) \ + (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr) /* 43 */ +#endif +#ifndef Tcl_ListObjAppendElement +#define Tcl_ListObjAppendElement(interp, listPtr, objPtr) \ + (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr) /* 44 */ +#endif +#ifndef Tcl_ListObjGetElements +#define Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr) \ + (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr) /* 45 */ +#endif +#ifndef Tcl_ListObjIndex +#define Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr) \ + (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr) /* 46 */ +#endif +#ifndef Tcl_ListObjLength +#define Tcl_ListObjLength(interp, listPtr, intPtr) \ + (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr) /* 47 */ +#endif +#ifndef Tcl_ListObjReplace +#define Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv) \ + (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv) /* 48 */ +#endif +#ifndef Tcl_NewBooleanObj +#define Tcl_NewBooleanObj(boolValue) \ + (tclStubsPtr->tcl_NewBooleanObj)(boolValue) /* 49 */ +#endif +#ifndef Tcl_NewByteArrayObj +#define Tcl_NewByteArrayObj(bytes, length) \ + (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length) /* 50 */ +#endif +#ifndef Tcl_NewDoubleObj +#define Tcl_NewDoubleObj(doubleValue) \ + (tclStubsPtr->tcl_NewDoubleObj)(doubleValue) /* 51 */ +#endif +#ifndef Tcl_NewIntObj +#define Tcl_NewIntObj(intValue) \ + (tclStubsPtr->tcl_NewIntObj)(intValue) /* 52 */ +#endif +#ifndef Tcl_NewListObj +#define Tcl_NewListObj(objc, objv) \ + (tclStubsPtr->tcl_NewListObj)(objc, objv) /* 53 */ +#endif +#ifndef Tcl_NewLongObj +#define Tcl_NewLongObj(longValue) \ + (tclStubsPtr->tcl_NewLongObj)(longValue) /* 54 */ +#endif +#ifndef Tcl_NewObj +#define Tcl_NewObj() \ + (tclStubsPtr->tcl_NewObj)() /* 55 */ +#endif +#ifndef Tcl_NewStringObj +#define Tcl_NewStringObj(bytes, length) \ + (tclStubsPtr->tcl_NewStringObj)(bytes, length) /* 56 */ +#endif +#ifndef Tcl_SetBooleanObj +#define Tcl_SetBooleanObj(objPtr, boolValue) \ + (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue) /* 57 */ +#endif +#ifndef Tcl_SetByteArrayLength +#define Tcl_SetByteArrayLength(objPtr, length) \ + (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length) /* 58 */ +#endif +#ifndef Tcl_SetByteArrayObj +#define Tcl_SetByteArrayObj(objPtr, bytes, length) \ + (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length) /* 59 */ +#endif +#ifndef Tcl_SetDoubleObj +#define Tcl_SetDoubleObj(objPtr, doubleValue) \ + (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue) /* 60 */ +#endif +#ifndef Tcl_SetIntObj +#define Tcl_SetIntObj(objPtr, intValue) \ + (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue) /* 61 */ +#endif +#ifndef Tcl_SetListObj +#define Tcl_SetListObj(objPtr, objc, objv) \ + (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv) /* 62 */ +#endif +#ifndef Tcl_SetLongObj +#define Tcl_SetLongObj(objPtr, longValue) \ + (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue) /* 63 */ +#endif +#ifndef Tcl_SetObjLength +#define Tcl_SetObjLength(objPtr, length) \ + (tclStubsPtr->tcl_SetObjLength)(objPtr, length) /* 64 */ +#endif +#ifndef Tcl_SetStringObj +#define Tcl_SetStringObj(objPtr, bytes, length) \ + (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length) /* 65 */ +#endif +#ifndef Tcl_AddErrorInfo +#define Tcl_AddErrorInfo(interp, message) \ + (tclStubsPtr->tcl_AddErrorInfo)(interp, message) /* 66 */ +#endif +#ifndef Tcl_AddObjErrorInfo +#define Tcl_AddObjErrorInfo(interp, message, length) \ + (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length) /* 67 */ +#endif +#ifndef Tcl_AllowExceptions +#define Tcl_AllowExceptions(interp) \ + (tclStubsPtr->tcl_AllowExceptions)(interp) /* 68 */ +#endif +#ifndef Tcl_AppendElement +#define Tcl_AppendElement(interp, string) \ + (tclStubsPtr->tcl_AppendElement)(interp, string) /* 69 */ +#endif +#ifndef Tcl_AppendResult +#define Tcl_AppendResult \ + (tclStubsPtr->tcl_AppendResult) /* 70 */ #endif #ifndef Tcl_AsyncCreate #define Tcl_AsyncCreate(proc, clientData) \ - (tclStubsPtr->tcl_AsyncCreate)(proc, clientData) /* 11 */ + (tclStubsPtr->tcl_AsyncCreate)(proc, clientData) /* 71 */ #endif #ifndef Tcl_AsyncDelete #define Tcl_AsyncDelete(async) \ - (tclStubsPtr->tcl_AsyncDelete)(async) /* 12 */ + (tclStubsPtr->tcl_AsyncDelete)(async) /* 72 */ #endif #ifndef Tcl_AsyncInvoke #define Tcl_AsyncInvoke(interp, code) \ - (tclStubsPtr->tcl_AsyncInvoke)(interp, code) /* 13 */ + (tclStubsPtr->tcl_AsyncInvoke)(interp, code) /* 73 */ #endif #ifndef Tcl_AsyncMark #define Tcl_AsyncMark(async) \ - (tclStubsPtr->tcl_AsyncMark)(async) /* 14 */ + (tclStubsPtr->tcl_AsyncMark)(async) /* 74 */ #endif #ifndef Tcl_AsyncReady #define Tcl_AsyncReady() \ - (tclStubsPtr->tcl_AsyncReady)() /* 15 */ + (tclStubsPtr->tcl_AsyncReady)() /* 75 */ #endif #ifndef Tcl_BackgroundError #define Tcl_BackgroundError(interp) \ - (tclStubsPtr->tcl_BackgroundError)(interp) /* 16 */ + (tclStubsPtr->tcl_BackgroundError)(interp) /* 76 */ #endif #ifndef Tcl_Backslash #define Tcl_Backslash(src, readPtr) \ - (tclStubsPtr->tcl_Backslash)(src, readPtr) /* 17 */ + (tclStubsPtr->tcl_Backslash)(src, readPtr) /* 77 */ #endif #ifndef Tcl_BadChannelOption #define Tcl_BadChannelOption(interp, optionName, optionList) \ - (tclStubsPtr->tcl_BadChannelOption)(interp, optionName, optionList) /* 18 */ + (tclStubsPtr->tcl_BadChannelOption)(interp, optionName, optionList) /* 78 */ #endif #ifndef Tcl_CallWhenDeleted #define Tcl_CallWhenDeleted(interp, proc, clientData) \ - (tclStubsPtr->tcl_CallWhenDeleted)(interp, proc, clientData) /* 19 */ + (tclStubsPtr->tcl_CallWhenDeleted)(interp, proc, clientData) /* 79 */ #endif #ifndef Tcl_CancelIdleCall #define Tcl_CancelIdleCall(idleProc, clientData) \ - (tclStubsPtr->tcl_CancelIdleCall)(idleProc, clientData) /* 20 */ + (tclStubsPtr->tcl_CancelIdleCall)(idleProc, clientData) /* 80 */ #endif #ifndef Tcl_Close #define Tcl_Close(interp, chan) \ - (tclStubsPtr->tcl_Close)(interp, chan) /* 21 */ + (tclStubsPtr->tcl_Close)(interp, chan) /* 81 */ #endif #ifndef Tcl_CommandComplete #define Tcl_CommandComplete(cmd) \ - (tclStubsPtr->tcl_CommandComplete)(cmd) /* 22 */ + (tclStubsPtr->tcl_CommandComplete)(cmd) /* 82 */ #endif #ifndef Tcl_Concat #define Tcl_Concat(argc, argv) \ - (tclStubsPtr->tcl_Concat)(argc, argv) /* 23 */ -#endif -#ifndef Tcl_ConcatObj -#define Tcl_ConcatObj(objc, objv) \ - (tclStubsPtr->tcl_ConcatObj)(objc, objv) /* 24 */ -#endif -#ifndef Tcl_ConvertCountedElement -#define Tcl_ConvertCountedElement(src, length, dst, flags) \ - (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags) /* 25 */ + (tclStubsPtr->tcl_Concat)(argc, argv) /* 83 */ #endif #ifndef Tcl_ConvertElement #define Tcl_ConvertElement(src, dst, flags) \ - (tclStubsPtr->tcl_ConvertElement)(src, dst, flags) /* 26 */ + (tclStubsPtr->tcl_ConvertElement)(src, dst, flags) /* 84 */ #endif -#ifndef Tcl_ConvertToType -#define Tcl_ConvertToType(interp, objPtr, typePtr) \ - (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr) /* 27 */ +#ifndef Tcl_ConvertCountedElement +#define Tcl_ConvertCountedElement(src, length, dst, flags) \ + (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags) /* 85 */ #endif #ifndef Tcl_CreateAlias #define Tcl_CreateAlias(slave, slaveCmd, target, targetCmd, argc, argv) \ - (tclStubsPtr->tcl_CreateAlias)(slave, slaveCmd, target, targetCmd, argc, argv) /* 28 */ + (tclStubsPtr->tcl_CreateAlias)(slave, slaveCmd, target, targetCmd, argc, argv) /* 86 */ #endif #ifndef Tcl_CreateAliasObj #define Tcl_CreateAliasObj(slave, slaveCmd, target, targetCmd, objc, objv) \ - (tclStubsPtr->tcl_CreateAliasObj)(slave, slaveCmd, target, targetCmd, objc, objv) /* 29 */ + (tclStubsPtr->tcl_CreateAliasObj)(slave, slaveCmd, target, targetCmd, objc, objv) /* 87 */ #endif #ifndef Tcl_CreateChannel #define Tcl_CreateChannel(typePtr, chanName, instanceData, mask) \ - (tclStubsPtr->tcl_CreateChannel)(typePtr, chanName, instanceData, mask) /* 30 */ + (tclStubsPtr->tcl_CreateChannel)(typePtr, chanName, instanceData, mask) /* 88 */ #endif #ifndef Tcl_CreateChannelHandler #define Tcl_CreateChannelHandler(chan, mask, proc, clientData) \ - (tclStubsPtr->tcl_CreateChannelHandler)(chan, mask, proc, clientData) /* 31 */ + (tclStubsPtr->tcl_CreateChannelHandler)(chan, mask, proc, clientData) /* 89 */ #endif #ifndef Tcl_CreateCloseHandler #define Tcl_CreateCloseHandler(chan, proc, clientData) \ - (tclStubsPtr->tcl_CreateCloseHandler)(chan, proc, clientData) /* 32 */ + (tclStubsPtr->tcl_CreateCloseHandler)(chan, proc, clientData) /* 90 */ #endif #ifndef Tcl_CreateCommand #define Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc) \ - (tclStubsPtr->tcl_CreateCommand)(interp, cmdName, proc, clientData, deleteProc) /* 33 */ + (tclStubsPtr->tcl_CreateCommand)(interp, cmdName, proc, clientData, deleteProc) /* 91 */ #endif #ifndef Tcl_CreateEventSource #define Tcl_CreateEventSource(setupProc, checkProc, clientData) \ - (tclStubsPtr->tcl_CreateEventSource)(setupProc, checkProc, clientData) /* 34 */ + (tclStubsPtr->tcl_CreateEventSource)(setupProc, checkProc, clientData) /* 92 */ #endif #ifndef Tcl_CreateExitHandler #define Tcl_CreateExitHandler(proc, clientData) \ - (tclStubsPtr->tcl_CreateExitHandler)(proc, clientData) /* 35 */ + (tclStubsPtr->tcl_CreateExitHandler)(proc, clientData) /* 93 */ #endif #ifndef Tcl_CreateInterp #define Tcl_CreateInterp() \ - (tclStubsPtr->tcl_CreateInterp)() /* 36 */ + (tclStubsPtr->tcl_CreateInterp)() /* 94 */ #endif #ifndef Tcl_CreateMathFunc #define Tcl_CreateMathFunc(interp, name, numArgs, argTypes, proc, clientData) \ - (tclStubsPtr->tcl_CreateMathFunc)(interp, name, numArgs, argTypes, proc, clientData) /* 37 */ + (tclStubsPtr->tcl_CreateMathFunc)(interp, name, numArgs, argTypes, proc, clientData) /* 95 */ #endif #ifndef Tcl_CreateObjCommand #define Tcl_CreateObjCommand(interp, cmdName, proc, clientData, deleteProc) \ - (tclStubsPtr->tcl_CreateObjCommand)(interp, cmdName, proc, clientData, deleteProc) /* 38 */ + (tclStubsPtr->tcl_CreateObjCommand)(interp, cmdName, proc, clientData, deleteProc) /* 96 */ #endif #ifndef Tcl_CreateSlave #define Tcl_CreateSlave(interp, slaveName, isSafe) \ - (tclStubsPtr->tcl_CreateSlave)(interp, slaveName, isSafe) /* 39 */ + (tclStubsPtr->tcl_CreateSlave)(interp, slaveName, isSafe) /* 97 */ #endif #ifndef Tcl_CreateTimerHandler #define Tcl_CreateTimerHandler(milliseconds, proc, clientData) \ - (tclStubsPtr->tcl_CreateTimerHandler)(milliseconds, proc, clientData) /* 40 */ + (tclStubsPtr->tcl_CreateTimerHandler)(milliseconds, proc, clientData) /* 98 */ #endif #ifndef Tcl_CreateTrace #define Tcl_CreateTrace(interp, level, proc, clientData) \ - (tclStubsPtr->tcl_CreateTrace)(interp, level, proc, clientData) /* 41 */ -#endif -#ifndef Tcl_DbCkalloc -#define Tcl_DbCkalloc(size, file, line) \ - (tclStubsPtr->tcl_DbCkalloc)(size, file, line) /* 42 */ -#endif -#ifndef Tcl_DbCkfree -#define Tcl_DbCkfree(ptr, file, line) \ - (tclStubsPtr->tcl_DbCkfree)(ptr, file, line) /* 43 */ -#endif -#ifndef Tcl_DbCkrealloc -#define Tcl_DbCkrealloc(ptr, size, file, line) \ - (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line) /* 44 */ -#endif -#ifndef Tcl_DbDecrRefCount -#define Tcl_DbDecrRefCount(objPtr, file, line) \ - (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line) /* 45 */ -#endif -#ifndef Tcl_DbIncrRefCount -#define Tcl_DbIncrRefCount(objPtr, file, line) \ - (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line) /* 46 */ -#endif -#ifndef Tcl_DbIsShared -#define Tcl_DbIsShared(objPtr, file, line) \ - (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line) /* 47 */ -#endif -#ifndef Tcl_DbNewBooleanObj -#define Tcl_DbNewBooleanObj(boolValue, file, line) \ - (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line) /* 48 */ -#endif -#ifndef Tcl_DbNewByteArrayObj -#define Tcl_DbNewByteArrayObj(bytes, length, file, line) \ - (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line) /* 49 */ -#endif -#ifndef Tcl_DbNewDoubleObj -#define Tcl_DbNewDoubleObj(doubleValue, file, line) \ - (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line) /* 50 */ -#endif -#ifndef Tcl_DbNewListObj -#define Tcl_DbNewListObj(objc, objv, file, line) \ - (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line) /* 51 */ -#endif -#ifndef Tcl_DbNewLongObj -#define Tcl_DbNewLongObj(longValue, file, line) \ - (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line) /* 52 */ -#endif -#ifndef Tcl_DbNewObj -#define Tcl_DbNewObj(file, line) \ - (tclStubsPtr->tcl_DbNewObj)(file, line) /* 53 */ -#endif -#ifndef Tcl_DbNewStringObj -#define Tcl_DbNewStringObj(bytes, length, file, line) \ - (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line) /* 54 */ + (tclStubsPtr->tcl_CreateTrace)(interp, level, proc, clientData) /* 99 */ #endif #ifndef Tcl_DeleteAssocData #define Tcl_DeleteAssocData(interp, name) \ - (tclStubsPtr->tcl_DeleteAssocData)(interp, name) /* 55 */ -#endif -#ifndef Tcl_DeleteCommand -#define Tcl_DeleteCommand(interp, cmdName) \ - (tclStubsPtr->tcl_DeleteCommand)(interp, cmdName) /* 56 */ -#endif -#ifndef Tcl_DeleteCommandFromToken -#define Tcl_DeleteCommandFromToken(interp, command) \ - (tclStubsPtr->tcl_DeleteCommandFromToken)(interp, command) /* 57 */ + (tclStubsPtr->tcl_DeleteAssocData)(interp, name) /* 100 */ #endif #ifndef Tcl_DeleteChannelHandler #define Tcl_DeleteChannelHandler(chan, proc, clientData) \ - (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData) /* 58 */ + (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData) /* 101 */ #endif #ifndef Tcl_DeleteCloseHandler #define Tcl_DeleteCloseHandler(chan, proc, clientData) \ - (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData) /* 59 */ + (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData) /* 102 */ +#endif +#ifndef Tcl_DeleteCommand +#define Tcl_DeleteCommand(interp, cmdName) \ + (tclStubsPtr->tcl_DeleteCommand)(interp, cmdName) /* 103 */ +#endif +#ifndef Tcl_DeleteCommandFromToken +#define Tcl_DeleteCommandFromToken(interp, command) \ + (tclStubsPtr->tcl_DeleteCommandFromToken)(interp, command) /* 104 */ #endif #ifndef Tcl_DeleteEvents #define Tcl_DeleteEvents(proc, clientData) \ - (tclStubsPtr->tcl_DeleteEvents)(proc, clientData) /* 60 */ + (tclStubsPtr->tcl_DeleteEvents)(proc, clientData) /* 105 */ #endif #ifndef Tcl_DeleteEventSource #define Tcl_DeleteEventSource(setupProc, checkProc, clientData) \ - (tclStubsPtr->tcl_DeleteEventSource)(setupProc, checkProc, clientData) /* 61 */ + (tclStubsPtr->tcl_DeleteEventSource)(setupProc, checkProc, clientData) /* 106 */ #endif #ifndef Tcl_DeleteExitHandler #define Tcl_DeleteExitHandler(proc, clientData) \ - (tclStubsPtr->tcl_DeleteExitHandler)(proc, clientData) /* 62 */ + (tclStubsPtr->tcl_DeleteExitHandler)(proc, clientData) /* 107 */ #endif #ifndef Tcl_DeleteHashEntry #define Tcl_DeleteHashEntry(entryPtr) \ - (tclStubsPtr->tcl_DeleteHashEntry)(entryPtr) /* 63 */ + (tclStubsPtr->tcl_DeleteHashEntry)(entryPtr) /* 108 */ #endif #ifndef Tcl_DeleteHashTable #define Tcl_DeleteHashTable(tablePtr) \ - (tclStubsPtr->tcl_DeleteHashTable)(tablePtr) /* 64 */ + (tclStubsPtr->tcl_DeleteHashTable)(tablePtr) /* 109 */ #endif #ifndef Tcl_DeleteInterp #define Tcl_DeleteInterp(interp) \ - (tclStubsPtr->tcl_DeleteInterp)(interp) /* 65 */ + (tclStubsPtr->tcl_DeleteInterp)(interp) /* 110 */ +#endif +#ifndef Tcl_DetachPids +#define Tcl_DetachPids(numPids, pidPtr) \ + (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr) /* 111 */ #endif #ifndef Tcl_DeleteTimerHandler #define Tcl_DeleteTimerHandler(token) \ - (tclStubsPtr->tcl_DeleteTimerHandler)(token) /* 66 */ + (tclStubsPtr->tcl_DeleteTimerHandler)(token) /* 112 */ #endif #ifndef Tcl_DeleteTrace #define Tcl_DeleteTrace(interp, trace) \ - (tclStubsPtr->tcl_DeleteTrace)(interp, trace) /* 67 */ -#endif -#ifndef Tcl_DetachPids -#define Tcl_DetachPids(numPids, pidPtr) \ - (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr) /* 68 */ + (tclStubsPtr->tcl_DeleteTrace)(interp, trace) /* 113 */ #endif #ifndef Tcl_DontCallWhenDeleted #define Tcl_DontCallWhenDeleted(interp, proc, clientData) \ - (tclStubsPtr->tcl_DontCallWhenDeleted)(interp, proc, clientData) /* 69 */ + (tclStubsPtr->tcl_DontCallWhenDeleted)(interp, proc, clientData) /* 114 */ #endif #ifndef Tcl_DoOneEvent #define Tcl_DoOneEvent(flags) \ - (tclStubsPtr->tcl_DoOneEvent)(flags) /* 70 */ + (tclStubsPtr->tcl_DoOneEvent)(flags) /* 115 */ #endif #ifndef Tcl_DoWhenIdle #define Tcl_DoWhenIdle(proc, clientData) \ - (tclStubsPtr->tcl_DoWhenIdle)(proc, clientData) /* 71 */ + (tclStubsPtr->tcl_DoWhenIdle)(proc, clientData) /* 116 */ #endif #ifndef Tcl_DStringAppend #define Tcl_DStringAppend(dsPtr, string, length) \ - (tclStubsPtr->tcl_DStringAppend)(dsPtr, string, length) /* 72 */ + (tclStubsPtr->tcl_DStringAppend)(dsPtr, string, length) /* 117 */ #endif #ifndef Tcl_DStringAppendElement #define Tcl_DStringAppendElement(dsPtr, string) \ - (tclStubsPtr->tcl_DStringAppendElement)(dsPtr, string) /* 73 */ + (tclStubsPtr->tcl_DStringAppendElement)(dsPtr, string) /* 118 */ #endif #ifndef Tcl_DStringEndSublist #define Tcl_DStringEndSublist(dsPtr) \ - (tclStubsPtr->tcl_DStringEndSublist)(dsPtr) /* 74 */ + (tclStubsPtr->tcl_DStringEndSublist)(dsPtr) /* 119 */ #endif #ifndef Tcl_DStringFree #define Tcl_DStringFree(dsPtr) \ - (tclStubsPtr->tcl_DStringFree)(dsPtr) /* 75 */ + (tclStubsPtr->tcl_DStringFree)(dsPtr) /* 120 */ #endif #ifndef Tcl_DStringGetResult #define Tcl_DStringGetResult(interp, dsPtr) \ - (tclStubsPtr->tcl_DStringGetResult)(interp, dsPtr) /* 76 */ + (tclStubsPtr->tcl_DStringGetResult)(interp, dsPtr) /* 121 */ #endif #ifndef Tcl_DStringInit #define Tcl_DStringInit(dsPtr) \ - (tclStubsPtr->tcl_DStringInit)(dsPtr) /* 77 */ + (tclStubsPtr->tcl_DStringInit)(dsPtr) /* 122 */ #endif #ifndef Tcl_DStringResult #define Tcl_DStringResult(interp, dsPtr) \ - (tclStubsPtr->tcl_DStringResult)(interp, dsPtr) /* 78 */ + (tclStubsPtr->tcl_DStringResult)(interp, dsPtr) /* 123 */ #endif #ifndef Tcl_DStringSetLength #define Tcl_DStringSetLength(dsPtr, length) \ - (tclStubsPtr->tcl_DStringSetLength)(dsPtr, length) /* 79 */ + (tclStubsPtr->tcl_DStringSetLength)(dsPtr, length) /* 124 */ #endif #ifndef Tcl_DStringStartSublist #define Tcl_DStringStartSublist(dsPtr) \ - (tclStubsPtr->tcl_DStringStartSublist)(dsPtr) /* 80 */ -#endif -#ifndef Tcl_DumpActiveMemory -#define Tcl_DumpActiveMemory(fileName) \ - (tclStubsPtr->tcl_DumpActiveMemory)(fileName) /* 81 */ -#endif -#ifndef Tcl_DuplicateObj -#define Tcl_DuplicateObj(objPtr) \ - (tclStubsPtr->tcl_DuplicateObj)(objPtr) /* 82 */ + (tclStubsPtr->tcl_DStringStartSublist)(dsPtr) /* 125 */ #endif #ifndef Tcl_Eof #define Tcl_Eof(chan) \ - (tclStubsPtr->tcl_Eof)(chan) /* 83 */ + (tclStubsPtr->tcl_Eof)(chan) /* 126 */ #endif #ifndef Tcl_ErrnoId #define Tcl_ErrnoId() \ - (tclStubsPtr->tcl_ErrnoId)() /* 84 */ + (tclStubsPtr->tcl_ErrnoId)() /* 127 */ #endif #ifndef Tcl_ErrnoMsg #define Tcl_ErrnoMsg(err) \ - (tclStubsPtr->tcl_ErrnoMsg)(err) /* 85 */ + (tclStubsPtr->tcl_ErrnoMsg)(err) /* 128 */ #endif #ifndef Tcl_Eval #define Tcl_Eval(interp, string) \ - (tclStubsPtr->tcl_Eval)(interp, string) /* 86 */ + (tclStubsPtr->tcl_Eval)(interp, string) /* 129 */ #endif #ifndef Tcl_EvalFile #define Tcl_EvalFile(interp, fileName) \ - (tclStubsPtr->tcl_EvalFile)(interp, fileName) /* 87 */ -#endif -#ifndef Tcl_EventuallyFree -#define Tcl_EventuallyFree(clientData, freeProc) \ - (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc) /* 88 */ + (tclStubsPtr->tcl_EvalFile)(interp, fileName) /* 130 */ #endif #ifndef Tcl_EvalObj #define Tcl_EvalObj(interp, objPtr) \ - (tclStubsPtr->tcl_EvalObj)(interp, objPtr) /* 89 */ + (tclStubsPtr->tcl_EvalObj)(interp, objPtr) /* 131 */ +#endif +#ifndef Tcl_EventuallyFree +#define Tcl_EventuallyFree(clientData, freeProc) \ + (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc) /* 132 */ #endif #ifndef Tcl_Exit #define Tcl_Exit(status) \ - (tclStubsPtr->tcl_Exit)(status) /* 90 */ + (tclStubsPtr->tcl_Exit)(status) /* 133 */ #endif #ifndef Tcl_ExposeCommand #define Tcl_ExposeCommand(interp, hiddenCmdToken, cmdName) \ - (tclStubsPtr->tcl_ExposeCommand)(interp, hiddenCmdToken, cmdName) /* 91 */ + (tclStubsPtr->tcl_ExposeCommand)(interp, hiddenCmdToken, cmdName) /* 134 */ #endif #ifndef Tcl_ExprBoolean #define Tcl_ExprBoolean(interp, string, ptr) \ - (tclStubsPtr->tcl_ExprBoolean)(interp, string, ptr) /* 92 */ + (tclStubsPtr->tcl_ExprBoolean)(interp, string, ptr) /* 135 */ #endif #ifndef Tcl_ExprBooleanObj #define Tcl_ExprBooleanObj(interp, objPtr, ptr) \ - (tclStubsPtr->tcl_ExprBooleanObj)(interp, objPtr, ptr) /* 93 */ + (tclStubsPtr->tcl_ExprBooleanObj)(interp, objPtr, ptr) /* 136 */ #endif #ifndef Tcl_ExprDouble #define Tcl_ExprDouble(interp, string, ptr) \ - (tclStubsPtr->tcl_ExprDouble)(interp, string, ptr) /* 94 */ + (tclStubsPtr->tcl_ExprDouble)(interp, string, ptr) /* 137 */ #endif #ifndef Tcl_ExprDoubleObj #define Tcl_ExprDoubleObj(interp, objPtr, ptr) \ - (tclStubsPtr->tcl_ExprDoubleObj)(interp, objPtr, ptr) /* 95 */ + (tclStubsPtr->tcl_ExprDoubleObj)(interp, objPtr, ptr) /* 138 */ #endif #ifndef Tcl_ExprLong #define Tcl_ExprLong(interp, string, ptr) \ - (tclStubsPtr->tcl_ExprLong)(interp, string, ptr) /* 96 */ + (tclStubsPtr->tcl_ExprLong)(interp, string, ptr) /* 139 */ #endif #ifndef Tcl_ExprLongObj #define Tcl_ExprLongObj(interp, objPtr, ptr) \ - (tclStubsPtr->tcl_ExprLongObj)(interp, objPtr, ptr) /* 97 */ + (tclStubsPtr->tcl_ExprLongObj)(interp, objPtr, ptr) /* 140 */ #endif #ifndef Tcl_ExprObj #define Tcl_ExprObj(interp, objPtr, resultPtrPtr) \ - (tclStubsPtr->tcl_ExprObj)(interp, objPtr, resultPtrPtr) /* 98 */ + (tclStubsPtr->tcl_ExprObj)(interp, objPtr, resultPtrPtr) /* 141 */ #endif #ifndef Tcl_ExprString #define Tcl_ExprString(interp, string) \ - (tclStubsPtr->tcl_ExprString)(interp, string) /* 99 */ + (tclStubsPtr->tcl_ExprString)(interp, string) /* 142 */ #endif #ifndef Tcl_Finalize #define Tcl_Finalize() \ - (tclStubsPtr->tcl_Finalize)() /* 100 */ + (tclStubsPtr->tcl_Finalize)() /* 143 */ #endif #ifndef Tcl_FindExecutable #define Tcl_FindExecutable(argv0) \ - (tclStubsPtr->tcl_FindExecutable)(argv0) /* 101 */ + (tclStubsPtr->tcl_FindExecutable)(argv0) /* 144 */ #endif #ifndef Tcl_FirstHashEntry #define Tcl_FirstHashEntry(tablePtr, searchPtr) \ - (tclStubsPtr->tcl_FirstHashEntry)(tablePtr, searchPtr) /* 102 */ + (tclStubsPtr->tcl_FirstHashEntry)(tablePtr, searchPtr) /* 145 */ #endif #ifndef Tcl_Flush #define Tcl_Flush(chan) \ - (tclStubsPtr->tcl_Flush)(chan) /* 103 */ -#endif -#ifndef Tcl_Free -#define Tcl_Free(ptr) \ - (tclStubsPtr->tcl_Free)(ptr) /* 104 */ -#endif -#ifndef TclFreeObj -#define TclFreeObj(objPtr) \ - (tclStubsPtr->tclFreeObj)(objPtr) /* 105 */ + (tclStubsPtr->tcl_Flush)(chan) /* 146 */ #endif #ifndef Tcl_FreeResult #define Tcl_FreeResult(interp) \ - (tclStubsPtr->tcl_FreeResult)(interp) /* 106 */ + (tclStubsPtr->tcl_FreeResult)(interp) /* 147 */ #endif #ifndef Tcl_GetAlias #define Tcl_GetAlias(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) \ - (tclStubsPtr->tcl_GetAlias)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) /* 107 */ + (tclStubsPtr->tcl_GetAlias)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) /* 148 */ #endif #ifndef Tcl_GetAliasObj #define Tcl_GetAliasObj(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) \ - (tclStubsPtr->tcl_GetAliasObj)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) /* 108 */ + (tclStubsPtr->tcl_GetAliasObj)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) /* 149 */ #endif #ifndef Tcl_GetAssocData #define Tcl_GetAssocData(interp, name, procPtr) \ - (tclStubsPtr->tcl_GetAssocData)(interp, name, procPtr) /* 109 */ -#endif -#ifndef Tcl_GetBoolean -#define Tcl_GetBoolean(interp, string, boolPtr) \ - (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr) /* 110 */ -#endif -#ifndef Tcl_GetBooleanFromObj -#define Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) \ - (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr) /* 111 */ -#endif -#ifndef Tcl_GetByteArrayFromObj -#define Tcl_GetByteArrayFromObj(objPtr, lengthPtr) \ - (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr) /* 112 */ + (tclStubsPtr->tcl_GetAssocData)(interp, name, procPtr) /* 150 */ #endif #ifndef Tcl_GetChannel #define Tcl_GetChannel(interp, chanName, modePtr) \ - (tclStubsPtr->tcl_GetChannel)(interp, chanName, modePtr) /* 113 */ + (tclStubsPtr->tcl_GetChannel)(interp, chanName, modePtr) /* 151 */ #endif #ifndef Tcl_GetChannelBufferSize #define Tcl_GetChannelBufferSize(chan) \ - (tclStubsPtr->tcl_GetChannelBufferSize)(chan) /* 114 */ + (tclStubsPtr->tcl_GetChannelBufferSize)(chan) /* 152 */ #endif #ifndef Tcl_GetChannelHandle #define Tcl_GetChannelHandle(chan, direction, handlePtr) \ - (tclStubsPtr->tcl_GetChannelHandle)(chan, direction, handlePtr) /* 115 */ + (tclStubsPtr->tcl_GetChannelHandle)(chan, direction, handlePtr) /* 153 */ #endif #ifndef Tcl_GetChannelInstanceData #define Tcl_GetChannelInstanceData(chan) \ - (tclStubsPtr->tcl_GetChannelInstanceData)(chan) /* 116 */ + (tclStubsPtr->tcl_GetChannelInstanceData)(chan) /* 154 */ #endif #ifndef Tcl_GetChannelMode #define Tcl_GetChannelMode(chan) \ - (tclStubsPtr->tcl_GetChannelMode)(chan) /* 117 */ + (tclStubsPtr->tcl_GetChannelMode)(chan) /* 155 */ #endif #ifndef Tcl_GetChannelName #define Tcl_GetChannelName(chan) \ - (tclStubsPtr->tcl_GetChannelName)(chan) /* 118 */ + (tclStubsPtr->tcl_GetChannelName)(chan) /* 156 */ #endif #ifndef Tcl_GetChannelOption #define Tcl_GetChannelOption(interp, chan, optionName, dsPtr) \ - (tclStubsPtr->tcl_GetChannelOption)(interp, chan, optionName, dsPtr) /* 119 */ + (tclStubsPtr->tcl_GetChannelOption)(interp, chan, optionName, dsPtr) /* 157 */ #endif #ifndef Tcl_GetChannelType #define Tcl_GetChannelType(chan) \ - (tclStubsPtr->tcl_GetChannelType)(chan) /* 120 */ + (tclStubsPtr->tcl_GetChannelType)(chan) /* 158 */ #endif #ifndef Tcl_GetCommandInfo #define Tcl_GetCommandInfo(interp, cmdName, infoPtr) \ - (tclStubsPtr->tcl_GetCommandInfo)(interp, cmdName, infoPtr) /* 121 */ + (tclStubsPtr->tcl_GetCommandInfo)(interp, cmdName, infoPtr) /* 159 */ #endif #ifndef Tcl_GetCommandName #define Tcl_GetCommandName(interp, command) \ - (tclStubsPtr->tcl_GetCommandName)(interp, command) /* 122 */ -#endif -#ifndef Tcl_GetDouble -#define Tcl_GetDouble(interp, string, doublePtr) \ - (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr) /* 123 */ -#endif -#ifndef Tcl_GetDoubleFromObj -#define Tcl_GetDoubleFromObj(interp, objPtr, doublePtr) \ - (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr) /* 124 */ + (tclStubsPtr->tcl_GetCommandName)(interp, command) /* 160 */ #endif #ifndef Tcl_GetErrno #define Tcl_GetErrno() \ - (tclStubsPtr->tcl_GetErrno)() /* 125 */ + (tclStubsPtr->tcl_GetErrno)() /* 161 */ #endif #ifndef Tcl_GetHostName #define Tcl_GetHostName() \ - (tclStubsPtr->tcl_GetHostName)() /* 126 */ -#endif -#ifndef Tcl_GetIndexFromObj -#define Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr) \ - (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr) /* 127 */ -#endif -#ifndef Tcl_GetInt -#define Tcl_GetInt(interp, string, intPtr) \ - (tclStubsPtr->tcl_GetInt)(interp, string, intPtr) /* 128 */ + (tclStubsPtr->tcl_GetHostName)() /* 162 */ #endif #ifndef Tcl_GetInterpPath #define Tcl_GetInterpPath(askInterp, slaveInterp) \ - (tclStubsPtr->tcl_GetInterpPath)(askInterp, slaveInterp) /* 129 */ -#endif -#ifndef Tcl_GetIntFromObj -#define Tcl_GetIntFromObj(interp, objPtr, intPtr) \ - (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr) /* 130 */ -#endif -#ifndef Tcl_GetLongFromObj -#define Tcl_GetLongFromObj(interp, objPtr, longPtr) \ - (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr) /* 131 */ + (tclStubsPtr->tcl_GetInterpPath)(askInterp, slaveInterp) /* 163 */ #endif #ifndef Tcl_GetMaster #define Tcl_GetMaster(interp) \ - (tclStubsPtr->tcl_GetMaster)(interp) /* 132 */ + (tclStubsPtr->tcl_GetMaster)(interp) /* 164 */ #endif #ifndef Tcl_GetNameOfExecutable #define Tcl_GetNameOfExecutable() \ - (tclStubsPtr->tcl_GetNameOfExecutable)() /* 133 */ + (tclStubsPtr->tcl_GetNameOfExecutable)() /* 165 */ #endif #ifndef Tcl_GetObjResult #define Tcl_GetObjResult(interp) \ - (tclStubsPtr->tcl_GetObjResult)(interp) /* 134 */ + (tclStubsPtr->tcl_GetObjResult)(interp) /* 166 */ #endif -#ifndef Tcl_GetObjType -#define Tcl_GetObjType(typeName) \ - (tclStubsPtr->tcl_GetObjType)(typeName) /* 135 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef Tcl_GetOpenFile +#define Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr) \ + (tclStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr) /* 167 */ #endif +#endif /* UNIX */ #ifndef Tcl_GetPathType #define Tcl_GetPathType(path) \ - (tclStubsPtr->tcl_GetPathType)(path) /* 136 */ + (tclStubsPtr->tcl_GetPathType)(path) /* 168 */ #endif #ifndef Tcl_Gets #define Tcl_Gets(chan, dsPtr) \ - (tclStubsPtr->tcl_Gets)(chan, dsPtr) /* 137 */ + (tclStubsPtr->tcl_Gets)(chan, dsPtr) /* 169 */ #endif #ifndef Tcl_GetsObj #define Tcl_GetsObj(chan, objPtr) \ - (tclStubsPtr->tcl_GetsObj)(chan, objPtr) /* 138 */ + (tclStubsPtr->tcl_GetsObj)(chan, objPtr) /* 170 */ #endif #ifndef Tcl_GetServiceMode #define Tcl_GetServiceMode() \ - (tclStubsPtr->tcl_GetServiceMode)() /* 139 */ + (tclStubsPtr->tcl_GetServiceMode)() /* 171 */ #endif #ifndef Tcl_GetSlave #define Tcl_GetSlave(interp, slaveName) \ - (tclStubsPtr->tcl_GetSlave)(interp, slaveName) /* 140 */ + (tclStubsPtr->tcl_GetSlave)(interp, slaveName) /* 172 */ #endif #ifndef Tcl_GetStdChannel #define Tcl_GetStdChannel(type) \ - (tclStubsPtr->tcl_GetStdChannel)(type) /* 141 */ -#endif -#ifndef Tcl_GetStringFromObj -#define Tcl_GetStringFromObj(objPtr, lengthPtr) \ - (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr) /* 142 */ + (tclStubsPtr->tcl_GetStdChannel)(type) /* 173 */ #endif #ifndef Tcl_GetStringResult #define Tcl_GetStringResult(interp) \ - (tclStubsPtr->tcl_GetStringResult)(interp) /* 143 */ + (tclStubsPtr->tcl_GetStringResult)(interp) /* 174 */ #endif #ifndef Tcl_GetVar #define Tcl_GetVar(interp, varName, flags) \ - (tclStubsPtr->tcl_GetVar)(interp, varName, flags) /* 144 */ + (tclStubsPtr->tcl_GetVar)(interp, varName, flags) /* 175 */ #endif #ifndef Tcl_GetVar2 #define Tcl_GetVar2(interp, part1, part2, flags) \ - (tclStubsPtr->tcl_GetVar2)(interp, part1, part2, flags) /* 145 */ + (tclStubsPtr->tcl_GetVar2)(interp, part1, part2, flags) /* 176 */ #endif #ifndef Tcl_GlobalEval #define Tcl_GlobalEval(interp, command) \ - (tclStubsPtr->tcl_GlobalEval)(interp, command) /* 146 */ + (tclStubsPtr->tcl_GlobalEval)(interp, command) /* 177 */ #endif #ifndef Tcl_GlobalEvalObj #define Tcl_GlobalEvalObj(interp, objPtr) \ - (tclStubsPtr->tcl_GlobalEvalObj)(interp, objPtr) /* 147 */ -#endif -#ifndef Tcl_HashStats -#define Tcl_HashStats(tablePtr) \ - (tclStubsPtr->tcl_HashStats)(tablePtr) /* 148 */ + (tclStubsPtr->tcl_GlobalEvalObj)(interp, objPtr) /* 178 */ #endif #ifndef Tcl_HideCommand #define Tcl_HideCommand(interp, cmdName, hiddenCmdToken) \ - (tclStubsPtr->tcl_HideCommand)(interp, cmdName, hiddenCmdToken) /* 149 */ + (tclStubsPtr->tcl_HideCommand)(interp, cmdName, hiddenCmdToken) /* 179 */ #endif #ifndef Tcl_Init #define Tcl_Init(interp) \ - (tclStubsPtr->tcl_Init)(interp) /* 150 */ + (tclStubsPtr->tcl_Init)(interp) /* 180 */ #endif #ifndef Tcl_InitHashTable #define Tcl_InitHashTable(tablePtr, keyType) \ - (tclStubsPtr->tcl_InitHashTable)(tablePtr, keyType) /* 151 */ + (tclStubsPtr->tcl_InitHashTable)(tablePtr, keyType) /* 181 */ #endif #ifndef Tcl_InputBlocked #define Tcl_InputBlocked(chan) \ - (tclStubsPtr->tcl_InputBlocked)(chan) /* 152 */ + (tclStubsPtr->tcl_InputBlocked)(chan) /* 182 */ #endif #ifndef Tcl_InputBuffered #define Tcl_InputBuffered(chan) \ - (tclStubsPtr->tcl_InputBuffered)(chan) /* 153 */ + (tclStubsPtr->tcl_InputBuffered)(chan) /* 183 */ #endif #ifndef Tcl_InterpDeleted #define Tcl_InterpDeleted(interp) \ - (tclStubsPtr->tcl_InterpDeleted)(interp) /* 154 */ + (tclStubsPtr->tcl_InterpDeleted)(interp) /* 184 */ #endif #ifndef Tcl_IsSafe #define Tcl_IsSafe(interp) \ - (tclStubsPtr->tcl_IsSafe)(interp) /* 155 */ -#endif -#ifndef Tcl_InvalidateStringRep -#define Tcl_InvalidateStringRep(objPtr) \ - (tclStubsPtr->tcl_InvalidateStringRep)(objPtr) /* 156 */ + (tclStubsPtr->tcl_IsSafe)(interp) /* 185 */ #endif #ifndef Tcl_JoinPath #define Tcl_JoinPath(argc, argv, resultPtr) \ - (tclStubsPtr->tcl_JoinPath)(argc, argv, resultPtr) /* 157 */ + (tclStubsPtr->tcl_JoinPath)(argc, argv, resultPtr) /* 186 */ #endif #ifndef Tcl_LinkVar #define Tcl_LinkVar(interp, varName, addr, type) \ - (tclStubsPtr->tcl_LinkVar)(interp, varName, addr, type) /* 158 */ -#endif -#ifndef Tcl_ListObjAppendList -#define Tcl_ListObjAppendList(interp, listPtr, elemListPtr) \ - (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr) /* 159 */ -#endif -#ifndef Tcl_ListObjAppendElement -#define Tcl_ListObjAppendElement(interp, listPtr, objPtr) \ - (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr) /* 160 */ -#endif -#ifndef Tcl_ListObjGetElements -#define Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr) \ - (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr) /* 161 */ -#endif -#ifndef Tcl_ListObjIndex -#define Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr) \ - (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr) /* 162 */ -#endif -#ifndef Tcl_ListObjLength -#define Tcl_ListObjLength(interp, listPtr, intPtr) \ - (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr) /* 163 */ -#endif -#ifndef Tcl_ListObjReplace -#define Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv) \ - (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv) /* 164 */ + (tclStubsPtr->tcl_LinkVar)(interp, varName, addr, type) /* 187 */ #endif +/* Slot 188 is reserved */ #ifndef Tcl_MakeFileChannel #define Tcl_MakeFileChannel(handle, mode) \ - (tclStubsPtr->tcl_MakeFileChannel)(handle, mode) /* 165 */ + (tclStubsPtr->tcl_MakeFileChannel)(handle, mode) /* 189 */ #endif #ifndef Tcl_MakeSafe #define Tcl_MakeSafe(interp) \ - (tclStubsPtr->tcl_MakeSafe)(interp) /* 166 */ + (tclStubsPtr->tcl_MakeSafe)(interp) /* 190 */ #endif #ifndef Tcl_MakeTcpClientChannel #define Tcl_MakeTcpClientChannel(tcpSocket) \ - (tclStubsPtr->tcl_MakeTcpClientChannel)(tcpSocket) /* 167 */ + (tclStubsPtr->tcl_MakeTcpClientChannel)(tcpSocket) /* 191 */ #endif #ifndef Tcl_Merge #define Tcl_Merge(argc, argv) \ - (tclStubsPtr->tcl_Merge)(argc, argv) /* 168 */ -#endif -#ifndef Tcl_NewBooleanObj -#define Tcl_NewBooleanObj(boolValue) \ - (tclStubsPtr->tcl_NewBooleanObj)(boolValue) /* 169 */ -#endif -#ifndef Tcl_NewByteArrayObj -#define Tcl_NewByteArrayObj(bytes, length) \ - (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length) /* 170 */ -#endif -#ifndef Tcl_NewDoubleObj -#define Tcl_NewDoubleObj(doubleValue) \ - (tclStubsPtr->tcl_NewDoubleObj)(doubleValue) /* 171 */ -#endif -#ifndef Tcl_NewIntObj -#define Tcl_NewIntObj(intValue) \ - (tclStubsPtr->tcl_NewIntObj)(intValue) /* 172 */ -#endif -#ifndef Tcl_NewListObj -#define Tcl_NewListObj(objc, objv) \ - (tclStubsPtr->tcl_NewListObj)(objc, objv) /* 173 */ -#endif -#ifndef Tcl_NewLongObj -#define Tcl_NewLongObj(longValue) \ - (tclStubsPtr->tcl_NewLongObj)(longValue) /* 174 */ -#endif -#ifndef Tcl_NewObj -#define Tcl_NewObj() \ - (tclStubsPtr->tcl_NewObj)() /* 175 */ -#endif -#ifndef Tcl_NewStringObj -#define Tcl_NewStringObj(bytes, length) \ - (tclStubsPtr->tcl_NewStringObj)(bytes, length) /* 176 */ + (tclStubsPtr->tcl_Merge)(argc, argv) /* 192 */ #endif #ifndef Tcl_NextHashEntry #define Tcl_NextHashEntry(searchPtr) \ - (tclStubsPtr->tcl_NextHashEntry)(searchPtr) /* 177 */ + (tclStubsPtr->tcl_NextHashEntry)(searchPtr) /* 193 */ #endif #ifndef Tcl_NotifyChannel #define Tcl_NotifyChannel(channel, mask) \ - (tclStubsPtr->tcl_NotifyChannel)(channel, mask) /* 178 */ + (tclStubsPtr->tcl_NotifyChannel)(channel, mask) /* 194 */ #endif #ifndef Tcl_ObjGetVar2 #define Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags) \ - (tclStubsPtr->tcl_ObjGetVar2)(interp, part1Ptr, part2Ptr, flags) /* 179 */ + (tclStubsPtr->tcl_ObjGetVar2)(interp, part1Ptr, part2Ptr, flags) /* 195 */ #endif #ifndef Tcl_ObjSetVar2 #define Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags) \ - (tclStubsPtr->tcl_ObjSetVar2)(interp, part1Ptr, part2Ptr, newValuePtr, flags) /* 180 */ + (tclStubsPtr->tcl_ObjSetVar2)(interp, part1Ptr, part2Ptr, newValuePtr, flags) /* 196 */ #endif #ifndef Tcl_OpenCommandChannel #define Tcl_OpenCommandChannel(interp, argc, argv, flags) \ - (tclStubsPtr->tcl_OpenCommandChannel)(interp, argc, argv, flags) /* 181 */ + (tclStubsPtr->tcl_OpenCommandChannel)(interp, argc, argv, flags) /* 197 */ #endif #ifndef Tcl_OpenFileChannel #define Tcl_OpenFileChannel(interp, fileName, modeString, permissions) \ - (tclStubsPtr->tcl_OpenFileChannel)(interp, fileName, modeString, permissions) /* 182 */ + (tclStubsPtr->tcl_OpenFileChannel)(interp, fileName, modeString, permissions) /* 198 */ #endif #ifndef Tcl_OpenTcpClient #define Tcl_OpenTcpClient(interp, port, address, myaddr, myport, async) \ - (tclStubsPtr->tcl_OpenTcpClient)(interp, port, address, myaddr, myport, async) /* 183 */ + (tclStubsPtr->tcl_OpenTcpClient)(interp, port, address, myaddr, myport, async) /* 199 */ #endif #ifndef Tcl_OpenTcpServer #define Tcl_OpenTcpServer(interp, port, host, acceptProc, callbackData) \ - (tclStubsPtr->tcl_OpenTcpServer)(interp, port, host, acceptProc, callbackData) /* 184 */ -#endif -#ifndef panic -#define panic \ - (tclStubsPtr->panic) /* 185 */ -#endif -#ifndef panicVA -#define panicVA(format, argList) \ - (tclStubsPtr->panicVA)(format, argList) /* 186 */ -#endif -#ifndef Tcl_ParseVar -#define Tcl_ParseVar(interp, string, termPtr) \ - (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr) /* 187 */ -#endif -#ifndef Tcl_PkgPresent -#define Tcl_PkgPresent(interp, name, version, exact) \ - (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact) /* 188 */ -#endif -#ifndef Tcl_PkgPresentEx -#define Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) \ - (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr) /* 189 */ -#endif -#ifndef Tcl_PkgProvide -#define Tcl_PkgProvide(interp, name, version) \ - (tclStubsPtr->tcl_PkgProvide)(interp, name, version) /* 190 */ -#endif -#ifndef Tcl_PkgProvideEx -#define Tcl_PkgProvideEx(interp, name, version, clientData) \ - (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData) /* 191 */ -#endif -#ifndef Tcl_PkgRequire -#define Tcl_PkgRequire(interp, name, version, exact) \ - (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact) /* 192 */ -#endif -#ifndef Tcl_PkgRequireEx -#define Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) \ - (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr) /* 193 */ -#endif -#ifndef Tcl_PosixError -#define Tcl_PosixError(interp) \ - (tclStubsPtr->tcl_PosixError)(interp) /* 194 */ + (tclStubsPtr->tcl_OpenTcpServer)(interp, port, host, acceptProc, callbackData) /* 200 */ #endif #ifndef Tcl_Preserve #define Tcl_Preserve(data) \ - (tclStubsPtr->tcl_Preserve)(data) /* 195 */ + (tclStubsPtr->tcl_Preserve)(data) /* 201 */ #endif #ifndef Tcl_PrintDouble #define Tcl_PrintDouble(interp, value, dst) \ - (tclStubsPtr->tcl_PrintDouble)(interp, value, dst) /* 196 */ + (tclStubsPtr->tcl_PrintDouble)(interp, value, dst) /* 202 */ #endif #ifndef Tcl_PutEnv #define Tcl_PutEnv(string) \ - (tclStubsPtr->tcl_PutEnv)(string) /* 197 */ + (tclStubsPtr->tcl_PutEnv)(string) /* 203 */ +#endif +#ifndef Tcl_PosixError +#define Tcl_PosixError(interp) \ + (tclStubsPtr->tcl_PosixError)(interp) /* 204 */ #endif #ifndef Tcl_QueueEvent #define Tcl_QueueEvent(evPtr, position) \ - (tclStubsPtr->tcl_QueueEvent)(evPtr, position) /* 198 */ + (tclStubsPtr->tcl_QueueEvent)(evPtr, position) /* 205 */ #endif #ifndef Tcl_Read #define Tcl_Read(chan, bufPtr, toRead) \ - (tclStubsPtr->tcl_Read)(chan, bufPtr, toRead) /* 199 */ -#endif -#ifndef Tcl_Realloc -#define Tcl_Realloc(ptr, size) \ - (tclStubsPtr->tcl_Realloc)(ptr, size) /* 200 */ + (tclStubsPtr->tcl_Read)(chan, bufPtr, toRead) /* 206 */ #endif #ifndef Tcl_ReapDetachedProcs #define Tcl_ReapDetachedProcs() \ - (tclStubsPtr->tcl_ReapDetachedProcs)() /* 201 */ + (tclStubsPtr->tcl_ReapDetachedProcs)() /* 207 */ #endif #ifndef Tcl_RecordAndEval #define Tcl_RecordAndEval(interp, cmd, flags) \ - (tclStubsPtr->tcl_RecordAndEval)(interp, cmd, flags) /* 202 */ + (tclStubsPtr->tcl_RecordAndEval)(interp, cmd, flags) /* 208 */ #endif #ifndef Tcl_RecordAndEvalObj #define Tcl_RecordAndEvalObj(interp, cmdPtr, flags) \ - (tclStubsPtr->tcl_RecordAndEvalObj)(interp, cmdPtr, flags) /* 203 */ + (tclStubsPtr->tcl_RecordAndEvalObj)(interp, cmdPtr, flags) /* 209 */ +#endif +#ifndef Tcl_RegisterChannel +#define Tcl_RegisterChannel(interp, chan) \ + (tclStubsPtr->tcl_RegisterChannel)(interp, chan) /* 210 */ +#endif +#ifndef Tcl_RegisterObjType +#define Tcl_RegisterObjType(typePtr) \ + (tclStubsPtr->tcl_RegisterObjType)(typePtr) /* 211 */ #endif #ifndef Tcl_RegExpCompile #define Tcl_RegExpCompile(interp, string) \ - (tclStubsPtr->tcl_RegExpCompile)(interp, string) /* 204 */ + (tclStubsPtr->tcl_RegExpCompile)(interp, string) /* 212 */ #endif #ifndef Tcl_RegExpExec #define Tcl_RegExpExec(interp, regexp, string, start) \ - (tclStubsPtr->tcl_RegExpExec)(interp, regexp, string, start) /* 205 */ + (tclStubsPtr->tcl_RegExpExec)(interp, regexp, string, start) /* 213 */ #endif #ifndef Tcl_RegExpMatch #define Tcl_RegExpMatch(interp, string, pattern) \ - (tclStubsPtr->tcl_RegExpMatch)(interp, string, pattern) /* 206 */ + (tclStubsPtr->tcl_RegExpMatch)(interp, string, pattern) /* 214 */ #endif #ifndef Tcl_RegExpRange #define Tcl_RegExpRange(regexp, index, startPtr, endPtr) \ - (tclStubsPtr->tcl_RegExpRange)(regexp, index, startPtr, endPtr) /* 207 */ -#endif -#ifndef Tcl_RegisterChannel -#define Tcl_RegisterChannel(interp, chan) \ - (tclStubsPtr->tcl_RegisterChannel)(interp, chan) /* 208 */ -#endif -#ifndef Tcl_RegisterObjType -#define Tcl_RegisterObjType(typePtr) \ - (tclStubsPtr->tcl_RegisterObjType)(typePtr) /* 209 */ + (tclStubsPtr->tcl_RegExpRange)(regexp, index, startPtr, endPtr) /* 215 */ #endif #ifndef Tcl_Release #define Tcl_Release(clientData) \ - (tclStubsPtr->tcl_Release)(clientData) /* 210 */ + (tclStubsPtr->tcl_Release)(clientData) /* 216 */ #endif #ifndef Tcl_ResetResult #define Tcl_ResetResult(interp) \ - (tclStubsPtr->tcl_ResetResult)(interp) /* 211 */ -#endif -#ifndef Tcl_ScanCountedElement -#define Tcl_ScanCountedElement(string, length, flagPtr) \ - (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr) /* 212 */ + (tclStubsPtr->tcl_ResetResult)(interp) /* 217 */ #endif #ifndef Tcl_ScanElement #define Tcl_ScanElement(string, flagPtr) \ - (tclStubsPtr->tcl_ScanElement)(string, flagPtr) /* 213 */ + (tclStubsPtr->tcl_ScanElement)(string, flagPtr) /* 218 */ +#endif +#ifndef Tcl_ScanCountedElement +#define Tcl_ScanCountedElement(string, length, flagPtr) \ + (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr) /* 219 */ #endif #ifndef Tcl_Seek #define Tcl_Seek(chan, offset, mode) \ - (tclStubsPtr->tcl_Seek)(chan, offset, mode) /* 214 */ + (tclStubsPtr->tcl_Seek)(chan, offset, mode) /* 220 */ #endif #ifndef Tcl_ServiceAll #define Tcl_ServiceAll() \ - (tclStubsPtr->tcl_ServiceAll)() /* 215 */ + (tclStubsPtr->tcl_ServiceAll)() /* 221 */ #endif #ifndef Tcl_ServiceEvent #define Tcl_ServiceEvent(flags) \ - (tclStubsPtr->tcl_ServiceEvent)(flags) /* 216 */ + (tclStubsPtr->tcl_ServiceEvent)(flags) /* 222 */ #endif #ifndef Tcl_SetAssocData #define Tcl_SetAssocData(interp, name, proc, clientData) \ - (tclStubsPtr->tcl_SetAssocData)(interp, name, proc, clientData) /* 217 */ -#endif -#ifndef Tcl_SetBooleanObj -#define Tcl_SetBooleanObj(objPtr, boolValue) \ - (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue) /* 218 */ -#endif -#ifndef Tcl_SetByteArrayLength -#define Tcl_SetByteArrayLength(objPtr, length) \ - (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length) /* 219 */ -#endif -#ifndef Tcl_SetByteArrayObj -#define Tcl_SetByteArrayObj(objPtr, bytes, length) \ - (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length) /* 220 */ + (tclStubsPtr->tcl_SetAssocData)(interp, name, proc, clientData) /* 223 */ #endif #ifndef Tcl_SetChannelBufferSize #define Tcl_SetChannelBufferSize(chan, sz) \ - (tclStubsPtr->tcl_SetChannelBufferSize)(chan, sz) /* 221 */ + (tclStubsPtr->tcl_SetChannelBufferSize)(chan, sz) /* 224 */ #endif #ifndef Tcl_SetChannelOption #define Tcl_SetChannelOption(interp, chan, optionName, newValue) \ - (tclStubsPtr->tcl_SetChannelOption)(interp, chan, optionName, newValue) /* 222 */ + (tclStubsPtr->tcl_SetChannelOption)(interp, chan, optionName, newValue) /* 225 */ #endif #ifndef Tcl_SetCommandInfo #define Tcl_SetCommandInfo(interp, cmdName, infoPtr) \ - (tclStubsPtr->tcl_SetCommandInfo)(interp, cmdName, infoPtr) /* 223 */ -#endif -#ifndef Tcl_SetDoubleObj -#define Tcl_SetDoubleObj(objPtr, doubleValue) \ - (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue) /* 224 */ + (tclStubsPtr->tcl_SetCommandInfo)(interp, cmdName, infoPtr) /* 226 */ #endif #ifndef Tcl_SetErrno #define Tcl_SetErrno(err) \ - (tclStubsPtr->tcl_SetErrno)(err) /* 225 */ + (tclStubsPtr->tcl_SetErrno)(err) /* 227 */ #endif #ifndef Tcl_SetErrorCode #define Tcl_SetErrorCode \ - (tclStubsPtr->tcl_SetErrorCode) /* 226 */ -#endif -#ifndef Tcl_SetErrorCodeVA -#define Tcl_SetErrorCodeVA(interp, argList) \ - (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList) /* 227 */ -#endif -#ifndef Tcl_SetIntObj -#define Tcl_SetIntObj(objPtr, intValue) \ - (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue) /* 228 */ -#endif -#ifndef Tcl_SetListObj -#define Tcl_SetListObj(objPtr, objc, objv) \ - (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv) /* 229 */ -#endif -#ifndef Tcl_SetLongObj -#define Tcl_SetLongObj(objPtr, longValue) \ - (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue) /* 230 */ + (tclStubsPtr->tcl_SetErrorCode) /* 228 */ #endif #ifndef Tcl_SetMaxBlockTime #define Tcl_SetMaxBlockTime(timePtr) \ - (tclStubsPtr->tcl_SetMaxBlockTime)(timePtr) /* 231 */ -#endif -#ifndef Tcl_SetObjErrorCode -#define Tcl_SetObjErrorCode(interp, errorObjPtr) \ - (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr) /* 232 */ -#endif -#ifndef Tcl_SetObjLength -#define Tcl_SetObjLength(objPtr, length) \ - (tclStubsPtr->tcl_SetObjLength)(objPtr, length) /* 233 */ -#endif -#ifndef Tcl_SetObjResult -#define Tcl_SetObjResult(interp, resultObjPtr) \ - (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr) /* 234 */ + (tclStubsPtr->tcl_SetMaxBlockTime)(timePtr) /* 229 */ #endif #ifndef Tcl_SetPanicProc #define Tcl_SetPanicProc(panicProc) \ - (tclStubsPtr->tcl_SetPanicProc)(panicProc) /* 235 */ + (tclStubsPtr->tcl_SetPanicProc)(panicProc) /* 230 */ #endif #ifndef Tcl_SetRecursionLimit #define Tcl_SetRecursionLimit(interp, depth) \ - (tclStubsPtr->tcl_SetRecursionLimit)(interp, depth) /* 236 */ + (tclStubsPtr->tcl_SetRecursionLimit)(interp, depth) /* 231 */ #endif #ifndef Tcl_SetResult #define Tcl_SetResult(interp, string, freeProc) \ - (tclStubsPtr->tcl_SetResult)(interp, string, freeProc) /* 237 */ + (tclStubsPtr->tcl_SetResult)(interp, string, freeProc) /* 232 */ #endif #ifndef Tcl_SetServiceMode #define Tcl_SetServiceMode(mode) \ - (tclStubsPtr->tcl_SetServiceMode)(mode) /* 238 */ + (tclStubsPtr->tcl_SetServiceMode)(mode) /* 233 */ #endif -#ifndef Tcl_SetStdChannel -#define Tcl_SetStdChannel(channel, type) \ - (tclStubsPtr->tcl_SetStdChannel)(channel, type) /* 239 */ +#ifndef Tcl_SetObjErrorCode +#define Tcl_SetObjErrorCode(interp, errorObjPtr) \ + (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr) /* 234 */ #endif -#ifndef Tcl_SetStringObj -#define Tcl_SetStringObj(objPtr, bytes, length) \ - (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length) /* 240 */ +#ifndef Tcl_SetObjResult +#define Tcl_SetObjResult(interp, resultObjPtr) \ + (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr) /* 235 */ #endif -#ifndef Tcl_SetTimer -#define Tcl_SetTimer(timePtr) \ - (tclStubsPtr->tcl_SetTimer)(timePtr) /* 241 */ +#ifndef Tcl_SetStdChannel +#define Tcl_SetStdChannel(channel, type) \ + (tclStubsPtr->tcl_SetStdChannel)(channel, type) /* 236 */ #endif #ifndef Tcl_SetVar #define Tcl_SetVar(interp, varName, newValue, flags) \ - (tclStubsPtr->tcl_SetVar)(interp, varName, newValue, flags) /* 242 */ + (tclStubsPtr->tcl_SetVar)(interp, varName, newValue, flags) /* 237 */ #endif #ifndef Tcl_SetVar2 #define Tcl_SetVar2(interp, part1, part2, newValue, flags) \ - (tclStubsPtr->tcl_SetVar2)(interp, part1, part2, newValue, flags) /* 243 */ + (tclStubsPtr->tcl_SetVar2)(interp, part1, part2, newValue, flags) /* 238 */ #endif #ifndef Tcl_SignalId #define Tcl_SignalId(sig) \ - (tclStubsPtr->tcl_SignalId)(sig) /* 244 */ + (tclStubsPtr->tcl_SignalId)(sig) /* 239 */ #endif #ifndef Tcl_SignalMsg #define Tcl_SignalMsg(sig) \ - (tclStubsPtr->tcl_SignalMsg)(sig) /* 245 */ -#endif -#ifndef Tcl_Sleep -#define Tcl_Sleep(ms) \ - (tclStubsPtr->tcl_Sleep)(ms) /* 246 */ + (tclStubsPtr->tcl_SignalMsg)(sig) /* 240 */ #endif #ifndef Tcl_SourceRCFile #define Tcl_SourceRCFile(interp) \ - (tclStubsPtr->tcl_SourceRCFile)(interp) /* 247 */ + (tclStubsPtr->tcl_SourceRCFile)(interp) /* 241 */ #endif #ifndef Tcl_SplitList #define Tcl_SplitList(interp, list, argcPtr, argvPtr) \ - (tclStubsPtr->tcl_SplitList)(interp, list, argcPtr, argvPtr) /* 248 */ + (tclStubsPtr->tcl_SplitList)(interp, list, argcPtr, argvPtr) /* 242 */ #endif #ifndef Tcl_SplitPath #define Tcl_SplitPath(path, argcPtr, argvPtr) \ - (tclStubsPtr->tcl_SplitPath)(path, argcPtr, argvPtr) /* 249 */ + (tclStubsPtr->tcl_SplitPath)(path, argcPtr, argvPtr) /* 243 */ #endif #ifndef Tcl_StaticPackage #define Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc) \ - (tclStubsPtr->tcl_StaticPackage)(interp, pkgName, initProc, safeInitProc) /* 250 */ + (tclStubsPtr->tcl_StaticPackage)(interp, pkgName, initProc, safeInitProc) /* 244 */ #endif #ifndef Tcl_StringMatch #define Tcl_StringMatch(string, pattern) \ - (tclStubsPtr->tcl_StringMatch)(string, pattern) /* 251 */ + (tclStubsPtr->tcl_StringMatch)(string, pattern) /* 245 */ #endif #ifndef Tcl_Tell #define Tcl_Tell(chan) \ - (tclStubsPtr->tcl_Tell)(chan) /* 252 */ + (tclStubsPtr->tcl_Tell)(chan) /* 246 */ #endif #ifndef Tcl_TraceVar #define Tcl_TraceVar(interp, varName, flags, proc, clientData) \ - (tclStubsPtr->tcl_TraceVar)(interp, varName, flags, proc, clientData) /* 253 */ + (tclStubsPtr->tcl_TraceVar)(interp, varName, flags, proc, clientData) /* 247 */ #endif #ifndef Tcl_TraceVar2 #define Tcl_TraceVar2(interp, part1, part2, flags, proc, clientData) \ - (tclStubsPtr->tcl_TraceVar2)(interp, part1, part2, flags, proc, clientData) /* 254 */ + (tclStubsPtr->tcl_TraceVar2)(interp, part1, part2, flags, proc, clientData) /* 248 */ #endif #ifndef Tcl_TranslateFileName #define Tcl_TranslateFileName(interp, name, bufferPtr) \ - (tclStubsPtr->tcl_TranslateFileName)(interp, name, bufferPtr) /* 255 */ + (tclStubsPtr->tcl_TranslateFileName)(interp, name, bufferPtr) /* 249 */ #endif #ifndef Tcl_Ungets #define Tcl_Ungets(chan, str, len, atHead) \ - (tclStubsPtr->tcl_Ungets)(chan, str, len, atHead) /* 256 */ + (tclStubsPtr->tcl_Ungets)(chan, str, len, atHead) /* 250 */ #endif #ifndef Tcl_UnlinkVar #define Tcl_UnlinkVar(interp, varName) \ - (tclStubsPtr->tcl_UnlinkVar)(interp, varName) /* 257 */ + (tclStubsPtr->tcl_UnlinkVar)(interp, varName) /* 251 */ #endif #ifndef Tcl_UnregisterChannel #define Tcl_UnregisterChannel(interp, chan) \ - (tclStubsPtr->tcl_UnregisterChannel)(interp, chan) /* 258 */ + (tclStubsPtr->tcl_UnregisterChannel)(interp, chan) /* 252 */ #endif #ifndef Tcl_UnsetVar #define Tcl_UnsetVar(interp, varName, flags) \ - (tclStubsPtr->tcl_UnsetVar)(interp, varName, flags) /* 259 */ + (tclStubsPtr->tcl_UnsetVar)(interp, varName, flags) /* 253 */ #endif #ifndef Tcl_UnsetVar2 #define Tcl_UnsetVar2(interp, part1, part2, flags) \ - (tclStubsPtr->tcl_UnsetVar2)(interp, part1, part2, flags) /* 260 */ + (tclStubsPtr->tcl_UnsetVar2)(interp, part1, part2, flags) /* 254 */ #endif #ifndef Tcl_UntraceVar #define Tcl_UntraceVar(interp, varName, flags, proc, clientData) \ - (tclStubsPtr->tcl_UntraceVar)(interp, varName, flags, proc, clientData) /* 261 */ + (tclStubsPtr->tcl_UntraceVar)(interp, varName, flags, proc, clientData) /* 255 */ #endif #ifndef Tcl_UntraceVar2 #define Tcl_UntraceVar2(interp, part1, part2, flags, proc, clientData) \ - (tclStubsPtr->tcl_UntraceVar2)(interp, part1, part2, flags, proc, clientData) /* 262 */ + (tclStubsPtr->tcl_UntraceVar2)(interp, part1, part2, flags, proc, clientData) /* 256 */ #endif #ifndef Tcl_UpdateLinkedVar #define Tcl_UpdateLinkedVar(interp, varName) \ - (tclStubsPtr->tcl_UpdateLinkedVar)(interp, varName) /* 263 */ + (tclStubsPtr->tcl_UpdateLinkedVar)(interp, varName) /* 257 */ #endif #ifndef Tcl_UpVar #define Tcl_UpVar(interp, frameName, varName, localName, flags) \ - (tclStubsPtr->tcl_UpVar)(interp, frameName, varName, localName, flags) /* 264 */ + (tclStubsPtr->tcl_UpVar)(interp, frameName, varName, localName, flags) /* 258 */ #endif #ifndef Tcl_UpVar2 #define Tcl_UpVar2(interp, frameName, part1, part2, localName, flags) \ - (tclStubsPtr->tcl_UpVar2)(interp, frameName, part1, part2, localName, flags) /* 265 */ -#endif -#ifndef Tcl_ValidateAllMemory -#define Tcl_ValidateAllMemory(file, line) \ - (tclStubsPtr->tcl_ValidateAllMemory)(file, line) /* 266 */ + (tclStubsPtr->tcl_UpVar2)(interp, frameName, part1, part2, localName, flags) /* 259 */ #endif #ifndef Tcl_VarEval #define Tcl_VarEval \ - (tclStubsPtr->tcl_VarEval) /* 267 */ -#endif -#ifndef Tcl_VarEvalVA -#define Tcl_VarEvalVA(interp, argList) \ - (tclStubsPtr->tcl_VarEvalVA)(interp, argList) /* 268 */ + (tclStubsPtr->tcl_VarEval) /* 260 */ #endif #ifndef Tcl_VarTraceInfo #define Tcl_VarTraceInfo(interp, varName, flags, procPtr, prevClientData) \ - (tclStubsPtr->tcl_VarTraceInfo)(interp, varName, flags, procPtr, prevClientData) /* 269 */ + (tclStubsPtr->tcl_VarTraceInfo)(interp, varName, flags, procPtr, prevClientData) /* 261 */ #endif #ifndef Tcl_VarTraceInfo2 #define Tcl_VarTraceInfo2(interp, part1, part2, flags, procPtr, prevClientData) \ - (tclStubsPtr->tcl_VarTraceInfo2)(interp, part1, part2, flags, procPtr, prevClientData) /* 270 */ -#endif -#ifndef Tcl_WaitForEvent -#define Tcl_WaitForEvent(timePtr) \ - (tclStubsPtr->tcl_WaitForEvent)(timePtr) /* 271 */ -#endif -#ifndef Tcl_WaitPid -#define Tcl_WaitPid(pid, statPtr, options) \ - (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options) /* 272 */ + (tclStubsPtr->tcl_VarTraceInfo2)(interp, part1, part2, flags, procPtr, prevClientData) /* 262 */ #endif #ifndef Tcl_Write #define Tcl_Write(chan, s, slen) \ - (tclStubsPtr->tcl_Write)(chan, s, slen) /* 273 */ + (tclStubsPtr->tcl_Write)(chan, s, slen) /* 263 */ #endif #ifndef Tcl_WrongNumArgs #define Tcl_WrongNumArgs(interp, objc, objv, message) \ - (tclStubsPtr->tcl_WrongNumArgs)(interp, objc, objv, message) /* 274 */ + (tclStubsPtr->tcl_WrongNumArgs)(interp, objc, objv, message) /* 264 */ +#endif +#ifndef Tcl_DumpActiveMemory +#define Tcl_DumpActiveMemory(fileName) \ + (tclStubsPtr->tcl_DumpActiveMemory)(fileName) /* 265 */ +#endif +#ifndef Tcl_ValidateAllMemory +#define Tcl_ValidateAllMemory(file, line) \ + (tclStubsPtr->tcl_ValidateAllMemory)(file, line) /* 266 */ +#endif +#ifndef Tcl_AppendResultVA +#define Tcl_AppendResultVA(interp, argList) \ + (tclStubsPtr->tcl_AppendResultVA)(interp, argList) /* 267 */ +#endif +#ifndef Tcl_AppendStringsToObjVA +#define Tcl_AppendStringsToObjVA(objPtr, argList) \ + (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList) /* 268 */ +#endif +#ifndef Tcl_HashStats +#define Tcl_HashStats(tablePtr) \ + (tclStubsPtr->tcl_HashStats)(tablePtr) /* 269 */ +#endif +#ifndef Tcl_ParseVar +#define Tcl_ParseVar(interp, string, termPtr) \ + (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr) /* 270 */ +#endif +#ifndef Tcl_PkgPresent +#define Tcl_PkgPresent(interp, name, version, exact) \ + (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact) /* 271 */ +#endif +#ifndef Tcl_PkgPresentEx +#define Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) \ + (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr) /* 272 */ +#endif +#ifndef Tcl_PkgProvide +#define Tcl_PkgProvide(interp, name, version) \ + (tclStubsPtr->tcl_PkgProvide)(interp, name, version) /* 273 */ +#endif +#ifndef Tcl_PkgRequire +#define Tcl_PkgRequire(interp, name, version, exact) \ + (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact) /* 274 */ +#endif +#ifndef Tcl_SetErrorCodeVA +#define Tcl_SetErrorCodeVA(interp, argList) \ + (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList) /* 275 */ +#endif +#ifndef Tcl_VarEvalVA +#define Tcl_VarEvalVA(interp, argList) \ + (tclStubsPtr->tcl_VarEvalVA)(interp, argList) /* 276 */ +#endif +#ifndef Tcl_WaitPid +#define Tcl_WaitPid(pid, statPtr, options) \ + (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options) /* 277 */ +#endif +#ifndef panicVA +#define panicVA(format, argList) \ + (tclStubsPtr->panicVA)(format, argList) /* 278 */ #endif #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ diff --git a/generic/tclFileName.c b/generic/tclFileName.c index f76192f..7be9c0e 100644 --- a/generic/tclFileName.c +++ b/generic/tclFileName.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclFileName.c,v 1.4 1999/02/03 19:12:26 stanton Exp $ + * RCS: @(#) $Id: tclFileName.c,v 1.5 1999/03/10 05:52:48 stanton Exp $ */ #include "tclInt.h" @@ -1084,17 +1084,13 @@ DoTildeSubst(interp, user, resultPtr) return NULL; } Tcl_JoinPath(1, &dir, resultPtr); - } else { - - /* lint, TclGetuserHome() always NULL under windows. */ - if (TclGetUserHome(user, resultPtr) == NULL) { - if (interp) { - Tcl_ResetResult(interp); - Tcl_AppendResult(interp, "user \"", user, "\" doesn't exist", - (char *) NULL); - } - return NULL; + } else if (TclGetUserHome(user, resultPtr) == NULL) { + if (interp) { + Tcl_ResetResult(interp); + Tcl_AppendResult(interp, "user \"", user, "\" doesn't exist", + (char *) NULL); } + return NULL; } return resultPtr->string; } diff --git a/generic/tclGetDate.y b/generic/tclGetDate.y index 3313250..66e43e1 100644 --- a/generic/tclGetDate.y +++ b/generic/tclGetDate.y @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclGetDate.y,v 1.2 1998/09/14 18:39:59 stanton Exp $ + * RCS: @(#) $Id: tclGetDate.y,v 1.3 1999/03/10 05:52:48 stanton Exp $ */ %{ @@ -596,7 +596,7 @@ Convert(Month, Day, Year, Hours, Minutes, Seconds, Meridian, DSTmode, TimePtr) return -1; Julian += tod; if (DSTmode == DSTon - || (DSTmode == DSTmaybe && TclpGetDate(&Julian, 0)->tm_isdst)) + || (DSTmode == DSTmaybe && TclpGetDate((TclpTime_t)&Julian, 0)->tm_isdst)) Julian -= 60 * 60; *TimePtr = Julian; return 0; @@ -611,8 +611,8 @@ DSTcorrect(Start, Future) time_t StartDay; time_t FutureDay; - StartDay = (TclpGetDate(&Start, 0)->tm_hour + 1) % 24; - FutureDay = (TclpGetDate(&Future, 0)->tm_hour + 1) % 24; + StartDay = (TclpGetDate((TclpTime_t)&Start, 0)->tm_hour + 1) % 24; + FutureDay = (TclpGetDate((TclpTime_t)&Future, 0)->tm_hour + 1) % 24; return (Future - Start) + (StartDay - FutureDay) * 60L * 60L; } @@ -627,7 +627,7 @@ RelativeDate(Start, DayOrdinal, DayNumber) time_t now; now = Start; - tm = TclpGetDate(&now, 0); + tm = TclpGetDate((TclpTime_t)&now, 0); now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7); now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1); return DSTcorrect(Start, now); @@ -650,7 +650,7 @@ RelativeMonth(Start, RelMonth, TimePtr) *TimePtr = 0; return 0; } - tm = TclpGetDate(&Start, 0); + tm = TclpGetDate((TclpTime_t)&Start, 0); Month = 12 * (tm->tm_year + TM_YEAR_BASE) + tm->tm_mon + RelMonth; Year = Month / 12; Month = Month % 12 + 1; @@ -881,7 +881,7 @@ TclGetDate(p, now, zone, timePtr) int thisyear; yyInput = p; - tm = TclpGetDate((time_t *) &now, 0); + tm = TclpGetDate((TclpTime_t) &now, 0); thisyear = tm->tm_year + TM_YEAR_BASE; yyYear = thisyear; yyMonth = tm->tm_mon + 1; diff --git a/generic/tclInt.decls b/generic/tclInt.decls index c51f867..e8a5e1f 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -3,13 +3,14 @@ # This file contains the declarations for all unsupported # functions that are exported by the Tcl library. This file # is used to generate the tclIntDecls.h, tclIntPlatDecls.h, -# tclIntStub.c, and tclPlatStub.c files. +# tclIntStub.c, tclPlatStub.c, tclCompileDecls.h and tclCompileStub.c +# files # # Copyright (c) 1998-1999 by Scriptics Corporation. # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tclInt.decls,v 1.2 1999/03/04 01:01:58 stanton Exp $ +# RCS: @(#) $Id: tclInt.decls,v 1.3 1999/03/10 05:52:48 stanton Exp $ library tcl @@ -98,457 +99,401 @@ declare 21 generic { int TclFileRenameCmd(Tcl_Interp *interp, int argc, char **argv) } declare 22 generic { - void TclFinalizeCompExecEnv(void) -} -declare 23 generic { - void TclFinalizeEnvironment(void) -} -declare 24 generic { - void TclFinalizeExecEnv(void) -} -declare 25 generic { int TclFindElement(Tcl_Interp *interp, char *list, int listLength, \ char **elementPtr, char **nextPtr, int *sizePtr, int *bracePtr) } -declare 26 generic { +declare 23 generic { Proc * TclFindProc(Interp *iPtr, char *procName) } -declare 27 generic { +declare 24 generic { int TclFormatInt(char *buffer, long n) } -declare 28 generic { +declare 25 generic { void TclFreePackageInfo(Interp *iPtr) } -declare 29 generic { +declare 26 generic { char * TclGetCwd(Tcl_Interp *interp) } -declare 30 generic { +declare 27 generic { int TclGetDate(char *p, unsigned long now, long zone, \ unsigned long *timePtr) } -declare 31 generic { +declare 28 generic { Tcl_Channel TclGetDefaultStdChannel(int type) } -declare 32 generic { +declare 29 generic { Tcl_Obj * TclGetElementOfIndexedArray(Tcl_Interp *interp, \ int localIndex, Tcl_Obj *elemPtr, int leaveErrorMsg) } -declare 33 generic { +declare 30 generic { char * TclGetEnv(CONST char *name) } -declare 34 generic { +declare 31 generic { char * TclGetExtension(char *name) } -declare 35 generic { +declare 32 generic { int TclGetFrame(Tcl_Interp *interp, char *string, CallFrame **framePtrPtr) } -declare 36 generic { +declare 33 generic { TclCmdProcType TclGetInterpProc(void) } -declare 37 generic { +declare 34 generic { int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, \ int endValue, int *indexPtr) } -declare 38 generic { +declare 35 generic { Tcl_Obj * TclGetIndexedScalar(Tcl_Interp *interp, int localIndex, \ int leaveErrorMsg) } -declare 39 generic { +declare 36 generic { int TclGetLong(Tcl_Interp *interp, char *string, long *longPtr) } -declare 40 generic { +declare 37 generic { int TclGetLoadedPackages(Tcl_Interp *interp, char *targetName) } -declare 41 generic { +declare 38 generic { int TclGetNamespaceForQualName(Tcl_Interp *interp, char *qualName, \ Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, \ Namespace **altNsPtrPtr, Namespace **actualCxtPtrPtr, \ char **simpleNamePtr) } -declare 42 generic { +declare 39 generic { TclObjCmdProcType TclGetObjInterpProc(void) } -declare 43 generic { +declare 40 generic { int TclGetOpenMode(Tcl_Interp *interp, char *string, int *seekFlagPtr) } -declare 44 generic { +declare 41 generic { Tcl_Command TclGetOriginalCommand(Tcl_Command command) } -declare 45 generic { +declare 42 generic { char * TclGetUserHome(char *name, Tcl_DString *bufferPtr) } -declare 46 generic { +declare 43 generic { int TclGlobalInvoke(Tcl_Interp *interp, int argc, char **argv, int flags) } -declare 47 generic { +declare 44 generic { int TclGuessPackageName(char *fileName, Tcl_DString *bufPtr) } -declare 48 generic { +declare 45 generic { int TclHideUnsafeCommands(Tcl_Interp *interp) } -declare 49 generic { +declare 46 generic { int TclInExit(void) } -declare 50 generic { +declare 47 generic { Tcl_Obj * TclIncrElementOfIndexedArray(Tcl_Interp *interp, \ int localIndex, Tcl_Obj *elemPtr, long incrAmount) } -declare 51 generic { +declare 48 generic { Tcl_Obj * TclIncrIndexedScalar(Tcl_Interp *interp, int localIndex, \ long incrAmount) } -declare 52 generic { +declare 49 generic { Tcl_Obj * TclIncrVar2(Tcl_Interp *interp, Tcl_Obj *part1Ptr, \ Tcl_Obj *part2Ptr, long incrAmount, int part1NotParsed) } -declare 53 generic { +declare 50 generic { void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, \ Namespace *nsPtr) } -declare 54 generic { - void TclInitNamespaces(void) -} -declare 55 generic { +declare 51 generic { int TclInterpInit(Tcl_Interp *interp) } -declare 56 generic { +declare 52 generic { int TclInvoke(Tcl_Interp *interp, int argc, char **argv, int flags) } -declare 57 generic { +declare 53 generic { int TclInvokeObjectCommand(ClientData clientData, Tcl_Interp *interp, \ int argc, char **argv) } -declare 58 generic { +declare 54 generic { int TclInvokeStringCommand(ClientData clientData, Tcl_Interp *interp, \ int objc, Tcl_Obj *CONST objv[]) } -declare 59 generic { +declare 55 generic { Proc * TclIsProc(Command *cmdPtr) } -declare 60 generic { +declare 56 generic { int TclLoadFile(Tcl_Interp *interp, char *fileName, char *sym1, \ char *sym2, Tcl_PackageInitProc **proc1Ptr, \ Tcl_PackageInitProc **proc2Ptr) } -declare 61 generic { +declare 57 generic { int TclLooksLikeInt(char *p) } -declare 62 generic { +declare 58 generic { Var * TclLookupVar(Tcl_Interp *interp, char *part1, char *part2, \ int flags, char *msg, int createPart1, int createPart2, \ Var **arrayPtrPtr) } -declare 63 generic { +declare 59 generic { int TclMatchFiles(Tcl_Interp *interp, char *separators, \ Tcl_DString *dirPtr, char *pattern, char *tail) } -declare 64 generic { +declare 60 generic { int TclNeedSpace(char *start, char *end) } -declare 65 generic { +declare 61 generic { Tcl_Obj * TclNewProcBodyObj(Proc *procPtr) } -declare 66 generic { +declare 62 generic { int TclObjCommandComplete(Tcl_Obj *cmdPtr) } -declare 67 generic { +declare 63 generic { int TclObjInterpProc(ClientData clientData, Tcl_Interp *interp, \ int objc, Tcl_Obj *CONST objv[]) } -declare 68 generic { +declare 64 generic { int TclObjInvoke(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], \ int flags) } -declare 69 generic { +declare 65 generic { int TclObjInvokeGlobal(Tcl_Interp *interp, int objc, \ Tcl_Obj *CONST objv[], int flags) } -declare 70 generic { +declare 66 generic { int TclOpenFileChannelDeleteProc(TclOpenFileChannelProc_ *proc) } -declare 71 generic { +declare 67 generic { int TclOpenFileChannelInsertProc(TclOpenFileChannelProc_ *proc) } -declare 72 generic { +declare 68 generic { int TclpAccess(CONST char *path, int mode) } -declare 73 generic { +declare 69 generic { char * TclpAlloc(unsigned int size) } -declare 74 generic { +declare 70 generic { int TclpCopyFile(char *source, char *dest) } -declare 75 generic { +declare 71 generic { int TclpCopyDirectory(char *source, char *dest, Tcl_DString *errorPtr) } -declare 76 generic { +declare 72 generic { int TclpCreateDirectory(char *path) } -declare 77 generic { +declare 73 generic { int TclpDeleteFile(char *path) } -declare 78 generic { +declare 74 generic { void TclpFree(char *ptr) } -declare 79 generic { +declare 75 generic { unsigned long TclpGetClicks(void) } -declare 80 generic { +declare 76 generic { unsigned long TclpGetSeconds(void) } -declare 81 generic { +declare 77 generic { void TclpGetTime(Tcl_Time *time) } -declare 82 generic { +declare 78 generic { int TclpGetTimeZone(unsigned long time) } -declare 83 generic { +declare 79 generic { int TclpListVolumes(Tcl_Interp *interp) } -declare 84 generic { +declare 80 generic { Tcl_Channel TclpOpenFileChannel(Tcl_Interp *interp, char *fileName, \ char *modeString, int permissions) } -declare 85 generic { +declare 81 generic { char * TclpRealloc(char *ptr, unsigned int size) } -declare 86 generic { +declare 82 generic { int TclpRemoveDirectory(char *path, int recursive, Tcl_DString *errorPtr) } -declare 87 generic { +declare 83 generic { int TclpRenameFile(char *source, char *dest) } -declare 88 generic { +declare 84 generic { int TclParseBraces(Tcl_Interp *interp, char *string, char **termPtr, \ ParseValue *pvPtr) } -declare 89 generic { +declare 85 generic { int TclParseNestedCmd(Tcl_Interp *interp, char *string, int flags, \ char **termPtr, ParseValue *pvPtr) } -declare 90 generic { +declare 86 generic { int TclParseQuotes(Tcl_Interp *interp, char *string, int termChar, \ int flags, char **termPtr, ParseValue *pvPtr) } -declare 91 generic { +declare 87 generic { void TclPlatformInit(Tcl_Interp *interp) } -declare 92 generic { +declare 88 generic { char * TclPrecTraceProc(ClientData clientData, Tcl_Interp *interp, \ char *name1, char *name2, int flags) } -declare 93 generic { +declare 89 generic { int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp, \ Tcl_Command cmd) } -declare 94 generic { +declare 90 generic { void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr) } -declare 95 generic { +declare 91 generic { void TclProcCleanupProc(Proc *procPtr) } -declare 96 generic { +declare 92 generic { int TclProcCompileProc(Tcl_Interp *interp, Proc *procPtr, \ Tcl_Obj *bodyPtr, Namespace *nsPtr, CONST char *description, \ CONST char *procName) } -declare 97 generic { +declare 93 generic { void TclProcDeleteProc(ClientData clientData) } -declare 98 generic { +declare 94 generic { int TclProcInterpProc(ClientData clientData, Tcl_Interp *interp, \ int argc, char **argv) } -declare 99 generic { +declare 95 generic { int TclpStat(CONST char *path, struct stat *buf) } -declare 100 generic { +declare 96 generic { int TclRenameCommand(Tcl_Interp *interp, char *oldName, char *newName) } -declare 101 generic { +declare 97 generic { void TclResetShadowedCmdRefs(Tcl_Interp *interp, Command *newCmdPtr) } -declare 102 generic { +declare 98 generic { int TclServiceIdle(void) } -declare 103 generic { +declare 99 generic { Tcl_Obj * TclSetElementOfIndexedArray(Tcl_Interp *interp, \ int localIndex, Tcl_Obj *elemPtr, Tcl_Obj *objPtr, int leaveErrorMsg) } -declare 104 generic { +declare 100 generic { Tcl_Obj * TclSetIndexedScalar(Tcl_Interp *interp, int localIndex, \ Tcl_Obj *objPtr, int leaveErrorMsg) } -declare 105 generic { +declare 101 generic { char * TclSetPreInitScript(char *string) } -declare 106 generic { +declare 102 generic { void TclSetupEnv(Tcl_Interp *interp) } -declare 107 generic { +declare 103 generic { int TclSockGetPort(Tcl_Interp *interp, char *string, char *proto, \ int *portPtr) } -declare 108 generic { +declare 104 generic { int TclSockMinimumBuffers(int sock, int size) } -declare 109 generic { +declare 105 generic { int TclStat(CONST char *path, TclStat_ *buf) } -declare 110 generic { +declare 106 generic { int TclStatDeleteProc(TclStatProc_ *proc) } -declare 111 generic { +declare 107 generic { int TclStatInsertProc(TclStatProc_ *proc) } -declare 112 generic { +declare 108 generic { void TclTeardownNamespace(Namespace *nsPtr) } -declare 113 generic { +declare 109 generic { int TclUpdateReturnInfo(Interp *iPtr) } -declare 114 generic { +declare 110 generic { char * TclWordEnd(char *start, char *lastChar, int nested, int *semiPtr) } # Procedures used in conjunction with Tcl namespaces. They are # defined here instead of in tcl.decls since they are not stable yet. -declare 115 generic { +declare 111 generic { void Tcl_AddInterpResolvers(Tcl_Interp *interp, char *name, \ Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, \ Tcl_ResolveCompiledVarProc *compiledVarProc) } -declare 116 generic { +declare 112 generic { int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \ Tcl_Obj *objPtr) } -declare 117 generic { +declare 113 generic { Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp, char *name, \ ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc) } -declare 118 generic { +declare 114 generic { void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr) } -declare 119 generic { +declare 115 generic { int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr, char *pattern, \ int resetListFirst) } -declare 120 generic { +declare 116 generic { Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, char *name, \ Tcl_Namespace *contextNsPtr, int flags) } -declare 121 generic { +declare 117 generic { Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp, char *name, \ Tcl_Namespace *contextNsPtr, int flags) } -declare 122 generic { +declare 118 generic { int Tcl_GetInterpResolvers(Tcl_Interp *interp, char *name, \ Tcl_ResolverInfo *resInfo) } -declare 123 generic { +declare 119 generic { int Tcl_GetNamespaceResolvers(Tcl_Namespace *namespacePtr, \ Tcl_ResolverInfo *resInfo) } -declare 124 generic { +declare 120 generic { Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, char *name, \ Tcl_Namespace *contextNsPtr, int flags) } -declare 125 generic { +declare 121 generic { int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \ char *pattern) } -declare 126 generic { +declare 122 generic { Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr) } -declare 127 generic { +declare 123 generic { void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command, \ Tcl_Obj *objPtr) } -declare 128 generic { +declare 124 generic { Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp) } -declare 129 generic { +declare 125 generic { Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp) } -declare 130 generic { +declare 126 generic { void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable, \ Tcl_Obj *objPtr) } -declare 131 generic { +declare 127 generic { int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr, \ char *pattern, int allowOverwrite) } -declare 132 generic { +declare 128 generic { void Tcl_PopCallFrame(Tcl_Interp* interp) } -declare 133 generic { +declare 129 generic { int Tcl_PushCallFrame(Tcl_Interp* interp, Tcl_CallFrame *framePtr, \ Tcl_Namespace *nsPtr, int isProcCallFrame) } -declare 134 generic { +declare 130 generic { int Tcl_RemoveInterpResolvers(Tcl_Interp *interp, char *name) } -declare 135 generic { +declare 131 generic { void Tcl_SetNamespaceResolvers(Tcl_Namespace *namespacePtr, \ Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, \ Tcl_ResolveCompiledVarProc *compiledVarProc) } - -# Compilation procedures for commands in the generic core: - -declare 136 generic { - int TclCompileBreakCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 137 generic { - int TclCompileCatchCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 138 generic { - int TclCompileContinueCmd(Tcl_Interp *interp, char *string, \ - char *lastChar, int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 139 generic { - int TclCompileExprCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 140 generic { - int TclCompileForCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 141 generic { - int TclCompileForeachCmd(Tcl_Interp *interp, char *string, \ - char *lastChar, int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 142 generic { - int TclCompileIfCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 143 generic { - int TclCompileIncrCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 144 generic { - int TclCompileSetCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} -declare 145 generic { - int TclCompileWhileCmd(Tcl_Interp *interp, char *string, char *lastChar, \ - int compileFlags, struct CompileEnv *compileEnvPtr) -} - -declare 146 generic { +declare 132 generic { int TclHasSockets(Tcl_Interp *interp) } -declare 147 generic { +declare 133 generic { struct tm * TclpGetDate(TclpTime_t time, int useGMT) } -declare 148 generic { +declare 134 generic { size_t TclStrftime(char *s, size_t maxsize, const char *format, \ const struct tm *t) } -declare 149 generic { +declare 135 generic { int TclpCheckStackSpace(void) } @@ -697,49 +642,43 @@ declare 8 win { unsigned long TclpGetPid(Tcl_Pid pid) } declare 9 win { - void TclpFinalize(void) -} -declare 10 win { int TclWinGetPlatformId(void) } -declare 11 win { - void TclWinInit(HINSTANCE hInst) -} -declare 12 win { +declare 10 win { int TclWinSynchSpawn(void *args, int type, void **trans, Tcl_Pid *pidPtr) } # Pipe channel functions -declare 13 win { +declare 11 win { void TclGetAndDetachPids(Tcl_Interp *interp, Tcl_Channel chan) } -declare 14 win { +declare 12 win { int TclpCloseFile(TclFile file) } -declare 15 win { +declare 13 win { Tcl_Channel TclpCreateCommandChannel(TclFile readFile, \ TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr) } -declare 16 win { +declare 14 win { int TclpCreatePipe(TclFile *readPipe, TclFile *writePipe) } -declare 17 win { +declare 15 win { int TclpCreateProcess(Tcl_Interp *interp, int argc, char **argv, \ TclFile inputFile, TclFile outputFile, TclFile errorFile, \ Tcl_Pid *pidPtr) } -declare 18 win { +declare 16 win { TclFile TclpCreateTempFile(char *contents, Tcl_DString *namePtr) } -declare 19 win { +declare 17 win { char * TclpGetTZName(void) } -declare 20 win { +declare 18 win { TclFile TclpMakeFile(Tcl_Channel channel, int direction) } -declare 21 win { +declare 19 win { TclFile TclpOpenFile(char *fname, int mode) } @@ -779,4 +718,3 @@ declare 7 unix { declare 8 unix { int TclUnixWaitForFile(int fd, int mask, int timeout) } - diff --git a/generic/tclInt.h b/generic/tclInt.h index 48d4018..65ec24a 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclInt.h,v 1.23 1999/02/03 21:28:00 stanton Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.24 1999/03/10 05:52:48 stanton Exp $ */ #ifndef _TCLINT @@ -52,15 +52,16 @@ #else #include <string.h> #endif -#if defined(__STDC__) || defined(HAS_STDARG) -# include <stdarg.h> -#else -# include <varargs.h> -#endif +#undef TCL_STORAGE_CLASS #ifdef BUILD_tcl -# undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLEXPORT +#else +# ifdef USE_TCL_STUBS +# define TCL_STORAGE_CLASS +# else +# define TCL_STORAGE_CLASS DLLIMPORT +# endif #endif /* @@ -825,6 +826,58 @@ typedef struct ExecEnv { } ExecEnv; /* + * CompileProcs need the ability to record information during compilation + * that can be used by bytecode instructions during execution. The AuxData + * structure provides this "auxiliary data" mechanism. An arbitrary number + * of these structures can be stored in the ByteCode record (during + * compilation they are stored in a CompileEnv structure). Each AuxData + * record holds one word of client-specified data (often a pointer) and is + * given an index that instructions can later use to look up the structure + * and its data. + * + * The following definitions declare the types of procedures that are called + * to duplicate or free this auxiliary data when the containing ByteCode + * objects are duplicated and freed. Pointers to these procedures are kept + * in the AuxData structure. + */ + +typedef ClientData (AuxDataDupProc) _ANSI_ARGS_((ClientData clientData)); +typedef void (AuxDataFreeProc) _ANSI_ARGS_((ClientData clientData)); + +/* + * We define a separate AuxDataType struct to hold type-related information + * for the AuxData structure. This separation makes it possible for clients + * outside of the TCL core to manipulate (in a limited fashion!) AuxData; + * for example, it makes it possible to pickle and unpickle AuxData structs. + */ + +typedef struct AuxDataType { + char *name; /* the name of the type. Types can be + * registered and found by name */ + AuxDataDupProc *dupProc; /* Callback procedure to invoke when the + * aux data is duplicated (e.g., when the + * ByteCode structure containing the aux + * data is duplicated). NULL means just + * copy the source clientData bits; no + * proc need be called. */ + AuxDataFreeProc *freeProc; /* Callback procedure to invoke when the + * aux data is freed. NULL means no + * proc need be called. */ +} AuxDataType; + +/* + * The definition of the AuxData structure that holds information created + * during compilation by CompileProcs and used by instructions during + * execution. + */ + +typedef struct AuxData { + AuxDataType *type; /* pointer to the AuxData type associated with + * this ClientData. */ + ClientData clientData; /* The compilation data itself. */ +} AuxData; + +/* *---------------------------------------------------------------- * Data structures related to commands. *---------------------------------------------------------------- @@ -989,9 +1042,13 @@ typedef struct Interp { int errorLine; /* When TCL_ERROR is returned, this gives * the line number in the command where the * error occurred (1 means first line). */ - Tcl_Obj *objResultPtr; /* If the last command returned an object - * result, this points to it. Should not be - * accessed directly; see comment above. */ + struct TclStubs *stubTable; + /* Pointer to the exported Tcl stub table. + * On previous versions of Tcl this is a + * pointer to the objResultPtr or a pointer + * to a buckets array in a hash table. We + * therefore have to do some careful checking + * before we can use this. */ Namespace *globalNsPtr; /* The interpreter's global namespace. */ Tcl_HashTable mathFuncTable;/* Contains all the math functions currently * defined for the interpreter. Indexed by @@ -1120,6 +1177,9 @@ typedef struct Interp { * gross way. */ char resultSpace[TCL_RESULT_SIZE+1]; /* Static space holding small results. */ + Tcl_Obj *objResultPtr; /* If the last command returned an object + * result, this points to it. Should not be + * accessed directly; see comment above. */ } Interp; /* @@ -1366,6 +1426,12 @@ typedef int (*TclObjCmdProcType) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * CONST objv[])); /* + * Opaque names for platform specific types. + */ + +typedef struct TclpTime_t_ *TclpTime_t; + +/* *---------------------------------------------------------------- * Variables shared among Tcl modules but not used by the outside world. *---------------------------------------------------------------- @@ -1385,6 +1451,7 @@ extern CONST TclFileAttrProcs tclpFileAttrProcs[]; */ extern Tcl_ObjType tclBooleanType; +extern Tcl_ObjType tclByteArrayType; extern Tcl_ObjType tclByteCodeType; extern Tcl_ObjType tclDoubleType; extern Tcl_ObjType tclIntType; @@ -1414,277 +1481,46 @@ extern char * tclEmptyStringRep; /* *---------------------------------------------------------------- - * Procedures shared among Tcl modules but not used by the outside - * world: + * Declarations of procedures that are not accessible by way of + * the stubs tables. *---------------------------------------------------------------- */ -EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format)); -EXTERN int TclAccess _ANSI_ARGS_((CONST char *path, - int mode)); -EXTERN int TclAccessDeleteProc _ANSI_ARGS_((TclAccessProc_ *proc)); -EXTERN int TclAccessInsertProc _ANSI_ARGS_((TclAccessProc_ *proc)); -EXTERN void TclAllocateFreeObjects _ANSI_ARGS_((void)); -EXTERN int TclChdir _ANSI_ARGS_((Tcl_Interp *interp, - char *dirName)); -EXTERN int TclCleanupChildren _ANSI_ARGS_((Tcl_Interp *interp, - int numPids, Tcl_Pid *pidPtr, - Tcl_Channel errorChan)); -EXTERN void TclCleanupCommand _ANSI_ARGS_((Command *cmdPtr)); -EXTERN int TclCopyAndCollapse _ANSI_ARGS_((int count, - char *src, char *dst)); -EXTERN int TclCopyChannel _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel inChan, Tcl_Channel outChan, - int toRead, Tcl_Obj *cmdPtr)); -/* - * TclCreatePipeline unofficially exported for use by BLT. - */ -EXTERN int TclCreatePipeline _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, Tcl_Pid **pidArrayPtr, - TclFile *inPipePtr, TclFile *outPipePtr, - TclFile *errFilePtr)); -EXTERN int TclCreateProc _ANSI_ARGS_((Tcl_Interp *interp, - Namespace *nsPtr, char *procName, - Tcl_Obj *argsPtr, Tcl_Obj *bodyPtr, - Proc **procPtrPtr)); -EXTERN void TclDeleteCompiledLocalVars _ANSI_ARGS_(( - Interp *iPtr, CallFrame *framePtr)); -EXTERN void TclDeleteVars _ANSI_ARGS_((Interp *iPtr, - Tcl_HashTable *tablePtr)); -EXTERN int TclDoGlob _ANSI_ARGS_((Tcl_Interp *interp, - char *separators, Tcl_DString *headPtr, - char *tail)); -EXTERN void TclDumpMemoryInfo _ANSI_ARGS_((FILE *outFile)); -EXTERN void TclExpandParseValue _ANSI_ARGS_((ParseValue *pvPtr, - int needed)); -EXTERN void TclExprFloatError _ANSI_ARGS_((Tcl_Interp *interp, - double value)); -EXTERN int TclFileAttrsCmd _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[])); -EXTERN int TclFileCopyCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN int TclFileDeleteCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN int TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv)) ; -EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void)); -EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void)); -EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void)); -EXTERN int TclFindElement _ANSI_ARGS_((Tcl_Interp *interp, - char *list, int listLength, char **elementPtr, - char **nextPtr, int *sizePtr, int *bracePtr)); -EXTERN Proc * TclFindProc _ANSI_ARGS_((Interp *iPtr, - char *procName)); -EXTERN int TclFormatInt _ANSI_ARGS_((char *buffer, long n)); -EXTERN void TclFreePackageInfo _ANSI_ARGS_((Interp *iPtr)); -EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Channel chan)); -EXTERN char * TclGetCwd _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclGetDate _ANSI_ARGS_((char *p, - unsigned long now, long zone, - unsigned long *timePtr)); -EXTERN Tcl_Channel TclGetDefaultStdChannel _ANSI_ARGS_((int type)); -EXTERN Tcl_Obj * TclGetElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, int leaveErrorMsg)); -EXTERN char * TclGetEnv _ANSI_ARGS_((CONST char *name)); -EXTERN char * TclGetExtension _ANSI_ARGS_((char *name)); -EXTERN int TclGetFrame _ANSI_ARGS_((Tcl_Interp *interp, - char *string, CallFrame **framePtrPtr)); -EXTERN TclCmdProcType TclGetInterpProc _ANSI_ARGS_((void)); -EXTERN int TclGetIntForIndex _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, int endValue, int *indexPtr)); -EXTERN Tcl_Obj * TclGetIndexedScalar _ANSI_ARGS_((Tcl_Interp *interp, - int localIndex, int leaveErrorMsg)); -EXTERN int TclGetLong _ANSI_ARGS_((Tcl_Interp *interp, - char *string, long *longPtr)); -EXTERN int TclGetLoadedPackages _ANSI_ARGS_(( - Tcl_Interp *interp, char *targetName)); -EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_(( - Tcl_Interp *interp, char *qualName, - Namespace *cxtNsPtr, int flags, - Namespace **nsPtrPtr, Namespace **altNsPtrPtr, - Namespace **actualCxtPtrPtr, - char **simpleNamePtr)); -EXTERN TclObjCmdProcType TclGetObjInterpProc _ANSI_ARGS_((void)); -EXTERN int TclGetOpenMode _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int *seekFlagPtr)); -EXTERN Tcl_Command TclGetOriginalCommand _ANSI_ARGS_(( - Tcl_Command command)); -EXTERN char * TclGetUserHome _ANSI_ARGS_((char *name, - Tcl_DString *bufferPtr)); -EXTERN int TclGlobalInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, int flags)); -EXTERN int TclGuessPackageName _ANSI_ARGS_((char *fileName, - Tcl_DString *bufPtr)); -EXTERN int TclHasSockets _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclHideUnsafeCommands _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN int TclInExit _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * TclIncrElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, long incrAmount)); -EXTERN Tcl_Obj * TclIncrIndexedScalar _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - long incrAmount)); -EXTERN Tcl_Obj * TclIncrVar2 _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, - long incrAmount, int part1NotParsed)); -EXTERN void TclInitCompiledLocals _ANSI_ARGS_(( - Tcl_Interp *interp, CallFrame *framePtr, - Namespace *nsPtr)); -EXTERN void TclInitNamespaces _ANSI_ARGS_((void)); -EXTERN int TclInterpInit _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, int flags)); -EXTERN int TclInvokeObjectCommand _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclInvokeStringCommand _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[])); -EXTERN Proc * TclIsProc _ANSI_ARGS_((Command *cmdPtr)); -EXTERN int TclLoadFile _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *sym1, char *sym2, - Tcl_PackageInitProc **proc1Ptr, - Tcl_PackageInitProc **proc2Ptr)); -EXTERN int TclLooksLikeInt _ANSI_ARGS_((char *p)); -EXTERN Var * TclLookupVar _ANSI_ARGS_((Tcl_Interp *interp, - char *part1, char *part2, int flags, char *msg, - int createPart1, int createPart2, - Var **arrayPtrPtr)); -EXTERN int TclMatchFiles _ANSI_ARGS_((Tcl_Interp *interp, - char *separators, Tcl_DString *dirPtr, - char *pattern, char *tail)); -EXTERN int TclNeedSpace _ANSI_ARGS_((char *start, char *end)); -EXTERN Tcl_Obj * TclNewProcBodyObj _ANSI_ARGS_((Proc *procPtr)); -EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj *cmdPtr)); -EXTERN int TclObjInterpProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj *CONST objv[])); -EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], int flags)); -EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp *interp, - int objc, Tcl_Obj *CONST objv[], int flags)); -EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_(( - TclOpenFileChannelProc_ *proc)); -EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_(( - TclOpenFileChannelProc_ *proc)); -EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); - -/* - * On a Mac, we can exit gracefully if the stack gets too small. - */ - -#ifdef MAC_TCL -EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void)); -#else -#define TclpCheckStackSpace() (1) -#endif - -EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file)); -EXTERN int TclpCopyFile _ANSI_ARGS_((char *source, char *dest)); -EXTERN int TclpCopyDirectory _ANSI_ARGS_((char *source, - char *dest, Tcl_DString *errorPtr)); -EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( - TclFile readFile, TclFile writeFile, - TclFile errorFile, int numPids, Tcl_Pid *pidPtr)); -EXTERN int TclpCreateDirectory _ANSI_ARGS_((char *path)); -EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile *readPipe, - TclFile *writePipe)); -EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp *interp, - int argc, char **argv, TclFile inputFile, - TclFile outputFile, TclFile errorFile, - Tcl_Pid *pidPtr)); -EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char *contents, - Tcl_DString *namePtr)); -EXTERN int TclpDeleteFile _ANSI_ARGS_((char *path)); -EXTERN void TclpFinalize _ANSI_ARGS_((void)); -EXTERN void TclpFree _ANSI_ARGS_((char *ptr)); -EXTERN unsigned long TclpGetClicks _ANSI_ARGS_((void)); -EXTERN unsigned long TclpGetSeconds _ANSI_ARGS_((void)); -EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time *time)); -EXTERN int TclpGetTimeZone _ANSI_ARGS_((unsigned long time)); -EXTERN char * TclpGetTZName _ANSI_ARGS_((void)); -EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, - int direction)); -EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char *fname, int mode)); -EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, - char *fileName, char *modeString, - int permissions)); -EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, - unsigned int size)); -EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char *path, - int recursive, Tcl_DString *errorPtr)); -EXTERN int TclpRenameFile _ANSI_ARGS_((char *source, char *dest)); -#ifndef TclpSysAlloc -EXTERN VOID * TclpSysAlloc _ANSI_ARGS_((long size, int isBin)); -#endif -#ifndef TclpSysFree -EXTERN void TclpSysFree _ANSI_ARGS_((VOID *ptr)); -#endif -#ifndef TclpSysRealloc -EXTERN VOID * TclpSysRealloc _ANSI_ARGS_((VOID *cp, - unsigned int size)); -#endif -EXTERN int TclParseBraces _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char **termPtr, ParseValue *pvPtr)); -EXTERN int TclParseNestedCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int flags, char **termPtr, - ParseValue *pvPtr)); -EXTERN int TclParseQuotes _ANSI_ARGS_((Tcl_Interp *interp, - char *string, int termChar, int flags, - char **termPtr, ParseValue *pvPtr)); -EXTERN void TclPlatformExit _ANSI_ARGS_((int status)); -EXTERN void TclPlatformInit _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN char * TclPrecTraceProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, char *name1, char *name2, - int flags)); -EXTERN int TclPreventAliasLoop _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Interp *cmdInterp, Tcl_Command cmd)); -EXTERN void TclPrintByteCodeObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr)); -EXTERN void TclProcCleanupProc _ANSI_ARGS_((Proc *procPtr)); -EXTERN int TclProcCompileProc _ANSI_ARGS_((Tcl_Interp *interp, - Proc *procPtr, Tcl_Obj *bodyPtr, Namespace *nsPtr, - CONST char *description, CONST char *procName)); -EXTERN void TclProcDeleteProc _ANSI_ARGS_((ClientData clientData)); -EXTERN int TclProcInterpProc _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, char **argv)); -EXTERN int TclRenameCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *oldName, char *newName)) ; -EXTERN void TclResetShadowedCmdRefs _ANSI_ARGS_(( - Tcl_Interp *interp, Command *newCmdPtr)); -EXTERN int TclServiceIdle _ANSI_ARGS_((void)); -EXTERN Tcl_Obj * TclSetElementOfIndexedArray _ANSI_ARGS_(( - Tcl_Interp *interp, int localIndex, - Tcl_Obj *elemPtr, Tcl_Obj *objPtr, - int leaveErrorMsg)); -EXTERN Tcl_Obj * TclSetIndexedScalar _ANSI_ARGS_((Tcl_Interp *interp, - int localIndex, Tcl_Obj *objPtr, - int leaveErrorMsg)); -EXTERN char * TclSetPreInitScript _ANSI_ARGS_((char *string)); -EXTERN void TclSetupEnv _ANSI_ARGS_((Tcl_Interp *interp)); -EXTERN int TclSockGetPort _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *proto, int *portPtr)); -EXTERN int TclSockMinimumBuffers _ANSI_ARGS_((int sock, - int size)); -EXTERN int TclStat _ANSI_ARGS_((CONST char *path, - TclStat_ *buf)); -EXTERN int TclStatDeleteProc _ANSI_ARGS_((TclStatProc_ *proc)); -EXTERN int TclStatInsertProc _ANSI_ARGS_((TclStatProc_ *proc)); -EXTERN void TclTeardownNamespace _ANSI_ARGS_((Namespace *nsPtr)); -EXTERN int TclTestChannelCmd _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, char **argv)); -EXTERN int TclTestChannelEventCmd _ANSI_ARGS_(( - ClientData clientData, Tcl_Interp *interp, - int argc, char **argv)); -EXTERN int TclUpdateReturnInfo _ANSI_ARGS_((Interp *iPtr)); -EXTERN char * TclWordEnd _ANSI_ARGS_((char *start, char *lastChar, - int nested, int *semiPtr)); +EXTERN int TclCompileBreakCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileCatchCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileContinueCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileExprCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileForCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileForeachCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileIfCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileIncrCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileSetCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp *interp, + char *string, char *lastChar, int compileFlags, + struct CompileEnv *compileEnvPtr)); +EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void)); +EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void)); +EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void)); +EXTERN void TclInitNamespaces _ANSI_ARGS_((void)); +EXTERN void TclpFinalize _ANSI_ARGS_((void)); /* *---------------------------------------------------------------- @@ -1759,7 +1595,7 @@ EXTERN int Tcl_IncrCmd _ANSI_ARGS_((ClientData clientData, EXTERN int Tcl_InfoObjCmd _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_InterpObjCmd _ANSI_ARGS_((ClientData clientData, - Tcl_Interp *interp, int argc, Tcl_Obj *CONST objv[])); + Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_JoinObjCmd _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_LappendObjCmd _ANSI_ARGS_((ClientData clientData, @@ -1864,42 +1700,17 @@ EXTERN int Tcl_ResourceObjCmd _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])); #endif + /* *---------------------------------------------------------------- - * Compilation procedures for commands in the generic core: + * Command procedures used for testing. *---------------------------------------------------------------- */ -EXTERN int TclCompileBreakCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileCatchCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileContinueCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileExprCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileForCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileForeachCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileIfCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileIncrCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileSetCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); -EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp *interp, - char *string, char *lastChar, int compileFlags, - struct CompileEnv *compileEnvPtr)); +EXTERN int TclTestChannelCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int argc, char **argv)); +EXTERN int TclTestChannelEventCmd _ANSI_ARGS_((ClientData clientData, + Tcl_Interp *interp, int argc, char **argv)); /* *---------------------------------------------------------------- @@ -2073,72 +1884,11 @@ EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp *interp, } /* - *---------------------------------------------------------------- - * Procedures used in conjunction with Tcl namespaces. They are - * defined here instead of in tcl.h since they are not stable yet. - *---------------------------------------------------------------- + * Include the declarations for functions that are accessible via + * the stubs table. */ -EXTERN void Tcl_AddInterpResolvers _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_ResolveCmdProc *cmdProc, - Tcl_ResolveVarProc *varProc, - Tcl_ResolveCompiledVarProc *compiledVarProc)); -EXTERN int Tcl_AppendExportList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Namespace *nsPtr, - Tcl_Obj *objPtr)); -EXTERN Tcl_Namespace * Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, ClientData clientData, - Tcl_NamespaceDeleteProc *deleteProc)); -EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_(( - Tcl_Namespace *nsPtr)); -EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern, - int resetListFirst)); -EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *contextNsPtr, - int flags)); -EXTERN Tcl_Namespace * Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_Namespace *contextNsPtr, - int flags)); -EXTERN int Tcl_GetInterpResolvers _ANSI_ARGS_((Tcl_Interp *interp, - char *name, Tcl_ResolverInfo *resInfo)); -EXTERN int Tcl_GetNamespaceResolvers _ANSI_ARGS_(( - Tcl_Namespace *namespacePtr, - Tcl_ResolverInfo *resInfo)); -EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Var variable, - Tcl_Obj *objPtr)); -EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_(( - Tcl_Interp *interp, char *name, - Tcl_Namespace *contextNsPtr, int flags)); -EXTERN int Tcl_ForgetImport _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern)); -EXTERN Tcl_Command Tcl_GetCommandFromObj _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Obj *objPtr)); -EXTERN void Tcl_GetCommandFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command command, - Tcl_Obj *objPtr)); -EXTERN Tcl_Namespace * Tcl_GetCurrentNamespace _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace _ANSI_ARGS_(( - Tcl_Interp *interp)); -EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Var variable, - Tcl_Obj *objPtr)); -EXTERN int Tcl_Import _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Namespace *nsPtr, char *pattern, - int allowOverwrite)); -EXTERN void Tcl_PopCallFrame _ANSI_ARGS_((Tcl_Interp* interp)); -EXTERN int Tcl_PushCallFrame _ANSI_ARGS_((Tcl_Interp* interp, - Tcl_CallFrame *framePtr, Tcl_Namespace *nsPtr, - int isProcCallFrame)); -EXTERN int Tcl_RemoveInterpResolvers _ANSI_ARGS_(( - Tcl_Interp *interp, char *name)); -EXTERN void Tcl_SetNamespaceResolvers _ANSI_ARGS_(( - Tcl_Namespace *namespacePtr, - Tcl_ResolveCmdProc *cmdProc, - Tcl_ResolveVarProc *varProc, - Tcl_ResolveCompiledVarProc *compiledVarProc)); +#include "tclIntDecls.h" # undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h index 1152a56..ec8b39a 100644 --- a/generic/tclIntDecls.h +++ b/generic/tclIntDecls.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIntDecls.h,v 1.2 1999/03/04 01:01:58 stanton Exp $ + * RCS: @(#) $Id: tclIntDecls.h,v 1.3 1999/03/10 05:52:48 stanton Exp $ */ #ifndef _TCLINTDECLS @@ -99,57 +99,51 @@ EXTERN int TclFileMakeDirsCmd _ANSI_ARGS_((Tcl_Interp * interp, EXTERN int TclFileRenameCmd _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 22 */ -EXTERN void TclFinalizeCompExecEnv _ANSI_ARGS_((void)); -/* 23 */ -EXTERN void TclFinalizeEnvironment _ANSI_ARGS_((void)); -/* 24 */ -EXTERN void TclFinalizeExecEnv _ANSI_ARGS_((void)); -/* 25 */ EXTERN int TclFindElement _ANSI_ARGS_((Tcl_Interp * interp, char * list, int listLength, char ** elementPtr, char ** nextPtr, int * sizePtr, int * bracePtr)); -/* 26 */ +/* 23 */ EXTERN Proc * TclFindProc _ANSI_ARGS_((Interp * iPtr, char * procName)); -/* 27 */ +/* 24 */ EXTERN int TclFormatInt _ANSI_ARGS_((char * buffer, long n)); -/* 28 */ +/* 25 */ EXTERN void TclFreePackageInfo _ANSI_ARGS_((Interp * iPtr)); -/* 29 */ +/* 26 */ EXTERN char * TclGetCwd _ANSI_ARGS_((Tcl_Interp * interp)); -/* 30 */ +/* 27 */ EXTERN int TclGetDate _ANSI_ARGS_((char * p, unsigned long now, long zone, unsigned long * timePtr)); -/* 31 */ +/* 28 */ EXTERN Tcl_Channel TclGetDefaultStdChannel _ANSI_ARGS_((int type)); -/* 32 */ +/* 29 */ EXTERN Tcl_Obj * TclGetElementOfIndexedArray _ANSI_ARGS_(( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg)); -/* 33 */ +/* 30 */ EXTERN char * TclGetEnv _ANSI_ARGS_((CONST char * name)); -/* 34 */ +/* 31 */ EXTERN char * TclGetExtension _ANSI_ARGS_((char * name)); -/* 35 */ +/* 32 */ EXTERN int TclGetFrame _ANSI_ARGS_((Tcl_Interp * interp, char * string, CallFrame ** framePtrPtr)); -/* 36 */ +/* 33 */ EXTERN TclCmdProcType TclGetInterpProc _ANSI_ARGS_((void)); -/* 37 */ +/* 34 */ EXTERN int TclGetIntForIndex _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr)); -/* 38 */ +/* 35 */ EXTERN Tcl_Obj * TclGetIndexedScalar _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, int leaveErrorMsg)); -/* 39 */ +/* 36 */ EXTERN int TclGetLong _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * longPtr)); -/* 40 */ +/* 37 */ EXTERN int TclGetLoadedPackages _ANSI_ARGS_(( Tcl_Interp * interp, char * targetName)); -/* 41 */ +/* 38 */ EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_(( Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, @@ -157,355 +151,303 @@ EXTERN int TclGetNamespaceForQualName _ANSI_ARGS_(( Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr)); -/* 42 */ +/* 39 */ EXTERN TclObjCmdProcType TclGetObjInterpProc _ANSI_ARGS_((void)); -/* 43 */ +/* 40 */ EXTERN int TclGetOpenMode _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * seekFlagPtr)); -/* 44 */ +/* 41 */ EXTERN Tcl_Command TclGetOriginalCommand _ANSI_ARGS_(( Tcl_Command command)); -/* 45 */ +/* 42 */ EXTERN char * TclGetUserHome _ANSI_ARGS_((char * name, Tcl_DString * bufferPtr)); -/* 46 */ +/* 43 */ EXTERN int TclGlobalInvoke _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); -/* 47 */ +/* 44 */ EXTERN int TclGuessPackageName _ANSI_ARGS_((char * fileName, Tcl_DString * bufPtr)); -/* 48 */ +/* 45 */ EXTERN int TclHideUnsafeCommands _ANSI_ARGS_(( Tcl_Interp * interp)); -/* 49 */ +/* 46 */ EXTERN int TclInExit _ANSI_ARGS_((void)); -/* 50 */ +/* 47 */ EXTERN Tcl_Obj * TclIncrElementOfIndexedArray _ANSI_ARGS_(( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount)); -/* 51 */ +/* 48 */ EXTERN Tcl_Obj * TclIncrIndexedScalar _ANSI_ARGS_(( Tcl_Interp * interp, int localIndex, long incrAmount)); -/* 52 */ +/* 49 */ EXTERN Tcl_Obj * TclIncrVar2 _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed)); -/* 53 */ +/* 50 */ EXTERN void TclInitCompiledLocals _ANSI_ARGS_(( Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr)); -/* 54 */ -EXTERN void TclInitNamespaces _ANSI_ARGS_((void)); -/* 55 */ +/* 51 */ EXTERN int TclInterpInit _ANSI_ARGS_((Tcl_Interp * interp)); -/* 56 */ +/* 52 */ EXTERN int TclInvoke _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); -/* 57 */ +/* 53 */ EXTERN int TclInvokeObjectCommand _ANSI_ARGS_(( ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); -/* 58 */ +/* 54 */ EXTERN int TclInvokeStringCommand _ANSI_ARGS_(( ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); -/* 59 */ +/* 55 */ EXTERN Proc * TclIsProc _ANSI_ARGS_((Command * cmdPtr)); -/* 60 */ +/* 56 */ EXTERN int TclLoadFile _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr)); -/* 61 */ +/* 57 */ EXTERN int TclLooksLikeInt _ANSI_ARGS_((char * p)); -/* 62 */ +/* 58 */ EXTERN Var * TclLookupVar _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr)); -/* 63 */ +/* 59 */ EXTERN int TclMatchFiles _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail)); -/* 64 */ +/* 60 */ EXTERN int TclNeedSpace _ANSI_ARGS_((char * start, char * end)); -/* 65 */ +/* 61 */ EXTERN Tcl_Obj * TclNewProcBodyObj _ANSI_ARGS_((Proc * procPtr)); -/* 66 */ +/* 62 */ EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj * cmdPtr)); -/* 67 */ +/* 63 */ EXTERN int TclObjInterpProc _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); -/* 68 */ +/* 64 */ EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); -/* 69 */ +/* 65 */ EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); -/* 70 */ +/* 66 */ EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_(( TclOpenFileChannelProc_ * proc)); -/* 71 */ +/* 67 */ EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_(( TclOpenFileChannelProc_ * proc)); -/* 72 */ +/* 68 */ EXTERN int TclpAccess _ANSI_ARGS_((CONST char * path, int mode)); -/* 73 */ +/* 69 */ EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); -/* 74 */ +/* 70 */ EXTERN int TclpCopyFile _ANSI_ARGS_((char * source, char * dest)); -/* 75 */ +/* 71 */ EXTERN int TclpCopyDirectory _ANSI_ARGS_((char * source, char * dest, Tcl_DString * errorPtr)); -/* 76 */ +/* 72 */ EXTERN int TclpCreateDirectory _ANSI_ARGS_((char * path)); -/* 77 */ +/* 73 */ EXTERN int TclpDeleteFile _ANSI_ARGS_((char * path)); -/* 78 */ +/* 74 */ EXTERN void TclpFree _ANSI_ARGS_((char * ptr)); -/* 79 */ +/* 75 */ EXTERN unsigned long TclpGetClicks _ANSI_ARGS_((void)); -/* 80 */ +/* 76 */ EXTERN unsigned long TclpGetSeconds _ANSI_ARGS_((void)); -/* 81 */ +/* 77 */ EXTERN void TclpGetTime _ANSI_ARGS_((Tcl_Time * time)); -/* 82 */ +/* 78 */ EXTERN int TclpGetTimeZone _ANSI_ARGS_((unsigned long time)); -/* 83 */ +/* 79 */ EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp * interp)); -/* 84 */ +/* 80 */ EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); -/* 85 */ +/* 81 */ EXTERN char * TclpRealloc _ANSI_ARGS_((char * ptr, unsigned int size)); -/* 86 */ +/* 82 */ EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char * path, int recursive, Tcl_DString * errorPtr)); -/* 87 */ +/* 83 */ EXTERN int TclpRenameFile _ANSI_ARGS_((char * source, char * dest)); -/* 88 */ +/* 84 */ EXTERN int TclParseBraces _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr, ParseValue * pvPtr)); -/* 89 */ +/* 85 */ EXTERN int TclParseNestedCmd _ANSI_ARGS_((Tcl_Interp * interp, char * string, int flags, char ** termPtr, ParseValue * pvPtr)); -/* 90 */ +/* 86 */ EXTERN int TclParseQuotes _ANSI_ARGS_((Tcl_Interp * interp, char * string, int termChar, int flags, char ** termPtr, ParseValue * pvPtr)); -/* 91 */ +/* 87 */ EXTERN void TclPlatformInit _ANSI_ARGS_((Tcl_Interp * interp)); -/* 92 */ +/* 88 */ EXTERN char * TclPrecTraceProc _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags)); -/* 93 */ +/* 89 */ EXTERN int TclPreventAliasLoop _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd)); -/* 94 */ +/* 90 */ EXTERN void TclPrintByteCodeObj _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); -/* 95 */ +/* 91 */ EXTERN void TclProcCleanupProc _ANSI_ARGS_((Proc * procPtr)); -/* 96 */ +/* 92 */ EXTERN int TclProcCompileProc _ANSI_ARGS_((Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, CONST char * description, CONST char * procName)); -/* 97 */ +/* 93 */ EXTERN void TclProcDeleteProc _ANSI_ARGS_((ClientData clientData)); -/* 98 */ +/* 94 */ EXTERN int TclProcInterpProc _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); -/* 99 */ +/* 95 */ EXTERN int TclpStat _ANSI_ARGS_((CONST char * path, struct stat * buf)); -/* 100 */ +/* 96 */ EXTERN int TclRenameCommand _ANSI_ARGS_((Tcl_Interp * interp, char * oldName, char * newName)); -/* 101 */ +/* 97 */ EXTERN void TclResetShadowedCmdRefs _ANSI_ARGS_(( Tcl_Interp * interp, Command * newCmdPtr)); -/* 102 */ +/* 98 */ EXTERN int TclServiceIdle _ANSI_ARGS_((void)); -/* 103 */ +/* 99 */ EXTERN Tcl_Obj * TclSetElementOfIndexedArray _ANSI_ARGS_(( Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg)); -/* 104 */ +/* 100 */ EXTERN Tcl_Obj * TclSetIndexedScalar _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg)); -/* 105 */ +/* 101 */ EXTERN char * TclSetPreInitScript _ANSI_ARGS_((char * string)); -/* 106 */ +/* 102 */ EXTERN void TclSetupEnv _ANSI_ARGS_((Tcl_Interp * interp)); -/* 107 */ +/* 103 */ EXTERN int TclSockGetPort _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * proto, int * portPtr)); -/* 108 */ +/* 104 */ EXTERN int TclSockMinimumBuffers _ANSI_ARGS_((int sock, int size)); -/* 109 */ +/* 105 */ EXTERN int TclStat _ANSI_ARGS_((CONST char * path, TclStat_ * buf)); -/* 110 */ +/* 106 */ EXTERN int TclStatDeleteProc _ANSI_ARGS_((TclStatProc_ * proc)); -/* 111 */ +/* 107 */ EXTERN int TclStatInsertProc _ANSI_ARGS_((TclStatProc_ * proc)); -/* 112 */ +/* 108 */ EXTERN void TclTeardownNamespace _ANSI_ARGS_((Namespace * nsPtr)); -/* 113 */ +/* 109 */ EXTERN int TclUpdateReturnInfo _ANSI_ARGS_((Interp * iPtr)); -/* 114 */ +/* 110 */ EXTERN char * TclWordEnd _ANSI_ARGS_((char * start, char * lastChar, int nested, int * semiPtr)); -/* 115 */ +/* 111 */ EXTERN void Tcl_AddInterpResolvers _ANSI_ARGS_(( Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); -/* 116 */ +/* 112 */ EXTERN int Tcl_AppendExportList _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr)); -/* 117 */ +/* 113 */ EXTERN Tcl_Namespace * Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc)); -/* 118 */ +/* 114 */ EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_(( Tcl_Namespace * nsPtr)); -/* 119 */ +/* 115 */ EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst)); -/* 120 */ +/* 116 */ EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); -/* 121 */ +/* 117 */ EXTERN Tcl_Namespace * Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); -/* 122 */ +/* 118 */ EXTERN int Tcl_GetInterpResolvers _ANSI_ARGS_(( Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo)); -/* 123 */ +/* 119 */ EXTERN int Tcl_GetNamespaceResolvers _ANSI_ARGS_(( Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo)); -/* 124 */ +/* 120 */ EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_(( Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); -/* 125 */ +/* 121 */ EXTERN int Tcl_ForgetImport _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern)); -/* 126 */ +/* 122 */ EXTERN Tcl_Command Tcl_GetCommandFromObj _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Obj * objPtr)); -/* 127 */ +/* 123 */ EXTERN void Tcl_GetCommandFullName _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr)); -/* 128 */ +/* 124 */ EXTERN Tcl_Namespace * Tcl_GetCurrentNamespace _ANSI_ARGS_(( Tcl_Interp * interp)); -/* 129 */ +/* 125 */ EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace _ANSI_ARGS_(( Tcl_Interp * interp)); -/* 130 */ +/* 126 */ EXTERN void Tcl_GetVariableFullName _ANSI_ARGS_(( Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr)); -/* 131 */ +/* 127 */ EXTERN int Tcl_Import _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite)); -/* 132 */ +/* 128 */ EXTERN void Tcl_PopCallFrame _ANSI_ARGS_((Tcl_Interp* interp)); -/* 133 */ +/* 129 */ EXTERN int Tcl_PushCallFrame _ANSI_ARGS_((Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame)); -/* 134 */ +/* 130 */ EXTERN int Tcl_RemoveInterpResolvers _ANSI_ARGS_(( Tcl_Interp * interp, char * name)); -/* 135 */ +/* 131 */ EXTERN void Tcl_SetNamespaceResolvers _ANSI_ARGS_(( Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); -/* 136 */ -EXTERN int TclCompileBreakCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 137 */ -EXTERN int TclCompileCatchCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 138 */ -EXTERN int TclCompileContinueCmd _ANSI_ARGS_(( - Tcl_Interp * interp, char * string, - char * lastChar, int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 139 */ -EXTERN int TclCompileExprCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 140 */ -EXTERN int TclCompileForCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 141 */ -EXTERN int TclCompileForeachCmd _ANSI_ARGS_(( - Tcl_Interp * interp, char * string, - char * lastChar, int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 142 */ -EXTERN int TclCompileIfCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 143 */ -EXTERN int TclCompileIncrCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 144 */ -EXTERN int TclCompileSetCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 145 */ -EXTERN int TclCompileWhileCmd _ANSI_ARGS_((Tcl_Interp * interp, - char * string, char * lastChar, - int compileFlags, - struct CompileEnv * compileEnvPtr)); -/* 146 */ +/* 132 */ EXTERN int TclHasSockets _ANSI_ARGS_((Tcl_Interp * interp)); -/* 147 */ +/* 133 */ EXTERN struct tm * TclpGetDate _ANSI_ARGS_((TclpTime_t time, int useGMT)); -/* 148 */ +/* 134 */ EXTERN size_t TclStrftime _ANSI_ARGS_((char * s, size_t maxsize, const char * format, const struct tm * t)); -/* 149 */ +/* 135 */ EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void)); typedef struct TclIntStubs { @@ -534,134 +476,120 @@ typedef struct TclIntStubs { int (*tclFileDeleteCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 19 */ int (*tclFileMakeDirsCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 20 */ int (*tclFileRenameCmd) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv)); /* 21 */ - void (*tclFinalizeCompExecEnv) _ANSI_ARGS_((void)); /* 22 */ - void (*tclFinalizeEnvironment) _ANSI_ARGS_((void)); /* 23 */ - void (*tclFinalizeExecEnv) _ANSI_ARGS_((void)); /* 24 */ - int (*tclFindElement) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int listLength, char ** elementPtr, char ** nextPtr, int * sizePtr, int * bracePtr)); /* 25 */ - Proc * (*tclFindProc) _ANSI_ARGS_((Interp * iPtr, char * procName)); /* 26 */ - int (*tclFormatInt) _ANSI_ARGS_((char * buffer, long n)); /* 27 */ - void (*tclFreePackageInfo) _ANSI_ARGS_((Interp * iPtr)); /* 28 */ - char * (*tclGetCwd) _ANSI_ARGS_((Tcl_Interp * interp)); /* 29 */ - int (*tclGetDate) _ANSI_ARGS_((char * p, unsigned long now, long zone, unsigned long * timePtr)); /* 30 */ - Tcl_Channel (*tclGetDefaultStdChannel) _ANSI_ARGS_((int type)); /* 31 */ - Tcl_Obj * (*tclGetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg)); /* 32 */ - char * (*tclGetEnv) _ANSI_ARGS_((CONST char * name)); /* 33 */ - char * (*tclGetExtension) _ANSI_ARGS_((char * name)); /* 34 */ - int (*tclGetFrame) _ANSI_ARGS_((Tcl_Interp * interp, char * string, CallFrame ** framePtrPtr)); /* 35 */ - TclCmdProcType (*tclGetInterpProc) _ANSI_ARGS_((void)); /* 36 */ - int (*tclGetIntForIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr)); /* 37 */ - Tcl_Obj * (*tclGetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, int leaveErrorMsg)); /* 38 */ - int (*tclGetLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * longPtr)); /* 39 */ - int (*tclGetLoadedPackages) _ANSI_ARGS_((Tcl_Interp * interp, char * targetName)); /* 40 */ - int (*tclGetNamespaceForQualName) _ANSI_ARGS_((Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, Namespace ** nsPtrPtr, Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr)); /* 41 */ - TclObjCmdProcType (*tclGetObjInterpProc) _ANSI_ARGS_((void)); /* 42 */ - int (*tclGetOpenMode) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * seekFlagPtr)); /* 43 */ - Tcl_Command (*tclGetOriginalCommand) _ANSI_ARGS_((Tcl_Command command)); /* 44 */ - char * (*tclGetUserHome) _ANSI_ARGS_((char * name, Tcl_DString * bufferPtr)); /* 45 */ - int (*tclGlobalInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 46 */ - int (*tclGuessPackageName) _ANSI_ARGS_((char * fileName, Tcl_DString * bufPtr)); /* 47 */ - int (*tclHideUnsafeCommands) _ANSI_ARGS_((Tcl_Interp * interp)); /* 48 */ - int (*tclInExit) _ANSI_ARGS_((void)); /* 49 */ - Tcl_Obj * (*tclIncrElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount)); /* 50 */ - Tcl_Obj * (*tclIncrIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, long incrAmount)); /* 51 */ - Tcl_Obj * (*tclIncrVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed)); /* 52 */ - void (*tclInitCompiledLocals) _ANSI_ARGS_((Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr)); /* 53 */ - void (*tclInitNamespaces) _ANSI_ARGS_((void)); /* 54 */ - int (*tclInterpInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 55 */ - int (*tclInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 56 */ - int (*tclInvokeObjectCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 57 */ - int (*tclInvokeStringCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 58 */ - Proc * (*tclIsProc) _ANSI_ARGS_((Command * cmdPtr)); /* 59 */ - int (*tclLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr)); /* 60 */ - int (*tclLooksLikeInt) _ANSI_ARGS_((char * p)); /* 61 */ - Var * (*tclLookupVar) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr)); /* 62 */ - int (*tclMatchFiles) _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail)); /* 63 */ - int (*tclNeedSpace) _ANSI_ARGS_((char * start, char * end)); /* 64 */ - Tcl_Obj * (*tclNewProcBodyObj) _ANSI_ARGS_((Proc * procPtr)); /* 65 */ - int (*tclObjCommandComplete) _ANSI_ARGS_((Tcl_Obj * cmdPtr)); /* 66 */ - int (*tclObjInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 67 */ - int (*tclObjInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 68 */ - int (*tclObjInvokeGlobal) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 69 */ - int (*tclOpenFileChannelDeleteProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 70 */ - int (*tclOpenFileChannelInsertProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 71 */ - int (*tclpAccess) _ANSI_ARGS_((CONST char * path, int mode)); /* 72 */ - char * (*tclpAlloc) _ANSI_ARGS_((unsigned int size)); /* 73 */ - int (*tclpCopyFile) _ANSI_ARGS_((char * source, char * dest)); /* 74 */ - int (*tclpCopyDirectory) _ANSI_ARGS_((char * source, char * dest, Tcl_DString * errorPtr)); /* 75 */ - int (*tclpCreateDirectory) _ANSI_ARGS_((char * path)); /* 76 */ - int (*tclpDeleteFile) _ANSI_ARGS_((char * path)); /* 77 */ - void (*tclpFree) _ANSI_ARGS_((char * ptr)); /* 78 */ - unsigned long (*tclpGetClicks) _ANSI_ARGS_((void)); /* 79 */ - unsigned long (*tclpGetSeconds) _ANSI_ARGS_((void)); /* 80 */ - void (*tclpGetTime) _ANSI_ARGS_((Tcl_Time * time)); /* 81 */ - int (*tclpGetTimeZone) _ANSI_ARGS_((unsigned long time)); /* 82 */ - int (*tclpListVolumes) _ANSI_ARGS_((Tcl_Interp * interp)); /* 83 */ - Tcl_Channel (*tclpOpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 84 */ - char * (*tclpRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 85 */ - int (*tclpRemoveDirectory) _ANSI_ARGS_((char * path, int recursive, Tcl_DString * errorPtr)); /* 86 */ - int (*tclpRenameFile) _ANSI_ARGS_((char * source, char * dest)); /* 87 */ - int (*tclParseBraces) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr, ParseValue * pvPtr)); /* 88 */ - int (*tclParseNestedCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int flags, char ** termPtr, ParseValue * pvPtr)); /* 89 */ - int (*tclParseQuotes) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int termChar, int flags, char ** termPtr, ParseValue * pvPtr)); /* 90 */ - void (*tclPlatformInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 91 */ - char * (*tclPrecTraceProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags)); /* 92 */ - int (*tclPreventAliasLoop) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd)); /* 93 */ - void (*tclPrintByteCodeObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 94 */ - void (*tclProcCleanupProc) _ANSI_ARGS_((Proc * procPtr)); /* 95 */ - int (*tclProcCompileProc) _ANSI_ARGS_((Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, CONST char * description, CONST char * procName)); /* 96 */ - void (*tclProcDeleteProc) _ANSI_ARGS_((ClientData clientData)); /* 97 */ - int (*tclProcInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 98 */ - int (*tclpStat) _ANSI_ARGS_((CONST char * path, struct stat * buf)); /* 99 */ - int (*tclRenameCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * oldName, char * newName)); /* 100 */ - void (*tclResetShadowedCmdRefs) _ANSI_ARGS_((Tcl_Interp * interp, Command * newCmdPtr)); /* 101 */ - int (*tclServiceIdle) _ANSI_ARGS_((void)); /* 102 */ - Tcl_Obj * (*tclSetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 103 */ - Tcl_Obj * (*tclSetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 104 */ - char * (*tclSetPreInitScript) _ANSI_ARGS_((char * string)); /* 105 */ - void (*tclSetupEnv) _ANSI_ARGS_((Tcl_Interp * interp)); /* 106 */ - int (*tclSockGetPort) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * proto, int * portPtr)); /* 107 */ - int (*tclSockMinimumBuffers) _ANSI_ARGS_((int sock, int size)); /* 108 */ - int (*tclStat) _ANSI_ARGS_((CONST char * path, TclStat_ * buf)); /* 109 */ - int (*tclStatDeleteProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 110 */ - int (*tclStatInsertProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 111 */ - void (*tclTeardownNamespace) _ANSI_ARGS_((Namespace * nsPtr)); /* 112 */ - int (*tclUpdateReturnInfo) _ANSI_ARGS_((Interp * iPtr)); /* 113 */ - char * (*tclWordEnd) _ANSI_ARGS_((char * start, char * lastChar, int nested, int * semiPtr)); /* 114 */ - void (*tcl_AddInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 115 */ - int (*tcl_AppendExportList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr)); /* 116 */ - Tcl_Namespace * (*tcl_CreateNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc)); /* 117 */ - void (*tcl_DeleteNamespace) _ANSI_ARGS_((Tcl_Namespace * nsPtr)); /* 118 */ - int (*tcl_Export) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst)); /* 119 */ - Tcl_Command (*tcl_FindCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 120 */ - Tcl_Namespace * (*tcl_FindNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 121 */ - int (*tcl_GetInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo)); /* 122 */ - int (*tcl_GetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo)); /* 123 */ - Tcl_Var (*tcl_FindNamespaceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 124 */ - int (*tcl_ForgetImport) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern)); /* 125 */ - Tcl_Command (*tcl_GetCommandFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 126 */ - void (*tcl_GetCommandFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr)); /* 127 */ - Tcl_Namespace * (*tcl_GetCurrentNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 128 */ - Tcl_Namespace * (*tcl_GetGlobalNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 129 */ - void (*tcl_GetVariableFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr)); /* 130 */ - int (*tcl_Import) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite)); /* 131 */ - void (*tcl_PopCallFrame) _ANSI_ARGS_((Tcl_Interp* interp)); /* 132 */ - int (*tcl_PushCallFrame) _ANSI_ARGS_((Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame)); /* 133 */ - int (*tcl_RemoveInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 134 */ - void (*tcl_SetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 135 */ - int (*tclCompileBreakCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 136 */ - int (*tclCompileCatchCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 137 */ - int (*tclCompileContinueCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 138 */ - int (*tclCompileExprCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 139 */ - int (*tclCompileForCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 140 */ - int (*tclCompileForeachCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 141 */ - int (*tclCompileIfCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 142 */ - int (*tclCompileIncrCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 143 */ - int (*tclCompileSetCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 144 */ - int (*tclCompileWhileCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * lastChar, int compileFlags, struct CompileEnv * compileEnvPtr)); /* 145 */ - int (*tclHasSockets) _ANSI_ARGS_((Tcl_Interp * interp)); /* 146 */ - struct tm * (*tclpGetDate) _ANSI_ARGS_((TclpTime_t time, int useGMT)); /* 147 */ - size_t (*tclStrftime) _ANSI_ARGS_((char * s, size_t maxsize, const char * format, const struct tm * t)); /* 148 */ - int (*tclpCheckStackSpace) _ANSI_ARGS_((void)); /* 149 */ + int (*tclFindElement) _ANSI_ARGS_((Tcl_Interp * interp, char * list, int listLength, char ** elementPtr, char ** nextPtr, int * sizePtr, int * bracePtr)); /* 22 */ + Proc * (*tclFindProc) _ANSI_ARGS_((Interp * iPtr, char * procName)); /* 23 */ + int (*tclFormatInt) _ANSI_ARGS_((char * buffer, long n)); /* 24 */ + void (*tclFreePackageInfo) _ANSI_ARGS_((Interp * iPtr)); /* 25 */ + char * (*tclGetCwd) _ANSI_ARGS_((Tcl_Interp * interp)); /* 26 */ + int (*tclGetDate) _ANSI_ARGS_((char * p, unsigned long now, long zone, unsigned long * timePtr)); /* 27 */ + Tcl_Channel (*tclGetDefaultStdChannel) _ANSI_ARGS_((int type)); /* 28 */ + Tcl_Obj * (*tclGetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, int leaveErrorMsg)); /* 29 */ + char * (*tclGetEnv) _ANSI_ARGS_((CONST char * name)); /* 30 */ + char * (*tclGetExtension) _ANSI_ARGS_((char * name)); /* 31 */ + int (*tclGetFrame) _ANSI_ARGS_((Tcl_Interp * interp, char * string, CallFrame ** framePtrPtr)); /* 32 */ + TclCmdProcType (*tclGetInterpProc) _ANSI_ARGS_((void)); /* 33 */ + int (*tclGetIntForIndex) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, int endValue, int * indexPtr)); /* 34 */ + Tcl_Obj * (*tclGetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, int leaveErrorMsg)); /* 35 */ + int (*tclGetLong) _ANSI_ARGS_((Tcl_Interp * interp, char * string, long * longPtr)); /* 36 */ + int (*tclGetLoadedPackages) _ANSI_ARGS_((Tcl_Interp * interp, char * targetName)); /* 37 */ + int (*tclGetNamespaceForQualName) _ANSI_ARGS_((Tcl_Interp * interp, char * qualName, Namespace * cxtNsPtr, int flags, Namespace ** nsPtrPtr, Namespace ** altNsPtrPtr, Namespace ** actualCxtPtrPtr, char ** simpleNamePtr)); /* 38 */ + TclObjCmdProcType (*tclGetObjInterpProc) _ANSI_ARGS_((void)); /* 39 */ + int (*tclGetOpenMode) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * seekFlagPtr)); /* 40 */ + Tcl_Command (*tclGetOriginalCommand) _ANSI_ARGS_((Tcl_Command command)); /* 41 */ + char * (*tclGetUserHome) _ANSI_ARGS_((char * name, Tcl_DString * bufferPtr)); /* 42 */ + int (*tclGlobalInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 43 */ + int (*tclGuessPackageName) _ANSI_ARGS_((char * fileName, Tcl_DString * bufPtr)); /* 44 */ + int (*tclHideUnsafeCommands) _ANSI_ARGS_((Tcl_Interp * interp)); /* 45 */ + int (*tclInExit) _ANSI_ARGS_((void)); /* 46 */ + Tcl_Obj * (*tclIncrElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, long incrAmount)); /* 47 */ + Tcl_Obj * (*tclIncrIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, long incrAmount)); /* 48 */ + Tcl_Obj * (*tclIncrVar2) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * part1Ptr, Tcl_Obj * part2Ptr, long incrAmount, int part1NotParsed)); /* 49 */ + void (*tclInitCompiledLocals) _ANSI_ARGS_((Tcl_Interp * interp, CallFrame * framePtr, Namespace * nsPtr)); /* 50 */ + int (*tclInterpInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 51 */ + int (*tclInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, int flags)); /* 52 */ + int (*tclInvokeObjectCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 53 */ + int (*tclInvokeStringCommand) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 54 */ + Proc * (*tclIsProc) _ANSI_ARGS_((Command * cmdPtr)); /* 55 */ + int (*tclLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr)); /* 56 */ + int (*tclLooksLikeInt) _ANSI_ARGS_((char * p)); /* 57 */ + Var * (*tclLookupVar) _ANSI_ARGS_((Tcl_Interp * interp, char * part1, char * part2, int flags, char * msg, int createPart1, int createPart2, Var ** arrayPtrPtr)); /* 58 */ + int (*tclMatchFiles) _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail)); /* 59 */ + int (*tclNeedSpace) _ANSI_ARGS_((char * start, char * end)); /* 60 */ + Tcl_Obj * (*tclNewProcBodyObj) _ANSI_ARGS_((Proc * procPtr)); /* 61 */ + int (*tclObjCommandComplete) _ANSI_ARGS_((Tcl_Obj * cmdPtr)); /* 62 */ + int (*tclObjInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[])); /* 63 */ + int (*tclObjInvoke) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 64 */ + int (*tclObjInvokeGlobal) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], int flags)); /* 65 */ + int (*tclOpenFileChannelDeleteProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 66 */ + int (*tclOpenFileChannelInsertProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 67 */ + int (*tclpAccess) _ANSI_ARGS_((CONST char * path, int mode)); /* 68 */ + char * (*tclpAlloc) _ANSI_ARGS_((unsigned int size)); /* 69 */ + int (*tclpCopyFile) _ANSI_ARGS_((char * source, char * dest)); /* 70 */ + int (*tclpCopyDirectory) _ANSI_ARGS_((char * source, char * dest, Tcl_DString * errorPtr)); /* 71 */ + int (*tclpCreateDirectory) _ANSI_ARGS_((char * path)); /* 72 */ + int (*tclpDeleteFile) _ANSI_ARGS_((char * path)); /* 73 */ + void (*tclpFree) _ANSI_ARGS_((char * ptr)); /* 74 */ + unsigned long (*tclpGetClicks) _ANSI_ARGS_((void)); /* 75 */ + unsigned long (*tclpGetSeconds) _ANSI_ARGS_((void)); /* 76 */ + void (*tclpGetTime) _ANSI_ARGS_((Tcl_Time * time)); /* 77 */ + int (*tclpGetTimeZone) _ANSI_ARGS_((unsigned long time)); /* 78 */ + int (*tclpListVolumes) _ANSI_ARGS_((Tcl_Interp * interp)); /* 79 */ + Tcl_Channel (*tclpOpenFileChannel) _ANSI_ARGS_((Tcl_Interp * interp, char * fileName, char * modeString, int permissions)); /* 80 */ + char * (*tclpRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 81 */ + int (*tclpRemoveDirectory) _ANSI_ARGS_((char * path, int recursive, Tcl_DString * errorPtr)); /* 82 */ + int (*tclpRenameFile) _ANSI_ARGS_((char * source, char * dest)); /* 83 */ + int (*tclParseBraces) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char ** termPtr, ParseValue * pvPtr)); /* 84 */ + int (*tclParseNestedCmd) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int flags, char ** termPtr, ParseValue * pvPtr)); /* 85 */ + int (*tclParseQuotes) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int termChar, int flags, char ** termPtr, ParseValue * pvPtr)); /* 86 */ + void (*tclPlatformInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 87 */ + char * (*tclPrecTraceProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, char * name1, char * name2, int flags)); /* 88 */ + int (*tclPreventAliasLoop) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Interp * cmdInterp, Tcl_Command cmd)); /* 89 */ + void (*tclPrintByteCodeObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 90 */ + void (*tclProcCleanupProc) _ANSI_ARGS_((Proc * procPtr)); /* 91 */ + int (*tclProcCompileProc) _ANSI_ARGS_((Tcl_Interp * interp, Proc * procPtr, Tcl_Obj * bodyPtr, Namespace * nsPtr, CONST char * description, CONST char * procName)); /* 92 */ + void (*tclProcDeleteProc) _ANSI_ARGS_((ClientData clientData)); /* 93 */ + int (*tclProcInterpProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, char ** argv)); /* 94 */ + int (*tclpStat) _ANSI_ARGS_((CONST char * path, struct stat * buf)); /* 95 */ + int (*tclRenameCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * oldName, char * newName)); /* 96 */ + void (*tclResetShadowedCmdRefs) _ANSI_ARGS_((Tcl_Interp * interp, Command * newCmdPtr)); /* 97 */ + int (*tclServiceIdle) _ANSI_ARGS_((void)); /* 98 */ + Tcl_Obj * (*tclSetElementOfIndexedArray) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * elemPtr, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 99 */ + Tcl_Obj * (*tclSetIndexedScalar) _ANSI_ARGS_((Tcl_Interp * interp, int localIndex, Tcl_Obj * objPtr, int leaveErrorMsg)); /* 100 */ + char * (*tclSetPreInitScript) _ANSI_ARGS_((char * string)); /* 101 */ + void (*tclSetupEnv) _ANSI_ARGS_((Tcl_Interp * interp)); /* 102 */ + int (*tclSockGetPort) _ANSI_ARGS_((Tcl_Interp * interp, char * string, char * proto, int * portPtr)); /* 103 */ + int (*tclSockMinimumBuffers) _ANSI_ARGS_((int sock, int size)); /* 104 */ + int (*tclStat) _ANSI_ARGS_((CONST char * path, TclStat_ * buf)); /* 105 */ + int (*tclStatDeleteProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 106 */ + int (*tclStatInsertProc) _ANSI_ARGS_((TclStatProc_ * proc)); /* 107 */ + void (*tclTeardownNamespace) _ANSI_ARGS_((Namespace * nsPtr)); /* 108 */ + int (*tclUpdateReturnInfo) _ANSI_ARGS_((Interp * iPtr)); /* 109 */ + char * (*tclWordEnd) _ANSI_ARGS_((char * start, char * lastChar, int nested, int * semiPtr)); /* 110 */ + void (*tcl_AddInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 111 */ + int (*tcl_AppendExportList) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, Tcl_Obj * objPtr)); /* 112 */ + Tcl_Namespace * (*tcl_CreateNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, ClientData clientData, Tcl_NamespaceDeleteProc * deleteProc)); /* 113 */ + void (*tcl_DeleteNamespace) _ANSI_ARGS_((Tcl_Namespace * nsPtr)); /* 114 */ + int (*tcl_Export) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int resetListFirst)); /* 115 */ + Tcl_Command (*tcl_FindCommand) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 116 */ + Tcl_Namespace * (*tcl_FindNamespace) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 117 */ + int (*tcl_GetInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_ResolverInfo * resInfo)); /* 118 */ + int (*tcl_GetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolverInfo * resInfo)); /* 119 */ + Tcl_Var (*tcl_FindNamespaceVar) _ANSI_ARGS_((Tcl_Interp * interp, char * name, Tcl_Namespace * contextNsPtr, int flags)); /* 120 */ + int (*tcl_ForgetImport) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern)); /* 121 */ + Tcl_Command (*tcl_GetCommandFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr)); /* 122 */ + void (*tcl_GetCommandFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Command command, Tcl_Obj * objPtr)); /* 123 */ + Tcl_Namespace * (*tcl_GetCurrentNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 124 */ + Tcl_Namespace * (*tcl_GetGlobalNamespace) _ANSI_ARGS_((Tcl_Interp * interp)); /* 125 */ + void (*tcl_GetVariableFullName) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Var variable, Tcl_Obj * objPtr)); /* 126 */ + int (*tcl_Import) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Namespace * nsPtr, char * pattern, int allowOverwrite)); /* 127 */ + void (*tcl_PopCallFrame) _ANSI_ARGS_((Tcl_Interp* interp)); /* 128 */ + int (*tcl_PushCallFrame) _ANSI_ARGS_((Tcl_Interp* interp, Tcl_CallFrame * framePtr, Tcl_Namespace * nsPtr, int isProcCallFrame)); /* 129 */ + int (*tcl_RemoveInterpResolvers) _ANSI_ARGS_((Tcl_Interp * interp, char * name)); /* 130 */ + void (*tcl_SetNamespaceResolvers) _ANSI_ARGS_((Tcl_Namespace * namespacePtr, Tcl_ResolveCmdProc * cmdProc, Tcl_ResolveVarProc * varProc, Tcl_ResolveCompiledVarProc * compiledVarProc)); /* 131 */ + int (*tclHasSockets) _ANSI_ARGS_((Tcl_Interp * interp)); /* 132 */ + struct tm * (*tclpGetDate) _ANSI_ARGS_((TclpTime_t time, int useGMT)); /* 133 */ + size_t (*tclStrftime) _ANSI_ARGS_((char * s, size_t maxsize, const char * format, const struct tm * t)); /* 134 */ + int (*tclpCheckStackSpace) _ANSI_ARGS_((void)); /* 135 */ } TclIntStubs; extern TclIntStubs *tclIntStubsPtr; @@ -760,517 +688,461 @@ extern TclIntStubs *tclIntStubsPtr; #define TclFileRenameCmd(interp, argc, argv) \ (tclIntStubsPtr->tclFileRenameCmd)(interp, argc, argv) /* 21 */ #endif -#ifndef TclFinalizeCompExecEnv -#define TclFinalizeCompExecEnv() \ - (tclIntStubsPtr->tclFinalizeCompExecEnv)() /* 22 */ -#endif -#ifndef TclFinalizeEnvironment -#define TclFinalizeEnvironment() \ - (tclIntStubsPtr->tclFinalizeEnvironment)() /* 23 */ -#endif -#ifndef TclFinalizeExecEnv -#define TclFinalizeExecEnv() \ - (tclIntStubsPtr->tclFinalizeExecEnv)() /* 24 */ -#endif #ifndef TclFindElement #define TclFindElement(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) \ - (tclIntStubsPtr->tclFindElement)(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) /* 25 */ + (tclIntStubsPtr->tclFindElement)(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) /* 22 */ #endif #ifndef TclFindProc #define TclFindProc(iPtr, procName) \ - (tclIntStubsPtr->tclFindProc)(iPtr, procName) /* 26 */ + (tclIntStubsPtr->tclFindProc)(iPtr, procName) /* 23 */ #endif #ifndef TclFormatInt #define TclFormatInt(buffer, n) \ - (tclIntStubsPtr->tclFormatInt)(buffer, n) /* 27 */ + (tclIntStubsPtr->tclFormatInt)(buffer, n) /* 24 */ #endif #ifndef TclFreePackageInfo #define TclFreePackageInfo(iPtr) \ - (tclIntStubsPtr->tclFreePackageInfo)(iPtr) /* 28 */ + (tclIntStubsPtr->tclFreePackageInfo)(iPtr) /* 25 */ #endif #ifndef TclGetCwd #define TclGetCwd(interp) \ - (tclIntStubsPtr->tclGetCwd)(interp) /* 29 */ + (tclIntStubsPtr->tclGetCwd)(interp) /* 26 */ #endif #ifndef TclGetDate #define TclGetDate(p, now, zone, timePtr) \ - (tclIntStubsPtr->tclGetDate)(p, now, zone, timePtr) /* 30 */ + (tclIntStubsPtr->tclGetDate)(p, now, zone, timePtr) /* 27 */ #endif #ifndef TclGetDefaultStdChannel #define TclGetDefaultStdChannel(type) \ - (tclIntStubsPtr->tclGetDefaultStdChannel)(type) /* 31 */ + (tclIntStubsPtr->tclGetDefaultStdChannel)(type) /* 28 */ #endif #ifndef TclGetElementOfIndexedArray #define TclGetElementOfIndexedArray(interp, localIndex, elemPtr, leaveErrorMsg) \ - (tclIntStubsPtr->tclGetElementOfIndexedArray)(interp, localIndex, elemPtr, leaveErrorMsg) /* 32 */ + (tclIntStubsPtr->tclGetElementOfIndexedArray)(interp, localIndex, elemPtr, leaveErrorMsg) /* 29 */ #endif #ifndef TclGetEnv #define TclGetEnv(name) \ - (tclIntStubsPtr->tclGetEnv)(name) /* 33 */ + (tclIntStubsPtr->tclGetEnv)(name) /* 30 */ #endif #ifndef TclGetExtension #define TclGetExtension(name) \ - (tclIntStubsPtr->tclGetExtension)(name) /* 34 */ + (tclIntStubsPtr->tclGetExtension)(name) /* 31 */ #endif #ifndef TclGetFrame #define TclGetFrame(interp, string, framePtrPtr) \ - (tclIntStubsPtr->tclGetFrame)(interp, string, framePtrPtr) /* 35 */ + (tclIntStubsPtr->tclGetFrame)(interp, string, framePtrPtr) /* 32 */ #endif #ifndef TclGetInterpProc #define TclGetInterpProc() \ - (tclIntStubsPtr->tclGetInterpProc)() /* 36 */ + (tclIntStubsPtr->tclGetInterpProc)() /* 33 */ #endif #ifndef TclGetIntForIndex #define TclGetIntForIndex(interp, objPtr, endValue, indexPtr) \ - (tclIntStubsPtr->tclGetIntForIndex)(interp, objPtr, endValue, indexPtr) /* 37 */ + (tclIntStubsPtr->tclGetIntForIndex)(interp, objPtr, endValue, indexPtr) /* 34 */ #endif #ifndef TclGetIndexedScalar #define TclGetIndexedScalar(interp, localIndex, leaveErrorMsg) \ - (tclIntStubsPtr->tclGetIndexedScalar)(interp, localIndex, leaveErrorMsg) /* 38 */ + (tclIntStubsPtr->tclGetIndexedScalar)(interp, localIndex, leaveErrorMsg) /* 35 */ #endif #ifndef TclGetLong #define TclGetLong(interp, string, longPtr) \ - (tclIntStubsPtr->tclGetLong)(interp, string, longPtr) /* 39 */ + (tclIntStubsPtr->tclGetLong)(interp, string, longPtr) /* 36 */ #endif #ifndef TclGetLoadedPackages #define TclGetLoadedPackages(interp, targetName) \ - (tclIntStubsPtr->tclGetLoadedPackages)(interp, targetName) /* 40 */ + (tclIntStubsPtr->tclGetLoadedPackages)(interp, targetName) /* 37 */ #endif #ifndef TclGetNamespaceForQualName #define TclGetNamespaceForQualName(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) \ - (tclIntStubsPtr->tclGetNamespaceForQualName)(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) /* 41 */ + (tclIntStubsPtr->tclGetNamespaceForQualName)(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) /* 38 */ #endif #ifndef TclGetObjInterpProc #define TclGetObjInterpProc() \ - (tclIntStubsPtr->tclGetObjInterpProc)() /* 42 */ + (tclIntStubsPtr->tclGetObjInterpProc)() /* 39 */ #endif #ifndef TclGetOpenMode #define TclGetOpenMode(interp, string, seekFlagPtr) \ - (tclIntStubsPtr->tclGetOpenMode)(interp, string, seekFlagPtr) /* 43 */ + (tclIntStubsPtr->tclGetOpenMode)(interp, string, seekFlagPtr) /* 40 */ #endif #ifndef TclGetOriginalCommand #define TclGetOriginalCommand(command) \ - (tclIntStubsPtr->tclGetOriginalCommand)(command) /* 44 */ + (tclIntStubsPtr->tclGetOriginalCommand)(command) /* 41 */ #endif #ifndef TclGetUserHome #define TclGetUserHome(name, bufferPtr) \ - (tclIntStubsPtr->tclGetUserHome)(name, bufferPtr) /* 45 */ + (tclIntStubsPtr->tclGetUserHome)(name, bufferPtr) /* 42 */ #endif #ifndef TclGlobalInvoke #define TclGlobalInvoke(interp, argc, argv, flags) \ - (tclIntStubsPtr->tclGlobalInvoke)(interp, argc, argv, flags) /* 46 */ + (tclIntStubsPtr->tclGlobalInvoke)(interp, argc, argv, flags) /* 43 */ #endif #ifndef TclGuessPackageName #define TclGuessPackageName(fileName, bufPtr) \ - (tclIntStubsPtr->tclGuessPackageName)(fileName, bufPtr) /* 47 */ + (tclIntStubsPtr->tclGuessPackageName)(fileName, bufPtr) /* 44 */ #endif #ifndef TclHideUnsafeCommands #define TclHideUnsafeCommands(interp) \ - (tclIntStubsPtr->tclHideUnsafeCommands)(interp) /* 48 */ + (tclIntStubsPtr->tclHideUnsafeCommands)(interp) /* 45 */ #endif #ifndef TclInExit #define TclInExit() \ - (tclIntStubsPtr->tclInExit)() /* 49 */ + (tclIntStubsPtr->tclInExit)() /* 46 */ #endif #ifndef TclIncrElementOfIndexedArray #define TclIncrElementOfIndexedArray(interp, localIndex, elemPtr, incrAmount) \ - (tclIntStubsPtr->tclIncrElementOfIndexedArray)(interp, localIndex, elemPtr, incrAmount) /* 50 */ + (tclIntStubsPtr->tclIncrElementOfIndexedArray)(interp, localIndex, elemPtr, incrAmount) /* 47 */ #endif #ifndef TclIncrIndexedScalar #define TclIncrIndexedScalar(interp, localIndex, incrAmount) \ - (tclIntStubsPtr->tclIncrIndexedScalar)(interp, localIndex, incrAmount) /* 51 */ + (tclIntStubsPtr->tclIncrIndexedScalar)(interp, localIndex, incrAmount) /* 48 */ #endif #ifndef TclIncrVar2 #define TclIncrVar2(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) \ - (tclIntStubsPtr->tclIncrVar2)(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) /* 52 */ + (tclIntStubsPtr->tclIncrVar2)(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) /* 49 */ #endif #ifndef TclInitCompiledLocals #define TclInitCompiledLocals(interp, framePtr, nsPtr) \ - (tclIntStubsPtr->tclInitCompiledLocals)(interp, framePtr, nsPtr) /* 53 */ -#endif -#ifndef TclInitNamespaces -#define TclInitNamespaces() \ - (tclIntStubsPtr->tclInitNamespaces)() /* 54 */ + (tclIntStubsPtr->tclInitCompiledLocals)(interp, framePtr, nsPtr) /* 50 */ #endif #ifndef TclInterpInit #define TclInterpInit(interp) \ - (tclIntStubsPtr->tclInterpInit)(interp) /* 55 */ + (tclIntStubsPtr->tclInterpInit)(interp) /* 51 */ #endif #ifndef TclInvoke #define TclInvoke(interp, argc, argv, flags) \ - (tclIntStubsPtr->tclInvoke)(interp, argc, argv, flags) /* 56 */ + (tclIntStubsPtr->tclInvoke)(interp, argc, argv, flags) /* 52 */ #endif #ifndef TclInvokeObjectCommand #define TclInvokeObjectCommand(clientData, interp, argc, argv) \ - (tclIntStubsPtr->tclInvokeObjectCommand)(clientData, interp, argc, argv) /* 57 */ + (tclIntStubsPtr->tclInvokeObjectCommand)(clientData, interp, argc, argv) /* 53 */ #endif #ifndef TclInvokeStringCommand #define TclInvokeStringCommand(clientData, interp, objc, objv) \ - (tclIntStubsPtr->tclInvokeStringCommand)(clientData, interp, objc, objv) /* 58 */ + (tclIntStubsPtr->tclInvokeStringCommand)(clientData, interp, objc, objv) /* 54 */ #endif #ifndef TclIsProc #define TclIsProc(cmdPtr) \ - (tclIntStubsPtr->tclIsProc)(cmdPtr) /* 59 */ + (tclIntStubsPtr->tclIsProc)(cmdPtr) /* 55 */ #endif #ifndef TclLoadFile #define TclLoadFile(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) \ - (tclIntStubsPtr->tclLoadFile)(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) /* 60 */ + (tclIntStubsPtr->tclLoadFile)(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) /* 56 */ #endif #ifndef TclLooksLikeInt #define TclLooksLikeInt(p) \ - (tclIntStubsPtr->tclLooksLikeInt)(p) /* 61 */ + (tclIntStubsPtr->tclLooksLikeInt)(p) /* 57 */ #endif #ifndef TclLookupVar #define TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) \ - (tclIntStubsPtr->tclLookupVar)(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) /* 62 */ + (tclIntStubsPtr->tclLookupVar)(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) /* 58 */ #endif #ifndef TclMatchFiles #define TclMatchFiles(interp, separators, dirPtr, pattern, tail) \ - (tclIntStubsPtr->tclMatchFiles)(interp, separators, dirPtr, pattern, tail) /* 63 */ + (tclIntStubsPtr->tclMatchFiles)(interp, separators, dirPtr, pattern, tail) /* 59 */ #endif #ifndef TclNeedSpace #define TclNeedSpace(start, end) \ - (tclIntStubsPtr->tclNeedSpace)(start, end) /* 64 */ + (tclIntStubsPtr->tclNeedSpace)(start, end) /* 60 */ #endif #ifndef TclNewProcBodyObj #define TclNewProcBodyObj(procPtr) \ - (tclIntStubsPtr->tclNewProcBodyObj)(procPtr) /* 65 */ + (tclIntStubsPtr->tclNewProcBodyObj)(procPtr) /* 61 */ #endif #ifndef TclObjCommandComplete #define TclObjCommandComplete(cmdPtr) \ - (tclIntStubsPtr->tclObjCommandComplete)(cmdPtr) /* 66 */ + (tclIntStubsPtr->tclObjCommandComplete)(cmdPtr) /* 62 */ #endif #ifndef TclObjInterpProc #define TclObjInterpProc(clientData, interp, objc, objv) \ - (tclIntStubsPtr->tclObjInterpProc)(clientData, interp, objc, objv) /* 67 */ + (tclIntStubsPtr->tclObjInterpProc)(clientData, interp, objc, objv) /* 63 */ #endif #ifndef TclObjInvoke #define TclObjInvoke(interp, objc, objv, flags) \ - (tclIntStubsPtr->tclObjInvoke)(interp, objc, objv, flags) /* 68 */ + (tclIntStubsPtr->tclObjInvoke)(interp, objc, objv, flags) /* 64 */ #endif #ifndef TclObjInvokeGlobal #define TclObjInvokeGlobal(interp, objc, objv, flags) \ - (tclIntStubsPtr->tclObjInvokeGlobal)(interp, objc, objv, flags) /* 69 */ + (tclIntStubsPtr->tclObjInvokeGlobal)(interp, objc, objv, flags) /* 65 */ #endif #ifndef TclOpenFileChannelDeleteProc #define TclOpenFileChannelDeleteProc(proc) \ - (tclIntStubsPtr->tclOpenFileChannelDeleteProc)(proc) /* 70 */ + (tclIntStubsPtr->tclOpenFileChannelDeleteProc)(proc) /* 66 */ #endif #ifndef TclOpenFileChannelInsertProc #define TclOpenFileChannelInsertProc(proc) \ - (tclIntStubsPtr->tclOpenFileChannelInsertProc)(proc) /* 71 */ + (tclIntStubsPtr->tclOpenFileChannelInsertProc)(proc) /* 67 */ #endif #ifndef TclpAccess #define TclpAccess(path, mode) \ - (tclIntStubsPtr->tclpAccess)(path, mode) /* 72 */ + (tclIntStubsPtr->tclpAccess)(path, mode) /* 68 */ #endif #ifndef TclpAlloc #define TclpAlloc(size) \ - (tclIntStubsPtr->tclpAlloc)(size) /* 73 */ + (tclIntStubsPtr->tclpAlloc)(size) /* 69 */ #endif #ifndef TclpCopyFile #define TclpCopyFile(source, dest) \ - (tclIntStubsPtr->tclpCopyFile)(source, dest) /* 74 */ + (tclIntStubsPtr->tclpCopyFile)(source, dest) /* 70 */ #endif #ifndef TclpCopyDirectory #define TclpCopyDirectory(source, dest, errorPtr) \ - (tclIntStubsPtr->tclpCopyDirectory)(source, dest, errorPtr) /* 75 */ + (tclIntStubsPtr->tclpCopyDirectory)(source, dest, errorPtr) /* 71 */ #endif #ifndef TclpCreateDirectory #define TclpCreateDirectory(path) \ - (tclIntStubsPtr->tclpCreateDirectory)(path) /* 76 */ + (tclIntStubsPtr->tclpCreateDirectory)(path) /* 72 */ #endif #ifndef TclpDeleteFile #define TclpDeleteFile(path) \ - (tclIntStubsPtr->tclpDeleteFile)(path) /* 77 */ + (tclIntStubsPtr->tclpDeleteFile)(path) /* 73 */ #endif #ifndef TclpFree #define TclpFree(ptr) \ - (tclIntStubsPtr->tclpFree)(ptr) /* 78 */ + (tclIntStubsPtr->tclpFree)(ptr) /* 74 */ #endif #ifndef TclpGetClicks #define TclpGetClicks() \ - (tclIntStubsPtr->tclpGetClicks)() /* 79 */ + (tclIntStubsPtr->tclpGetClicks)() /* 75 */ #endif #ifndef TclpGetSeconds #define TclpGetSeconds() \ - (tclIntStubsPtr->tclpGetSeconds)() /* 80 */ + (tclIntStubsPtr->tclpGetSeconds)() /* 76 */ #endif #ifndef TclpGetTime #define TclpGetTime(time) \ - (tclIntStubsPtr->tclpGetTime)(time) /* 81 */ + (tclIntStubsPtr->tclpGetTime)(time) /* 77 */ #endif #ifndef TclpGetTimeZone #define TclpGetTimeZone(time) \ - (tclIntStubsPtr->tclpGetTimeZone)(time) /* 82 */ + (tclIntStubsPtr->tclpGetTimeZone)(time) /* 78 */ #endif #ifndef TclpListVolumes #define TclpListVolumes(interp) \ - (tclIntStubsPtr->tclpListVolumes)(interp) /* 83 */ + (tclIntStubsPtr->tclpListVolumes)(interp) /* 79 */ #endif #ifndef TclpOpenFileChannel #define TclpOpenFileChannel(interp, fileName, modeString, permissions) \ - (tclIntStubsPtr->tclpOpenFileChannel)(interp, fileName, modeString, permissions) /* 84 */ + (tclIntStubsPtr->tclpOpenFileChannel)(interp, fileName, modeString, permissions) /* 80 */ #endif #ifndef TclpRealloc #define TclpRealloc(ptr, size) \ - (tclIntStubsPtr->tclpRealloc)(ptr, size) /* 85 */ + (tclIntStubsPtr->tclpRealloc)(ptr, size) /* 81 */ #endif #ifndef TclpRemoveDirectory #define TclpRemoveDirectory(path, recursive, errorPtr) \ - (tclIntStubsPtr->tclpRemoveDirectory)(path, recursive, errorPtr) /* 86 */ + (tclIntStubsPtr->tclpRemoveDirectory)(path, recursive, errorPtr) /* 82 */ #endif #ifndef TclpRenameFile #define TclpRenameFile(source, dest) \ - (tclIntStubsPtr->tclpRenameFile)(source, dest) /* 87 */ + (tclIntStubsPtr->tclpRenameFile)(source, dest) /* 83 */ #endif #ifndef TclParseBraces #define TclParseBraces(interp, string, termPtr, pvPtr) \ - (tclIntStubsPtr->tclParseBraces)(interp, string, termPtr, pvPtr) /* 88 */ + (tclIntStubsPtr->tclParseBraces)(interp, string, termPtr, pvPtr) /* 84 */ #endif #ifndef TclParseNestedCmd #define TclParseNestedCmd(interp, string, flags, termPtr, pvPtr) \ - (tclIntStubsPtr->tclParseNestedCmd)(interp, string, flags, termPtr, pvPtr) /* 89 */ + (tclIntStubsPtr->tclParseNestedCmd)(interp, string, flags, termPtr, pvPtr) /* 85 */ #endif #ifndef TclParseQuotes #define TclParseQuotes(interp, string, termChar, flags, termPtr, pvPtr) \ - (tclIntStubsPtr->tclParseQuotes)(interp, string, termChar, flags, termPtr, pvPtr) /* 90 */ + (tclIntStubsPtr->tclParseQuotes)(interp, string, termChar, flags, termPtr, pvPtr) /* 86 */ #endif #ifndef TclPlatformInit #define TclPlatformInit(interp) \ - (tclIntStubsPtr->tclPlatformInit)(interp) /* 91 */ + (tclIntStubsPtr->tclPlatformInit)(interp) /* 87 */ #endif #ifndef TclPrecTraceProc #define TclPrecTraceProc(clientData, interp, name1, name2, flags) \ - (tclIntStubsPtr->tclPrecTraceProc)(clientData, interp, name1, name2, flags) /* 92 */ + (tclIntStubsPtr->tclPrecTraceProc)(clientData, interp, name1, name2, flags) /* 88 */ #endif #ifndef TclPreventAliasLoop #define TclPreventAliasLoop(interp, cmdInterp, cmd) \ - (tclIntStubsPtr->tclPreventAliasLoop)(interp, cmdInterp, cmd) /* 93 */ + (tclIntStubsPtr->tclPreventAliasLoop)(interp, cmdInterp, cmd) /* 89 */ #endif #ifndef TclPrintByteCodeObj #define TclPrintByteCodeObj(interp, objPtr) \ - (tclIntStubsPtr->tclPrintByteCodeObj)(interp, objPtr) /* 94 */ + (tclIntStubsPtr->tclPrintByteCodeObj)(interp, objPtr) /* 90 */ #endif #ifndef TclProcCleanupProc #define TclProcCleanupProc(procPtr) \ - (tclIntStubsPtr->tclProcCleanupProc)(procPtr) /* 95 */ + (tclIntStubsPtr->tclProcCleanupProc)(procPtr) /* 91 */ #endif #ifndef TclProcCompileProc #define TclProcCompileProc(interp, procPtr, bodyPtr, nsPtr, description, procName) \ - (tclIntStubsPtr->tclProcCompileProc)(interp, procPtr, bodyPtr, nsPtr, description, procName) /* 96 */ + (tclIntStubsPtr->tclProcCompileProc)(interp, procPtr, bodyPtr, nsPtr, description, procName) /* 92 */ #endif #ifndef TclProcDeleteProc #define TclProcDeleteProc(clientData) \ - (tclIntStubsPtr->tclProcDeleteProc)(clientData) /* 97 */ + (tclIntStubsPtr->tclProcDeleteProc)(clientData) /* 93 */ #endif #ifndef TclProcInterpProc #define TclProcInterpProc(clientData, interp, argc, argv) \ - (tclIntStubsPtr->tclProcInterpProc)(clientData, interp, argc, argv) /* 98 */ + (tclIntStubsPtr->tclProcInterpProc)(clientData, interp, argc, argv) /* 94 */ #endif #ifndef TclpStat #define TclpStat(path, buf) \ - (tclIntStubsPtr->tclpStat)(path, buf) /* 99 */ + (tclIntStubsPtr->tclpStat)(path, buf) /* 95 */ #endif #ifndef TclRenameCommand #define TclRenameCommand(interp, oldName, newName) \ - (tclIntStubsPtr->tclRenameCommand)(interp, oldName, newName) /* 100 */ + (tclIntStubsPtr->tclRenameCommand)(interp, oldName, newName) /* 96 */ #endif #ifndef TclResetShadowedCmdRefs #define TclResetShadowedCmdRefs(interp, newCmdPtr) \ - (tclIntStubsPtr->tclResetShadowedCmdRefs)(interp, newCmdPtr) /* 101 */ + (tclIntStubsPtr->tclResetShadowedCmdRefs)(interp, newCmdPtr) /* 97 */ #endif #ifndef TclServiceIdle #define TclServiceIdle() \ - (tclIntStubsPtr->tclServiceIdle)() /* 102 */ + (tclIntStubsPtr->tclServiceIdle)() /* 98 */ #endif #ifndef TclSetElementOfIndexedArray #define TclSetElementOfIndexedArray(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) \ - (tclIntStubsPtr->tclSetElementOfIndexedArray)(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) /* 103 */ + (tclIntStubsPtr->tclSetElementOfIndexedArray)(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) /* 99 */ #endif #ifndef TclSetIndexedScalar #define TclSetIndexedScalar(interp, localIndex, objPtr, leaveErrorMsg) \ - (tclIntStubsPtr->tclSetIndexedScalar)(interp, localIndex, objPtr, leaveErrorMsg) /* 104 */ + (tclIntStubsPtr->tclSetIndexedScalar)(interp, localIndex, objPtr, leaveErrorMsg) /* 100 */ #endif #ifndef TclSetPreInitScript #define TclSetPreInitScript(string) \ - (tclIntStubsPtr->tclSetPreInitScript)(string) /* 105 */ + (tclIntStubsPtr->tclSetPreInitScript)(string) /* 101 */ #endif #ifndef TclSetupEnv #define TclSetupEnv(interp) \ - (tclIntStubsPtr->tclSetupEnv)(interp) /* 106 */ + (tclIntStubsPtr->tclSetupEnv)(interp) /* 102 */ #endif #ifndef TclSockGetPort #define TclSockGetPort(interp, string, proto, portPtr) \ - (tclIntStubsPtr->tclSockGetPort)(interp, string, proto, portPtr) /* 107 */ + (tclIntStubsPtr->tclSockGetPort)(interp, string, proto, portPtr) /* 103 */ #endif #ifndef TclSockMinimumBuffers #define TclSockMinimumBuffers(sock, size) \ - (tclIntStubsPtr->tclSockMinimumBuffers)(sock, size) /* 108 */ + (tclIntStubsPtr->tclSockMinimumBuffers)(sock, size) /* 104 */ #endif #ifndef TclStat #define TclStat(path, buf) \ - (tclIntStubsPtr->tclStat)(path, buf) /* 109 */ + (tclIntStubsPtr->tclStat)(path, buf) /* 105 */ #endif #ifndef TclStatDeleteProc #define TclStatDeleteProc(proc) \ - (tclIntStubsPtr->tclStatDeleteProc)(proc) /* 110 */ + (tclIntStubsPtr->tclStatDeleteProc)(proc) /* 106 */ #endif #ifndef TclStatInsertProc #define TclStatInsertProc(proc) \ - (tclIntStubsPtr->tclStatInsertProc)(proc) /* 111 */ + (tclIntStubsPtr->tclStatInsertProc)(proc) /* 107 */ #endif #ifndef TclTeardownNamespace #define TclTeardownNamespace(nsPtr) \ - (tclIntStubsPtr->tclTeardownNamespace)(nsPtr) /* 112 */ + (tclIntStubsPtr->tclTeardownNamespace)(nsPtr) /* 108 */ #endif #ifndef TclUpdateReturnInfo #define TclUpdateReturnInfo(iPtr) \ - (tclIntStubsPtr->tclUpdateReturnInfo)(iPtr) /* 113 */ + (tclIntStubsPtr->tclUpdateReturnInfo)(iPtr) /* 109 */ #endif #ifndef TclWordEnd #define TclWordEnd(start, lastChar, nested, semiPtr) \ - (tclIntStubsPtr->tclWordEnd)(start, lastChar, nested, semiPtr) /* 114 */ + (tclIntStubsPtr->tclWordEnd)(start, lastChar, nested, semiPtr) /* 110 */ #endif #ifndef Tcl_AddInterpResolvers #define Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc) \ - (tclIntStubsPtr->tcl_AddInterpResolvers)(interp, name, cmdProc, varProc, compiledVarProc) /* 115 */ + (tclIntStubsPtr->tcl_AddInterpResolvers)(interp, name, cmdProc, varProc, compiledVarProc) /* 111 */ #endif #ifndef Tcl_AppendExportList #define Tcl_AppendExportList(interp, nsPtr, objPtr) \ - (tclIntStubsPtr->tcl_AppendExportList)(interp, nsPtr, objPtr) /* 116 */ + (tclIntStubsPtr->tcl_AppendExportList)(interp, nsPtr, objPtr) /* 112 */ #endif #ifndef Tcl_CreateNamespace #define Tcl_CreateNamespace(interp, name, clientData, deleteProc) \ - (tclIntStubsPtr->tcl_CreateNamespace)(interp, name, clientData, deleteProc) /* 117 */ + (tclIntStubsPtr->tcl_CreateNamespace)(interp, name, clientData, deleteProc) /* 113 */ #endif #ifndef Tcl_DeleteNamespace #define Tcl_DeleteNamespace(nsPtr) \ - (tclIntStubsPtr->tcl_DeleteNamespace)(nsPtr) /* 118 */ + (tclIntStubsPtr->tcl_DeleteNamespace)(nsPtr) /* 114 */ #endif #ifndef Tcl_Export #define Tcl_Export(interp, nsPtr, pattern, resetListFirst) \ - (tclIntStubsPtr->tcl_Export)(interp, nsPtr, pattern, resetListFirst) /* 119 */ + (tclIntStubsPtr->tcl_Export)(interp, nsPtr, pattern, resetListFirst) /* 115 */ #endif #ifndef Tcl_FindCommand #define Tcl_FindCommand(interp, name, contextNsPtr, flags) \ - (tclIntStubsPtr->tcl_FindCommand)(interp, name, contextNsPtr, flags) /* 120 */ + (tclIntStubsPtr->tcl_FindCommand)(interp, name, contextNsPtr, flags) /* 116 */ #endif #ifndef Tcl_FindNamespace #define Tcl_FindNamespace(interp, name, contextNsPtr, flags) \ - (tclIntStubsPtr->tcl_FindNamespace)(interp, name, contextNsPtr, flags) /* 121 */ + (tclIntStubsPtr->tcl_FindNamespace)(interp, name, contextNsPtr, flags) /* 117 */ #endif #ifndef Tcl_GetInterpResolvers #define Tcl_GetInterpResolvers(interp, name, resInfo) \ - (tclIntStubsPtr->tcl_GetInterpResolvers)(interp, name, resInfo) /* 122 */ + (tclIntStubsPtr->tcl_GetInterpResolvers)(interp, name, resInfo) /* 118 */ #endif #ifndef Tcl_GetNamespaceResolvers #define Tcl_GetNamespaceResolvers(namespacePtr, resInfo) \ - (tclIntStubsPtr->tcl_GetNamespaceResolvers)(namespacePtr, resInfo) /* 123 */ + (tclIntStubsPtr->tcl_GetNamespaceResolvers)(namespacePtr, resInfo) /* 119 */ #endif #ifndef Tcl_FindNamespaceVar #define Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags) \ - (tclIntStubsPtr->tcl_FindNamespaceVar)(interp, name, contextNsPtr, flags) /* 124 */ + (tclIntStubsPtr->tcl_FindNamespaceVar)(interp, name, contextNsPtr, flags) /* 120 */ #endif #ifndef Tcl_ForgetImport #define Tcl_ForgetImport(interp, nsPtr, pattern) \ - (tclIntStubsPtr->tcl_ForgetImport)(interp, nsPtr, pattern) /* 125 */ + (tclIntStubsPtr->tcl_ForgetImport)(interp, nsPtr, pattern) /* 121 */ #endif #ifndef Tcl_GetCommandFromObj #define Tcl_GetCommandFromObj(interp, objPtr) \ - (tclIntStubsPtr->tcl_GetCommandFromObj)(interp, objPtr) /* 126 */ + (tclIntStubsPtr->tcl_GetCommandFromObj)(interp, objPtr) /* 122 */ #endif #ifndef Tcl_GetCommandFullName #define Tcl_GetCommandFullName(interp, command, objPtr) \ - (tclIntStubsPtr->tcl_GetCommandFullName)(interp, command, objPtr) /* 127 */ + (tclIntStubsPtr->tcl_GetCommandFullName)(interp, command, objPtr) /* 123 */ #endif #ifndef Tcl_GetCurrentNamespace #define Tcl_GetCurrentNamespace(interp) \ - (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp) /* 128 */ + (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp) /* 124 */ #endif #ifndef Tcl_GetGlobalNamespace #define Tcl_GetGlobalNamespace(interp) \ - (tclIntStubsPtr->tcl_GetGlobalNamespace)(interp) /* 129 */ + (tclIntStubsPtr->tcl_GetGlobalNamespace)(interp) /* 125 */ #endif #ifndef Tcl_GetVariableFullName #define Tcl_GetVariableFullName(interp, variable, objPtr) \ - (tclIntStubsPtr->tcl_GetVariableFullName)(interp, variable, objPtr) /* 130 */ + (tclIntStubsPtr->tcl_GetVariableFullName)(interp, variable, objPtr) /* 126 */ #endif #ifndef Tcl_Import #define Tcl_Import(interp, nsPtr, pattern, allowOverwrite) \ - (tclIntStubsPtr->tcl_Import)(interp, nsPtr, pattern, allowOverwrite) /* 131 */ + (tclIntStubsPtr->tcl_Import)(interp, nsPtr, pattern, allowOverwrite) /* 127 */ #endif #ifndef Tcl_PopCallFrame #define Tcl_PopCallFrame(interp) \ - (tclIntStubsPtr->tcl_PopCallFrame)(interp) /* 132 */ + (tclIntStubsPtr->tcl_PopCallFrame)(interp) /* 128 */ #endif #ifndef Tcl_PushCallFrame #define Tcl_PushCallFrame(interp, framePtr, nsPtr, isProcCallFrame) \ - (tclIntStubsPtr->tcl_PushCallFrame)(interp, framePtr, nsPtr, isProcCallFrame) /* 133 */ + (tclIntStubsPtr->tcl_PushCallFrame)(interp, framePtr, nsPtr, isProcCallFrame) /* 129 */ #endif #ifndef Tcl_RemoveInterpResolvers #define Tcl_RemoveInterpResolvers(interp, name) \ - (tclIntStubsPtr->tcl_RemoveInterpResolvers)(interp, name) /* 134 */ + (tclIntStubsPtr->tcl_RemoveInterpResolvers)(interp, name) /* 130 */ #endif #ifndef Tcl_SetNamespaceResolvers #define Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc) \ - (tclIntStubsPtr->tcl_SetNamespaceResolvers)(namespacePtr, cmdProc, varProc, compiledVarProc) /* 135 */ -#endif -#ifndef TclCompileBreakCmd -#define TclCompileBreakCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileBreakCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 136 */ -#endif -#ifndef TclCompileCatchCmd -#define TclCompileCatchCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileCatchCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 137 */ -#endif -#ifndef TclCompileContinueCmd -#define TclCompileContinueCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileContinueCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 138 */ -#endif -#ifndef TclCompileExprCmd -#define TclCompileExprCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileExprCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 139 */ -#endif -#ifndef TclCompileForCmd -#define TclCompileForCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileForCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 140 */ -#endif -#ifndef TclCompileForeachCmd -#define TclCompileForeachCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileForeachCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 141 */ -#endif -#ifndef TclCompileIfCmd -#define TclCompileIfCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileIfCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 142 */ -#endif -#ifndef TclCompileIncrCmd -#define TclCompileIncrCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileIncrCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 143 */ -#endif -#ifndef TclCompileSetCmd -#define TclCompileSetCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileSetCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 144 */ -#endif -#ifndef TclCompileWhileCmd -#define TclCompileWhileCmd(interp, string, lastChar, compileFlags, compileEnvPtr) \ - (tclIntStubsPtr->tclCompileWhileCmd)(interp, string, lastChar, compileFlags, compileEnvPtr) /* 145 */ + (tclIntStubsPtr->tcl_SetNamespaceResolvers)(namespacePtr, cmdProc, varProc, compiledVarProc) /* 131 */ #endif #ifndef TclHasSockets #define TclHasSockets(interp) \ - (tclIntStubsPtr->tclHasSockets)(interp) /* 146 */ + (tclIntStubsPtr->tclHasSockets)(interp) /* 132 */ #endif #ifndef TclpGetDate #define TclpGetDate(time, useGMT) \ - (tclIntStubsPtr->tclpGetDate)(time, useGMT) /* 147 */ + (tclIntStubsPtr->tclpGetDate)(time, useGMT) /* 133 */ #endif #ifndef TclStrftime #define TclStrftime(s, maxsize, format, t) \ - (tclIntStubsPtr->tclStrftime)(s, maxsize, format, t) /* 148 */ + (tclIntStubsPtr->tclStrftime)(s, maxsize, format, t) /* 134 */ #endif #ifndef TclpCheckStackSpace #define TclpCheckStackSpace() \ - (tclIntStubsPtr->tclpCheckStackSpace)() /* 149 */ + (tclIntStubsPtr->tclpCheckStackSpace)() /* 135 */ #endif #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ diff --git a/generic/tclIntPlatDecls.h b/generic/tclIntPlatDecls.h index 04861f0..4e78459 100644 --- a/generic/tclIntPlatDecls.h +++ b/generic/tclIntPlatDecls.h @@ -9,7 +9,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclIntPlatDecls.h,v 1.2 1999/03/04 01:01:58 stanton Exp $ + * RCS: @(#) $Id: tclIntPlatDecls.h,v 1.3 1999/03/10 05:52:48 stanton Exp $ */ #ifndef _TCLINTPLATDECLS @@ -27,6 +27,37 @@ * Exported function declarations: */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* 0 */ +EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp * interp, + Tcl_Channel chan)); +/* 1 */ +EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file)); +/* 2 */ +EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( + TclFile readFile, TclFile writeFile, + TclFile errorFile, int numPids, + Tcl_Pid * pidPtr)); +/* 3 */ +EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile * readPipe, + TclFile * writePipe)); +/* 4 */ +EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp * interp, + int argc, char ** argv, TclFile inputFile, + TclFile outputFile, TclFile errorFile, + Tcl_Pid * pidPtr)); +/* 5 */ +EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char * contents, + Tcl_DString * namePtr)); +/* 6 */ +EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, + int direction)); +/* 7 */ +EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char * fname, int mode)); +/* 8 */ +EXTERN int TclUnixWaitForFile _ANSI_ARGS_((int fd, int mask, + int timeout)); +#endif /* UNIX */ #ifdef __WIN32__ /* 0 */ EXTERN void TclWinConvertError _ANSI_ARGS_((DWORD errCode)); @@ -52,74 +83,39 @@ EXTERN int TclWinSetSockOpt _ANSI_ARGS_((SOCKET s, int level, /* 8 */ EXTERN unsigned long TclpGetPid _ANSI_ARGS_((Tcl_Pid pid)); /* 9 */ -EXTERN void TclpFinalize _ANSI_ARGS_((void)); -/* 10 */ EXTERN int TclWinGetPlatformId _ANSI_ARGS_((void)); -/* 11 */ -EXTERN void TclWinInit _ANSI_ARGS_((HINSTANCE hInst)); -/* 12 */ +/* 10 */ EXTERN int TclWinSynchSpawn _ANSI_ARGS_((void * args, int type, void ** trans, Tcl_Pid * pidPtr)); -/* 13 */ +/* 11 */ EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); -/* 14 */ +/* 12 */ EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file)); -/* 15 */ +/* 13 */ EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); -/* 16 */ +/* 14 */ EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); -/* 17 */ +/* 15 */ EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); -/* 18 */ +/* 16 */ EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); -/* 19 */ +/* 17 */ EXTERN char * TclpGetTZName _ANSI_ARGS_((void)); -/* 20 */ +/* 18 */ EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, int direction)); -/* 21 */ +/* 19 */ EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char * fname, int mode)); #endif /* __WIN32__ */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -/* 0 */ -EXTERN void TclGetAndDetachPids _ANSI_ARGS_((Tcl_Interp * interp, - Tcl_Channel chan)); -/* 1 */ -EXTERN int TclpCloseFile _ANSI_ARGS_((TclFile file)); -/* 2 */ -EXTERN Tcl_Channel TclpCreateCommandChannel _ANSI_ARGS_(( - TclFile readFile, TclFile writeFile, - TclFile errorFile, int numPids, - Tcl_Pid * pidPtr)); -/* 3 */ -EXTERN int TclpCreatePipe _ANSI_ARGS_((TclFile * readPipe, - TclFile * writePipe)); -/* 4 */ -EXTERN int TclpCreateProcess _ANSI_ARGS_((Tcl_Interp * interp, - int argc, char ** argv, TclFile inputFile, - TclFile outputFile, TclFile errorFile, - Tcl_Pid * pidPtr)); -/* 5 */ -EXTERN TclFile TclpCreateTempFile _ANSI_ARGS_((char * contents, - Tcl_DString * namePtr)); -/* 6 */ -EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel, - int direction)); -/* 7 */ -EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char * fname, int mode)); -/* 8 */ -EXTERN int TclUnixWaitForFile _ANSI_ARGS_((int fd, int mask, - int timeout)); -#endif /* UNIX */ #ifdef MAC_TCL /* 0 */ EXTERN VOID * TclpSysAlloc _ANSI_ARGS_((long size, int isBin)); @@ -194,6 +190,17 @@ typedef struct TclIntPlatStubs { int magic; struct TclIntPlatStubHooks *hooks; +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + void (*tclGetAndDetachPids) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 0 */ + int (*tclpCloseFile) _ANSI_ARGS_((TclFile file)); /* 1 */ + Tcl_Channel (*tclpCreateCommandChannel) _ANSI_ARGS_((TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); /* 2 */ + int (*tclpCreatePipe) _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); /* 3 */ + int (*tclpCreateProcess) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); /* 4 */ + TclFile (*tclpCreateTempFile) _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); /* 5 */ + TclFile (*tclpMakeFile) _ANSI_ARGS_((Tcl_Channel channel, int direction)); /* 6 */ + TclFile (*tclpOpenFile) _ANSI_ARGS_((char * fname, int mode)); /* 7 */ + int (*tclUnixWaitForFile) _ANSI_ARGS_((int fd, int mask, int timeout)); /* 8 */ +#endif /* UNIX */ #ifdef __WIN32__ void (*tclWinConvertError) _ANSI_ARGS_((DWORD errCode)); /* 0 */ void (*tclWinConvertWSAError) _ANSI_ARGS_((DWORD errCode)); /* 1 */ @@ -204,31 +211,18 @@ typedef struct TclIntPlatStubs { u_short (*tclWinNToHS) _ANSI_ARGS_((u_short ns)); /* 6 */ int (*tclWinSetSockOpt) _ANSI_ARGS_((SOCKET s, int level, int optname, const char FAR * optval, int optlen)); /* 7 */ unsigned long (*tclpGetPid) _ANSI_ARGS_((Tcl_Pid pid)); /* 8 */ - void (*tclpFinalize) _ANSI_ARGS_((void)); /* 9 */ - int (*tclWinGetPlatformId) _ANSI_ARGS_((void)); /* 10 */ - void (*tclWinInit) _ANSI_ARGS_((HINSTANCE hInst)); /* 11 */ - int (*tclWinSynchSpawn) _ANSI_ARGS_((void * args, int type, void ** trans, Tcl_Pid * pidPtr)); /* 12 */ - void (*tclGetAndDetachPids) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 13 */ - int (*tclpCloseFile) _ANSI_ARGS_((TclFile file)); /* 14 */ - Tcl_Channel (*tclpCreateCommandChannel) _ANSI_ARGS_((TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); /* 15 */ - int (*tclpCreatePipe) _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); /* 16 */ - int (*tclpCreateProcess) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); /* 17 */ - TclFile (*tclpCreateTempFile) _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); /* 18 */ - char * (*tclpGetTZName) _ANSI_ARGS_((void)); /* 19 */ - TclFile (*tclpMakeFile) _ANSI_ARGS_((Tcl_Channel channel, int direction)); /* 20 */ - TclFile (*tclpOpenFile) _ANSI_ARGS_((char * fname, int mode)); /* 21 */ + int (*tclWinGetPlatformId) _ANSI_ARGS_((void)); /* 9 */ + int (*tclWinSynchSpawn) _ANSI_ARGS_((void * args, int type, void ** trans, Tcl_Pid * pidPtr)); /* 10 */ + void (*tclGetAndDetachPids) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 11 */ + int (*tclpCloseFile) _ANSI_ARGS_((TclFile file)); /* 12 */ + Tcl_Channel (*tclpCreateCommandChannel) _ANSI_ARGS_((TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); /* 13 */ + int (*tclpCreatePipe) _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); /* 14 */ + int (*tclpCreateProcess) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); /* 15 */ + TclFile (*tclpCreateTempFile) _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); /* 16 */ + char * (*tclpGetTZName) _ANSI_ARGS_((void)); /* 17 */ + TclFile (*tclpMakeFile) _ANSI_ARGS_((Tcl_Channel channel, int direction)); /* 18 */ + TclFile (*tclpOpenFile) _ANSI_ARGS_((char * fname, int mode)); /* 19 */ #endif /* __WIN32__ */ -#if !defined(__WIN32__) && !defined(MAC_TCL) - void (*tclGetAndDetachPids) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan)); /* 0 */ - int (*tclpCloseFile) _ANSI_ARGS_((TclFile file)); /* 1 */ - Tcl_Channel (*tclpCreateCommandChannel) _ANSI_ARGS_((TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid * pidPtr)); /* 2 */ - int (*tclpCreatePipe) _ANSI_ARGS_((TclFile * readPipe, TclFile * writePipe)); /* 3 */ - int (*tclpCreateProcess) _ANSI_ARGS_((Tcl_Interp * interp, int argc, char ** argv, TclFile inputFile, TclFile outputFile, TclFile errorFile, Tcl_Pid * pidPtr)); /* 4 */ - TclFile (*tclpCreateTempFile) _ANSI_ARGS_((char * contents, Tcl_DString * namePtr)); /* 5 */ - TclFile (*tclpMakeFile) _ANSI_ARGS_((Tcl_Channel channel, int direction)); /* 6 */ - TclFile (*tclpOpenFile) _ANSI_ARGS_((char * fname, int mode)); /* 7 */ - int (*tclUnixWaitForFile) _ANSI_ARGS_((int fd, int mask, int timeout)); /* 8 */ -#endif /* UNIX */ #ifdef MAC_TCL VOID * (*tclpSysAlloc) _ANSI_ARGS_((long size, int isBin)); /* 0 */ void (*tclpSysFree) _ANSI_ARGS_((VOID * ptr)); /* 1 */ @@ -267,6 +261,44 @@ extern TclIntPlatStubs *tclIntPlatStubsPtr; * Inline function declarations: */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +#ifndef TclGetAndDetachPids +#define TclGetAndDetachPids(interp, chan) \ + (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan) /* 0 */ +#endif +#ifndef TclpCloseFile +#define TclpCloseFile(file) \ + (tclIntPlatStubsPtr->tclpCloseFile)(file) /* 1 */ +#endif +#ifndef TclpCreateCommandChannel +#define TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) \ + (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr) /* 2 */ +#endif +#ifndef TclpCreatePipe +#define TclpCreatePipe(readPipe, writePipe) \ + (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe) /* 3 */ +#endif +#ifndef TclpCreateProcess +#define TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) \ + (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) /* 4 */ +#endif +#ifndef TclpCreateTempFile +#define TclpCreateTempFile(contents, namePtr) \ + (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr) /* 5 */ +#endif +#ifndef TclpMakeFile +#define TclpMakeFile(channel, direction) \ + (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction) /* 6 */ +#endif +#ifndef TclpOpenFile +#define TclpOpenFile(fname, mode) \ + (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode) /* 7 */ +#endif +#ifndef TclUnixWaitForFile +#define TclUnixWaitForFile(fd, mask, timeout) \ + (tclIntPlatStubsPtr->tclUnixWaitForFile)(fd, mask, timeout) /* 8 */ +#endif +#endif /* UNIX */ #ifdef __WIN32__ #ifndef TclWinConvertError #define TclWinConvertError(errCode) \ @@ -304,97 +336,51 @@ extern TclIntPlatStubs *tclIntPlatStubsPtr; #define TclpGetPid(pid) \ (tclIntPlatStubsPtr->tclpGetPid)(pid) /* 8 */ #endif -#ifndef TclpFinalize -#define TclpFinalize() \ - (tclIntPlatStubsPtr->tclpFinalize)() /* 9 */ -#endif #ifndef TclWinGetPlatformId #define TclWinGetPlatformId() \ - (tclIntPlatStubsPtr->tclWinGetPlatformId)() /* 10 */ -#endif -#ifndef TclWinInit -#define TclWinInit(hInst) \ - (tclIntPlatStubsPtr->tclWinInit)(hInst) /* 11 */ + (tclIntPlatStubsPtr->tclWinGetPlatformId)() /* 9 */ #endif #ifndef TclWinSynchSpawn #define TclWinSynchSpawn(args, type, trans, pidPtr) \ - (tclIntPlatStubsPtr->tclWinSynchSpawn)(args, type, trans, pidPtr) /* 12 */ + (tclIntPlatStubsPtr->tclWinSynchSpawn)(args, type, trans, pidPtr) /* 10 */ #endif #ifndef TclGetAndDetachPids #define TclGetAndDetachPids(interp, chan) \ - (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan) /* 13 */ + (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan) /* 11 */ #endif #ifndef TclpCloseFile #define TclpCloseFile(file) \ - (tclIntPlatStubsPtr->tclpCloseFile)(file) /* 14 */ + (tclIntPlatStubsPtr->tclpCloseFile)(file) /* 12 */ #endif #ifndef TclpCreateCommandChannel #define TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) \ - (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr) /* 15 */ + (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr) /* 13 */ #endif #ifndef TclpCreatePipe #define TclpCreatePipe(readPipe, writePipe) \ - (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe) /* 16 */ + (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe) /* 14 */ #endif #ifndef TclpCreateProcess #define TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) \ - (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) /* 17 */ + (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) /* 15 */ #endif #ifndef TclpCreateTempFile #define TclpCreateTempFile(contents, namePtr) \ - (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr) /* 18 */ + (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr) /* 16 */ #endif #ifndef TclpGetTZName #define TclpGetTZName() \ - (tclIntPlatStubsPtr->tclpGetTZName)() /* 19 */ + (tclIntPlatStubsPtr->tclpGetTZName)() /* 17 */ #endif #ifndef TclpMakeFile #define TclpMakeFile(channel, direction) \ - (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction) /* 20 */ + (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction) /* 18 */ #endif #ifndef TclpOpenFile #define TclpOpenFile(fname, mode) \ - (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode) /* 21 */ + (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode) /* 19 */ #endif #endif /* __WIN32__ */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -#ifndef TclGetAndDetachPids -#define TclGetAndDetachPids(interp, chan) \ - (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan) /* 0 */ -#endif -#ifndef TclpCloseFile -#define TclpCloseFile(file) \ - (tclIntPlatStubsPtr->tclpCloseFile)(file) /* 1 */ -#endif -#ifndef TclpCreateCommandChannel -#define TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) \ - (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr) /* 2 */ -#endif -#ifndef TclpCreatePipe -#define TclpCreatePipe(readPipe, writePipe) \ - (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe) /* 3 */ -#endif -#ifndef TclpCreateProcess -#define TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) \ - (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) /* 4 */ -#endif -#ifndef TclpCreateTempFile -#define TclpCreateTempFile(contents, namePtr) \ - (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr) /* 5 */ -#endif -#ifndef TclpMakeFile -#define TclpMakeFile(channel, direction) \ - (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction) /* 6 */ -#endif -#ifndef TclpOpenFile -#define TclpOpenFile(fname, mode) \ - (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode) /* 7 */ -#endif -#ifndef TclUnixWaitForFile -#define TclUnixWaitForFile(fd, mask, timeout) \ - (tclIntPlatStubsPtr->tclUnixWaitForFile)(fd, mask, timeout) /* 8 */ -#endif -#endif /* UNIX */ #ifdef MAC_TCL #ifndef TclpSysAlloc #define TclpSysAlloc(size, isBin) \ diff --git a/generic/tclIntPlatStubs.c b/generic/tclIntPlatStubs.c index 6140fc6..43bc4e5 100644 --- a/generic/tclIntPlatStubs.c +++ b/generic/tclIntPlatStubs.c @@ -7,7 +7,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclIntPlatStubs.c,v 1.2 1999/03/04 01:01:58 stanton Exp $ + * RCS: @(#) $Id: tclIntPlatStubs.c,v 1.3 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -25,6 +25,97 @@ * Exported stub functions: */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* Slot 0 */ +void +TclGetAndDetachPids(interp, chan) + Tcl_Interp * interp; + Tcl_Channel chan; +{ + (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan); +} + +/* Slot 1 */ +int +TclpCloseFile(file) + TclFile file; +{ + return (tclIntPlatStubsPtr->tclpCloseFile)(file); +} + +/* Slot 2 */ +Tcl_Channel +TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) + TclFile readFile; + TclFile writeFile; + TclFile errorFile; + int numPids; + Tcl_Pid * pidPtr; +{ + return (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr); +} + +/* Slot 3 */ +int +TclpCreatePipe(readPipe, writePipe) + TclFile * readPipe; + TclFile * writePipe; +{ + return (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe); +} + +/* Slot 4 */ +int +TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) + Tcl_Interp * interp; + int argc; + char ** argv; + TclFile inputFile; + TclFile outputFile; + TclFile errorFile; + Tcl_Pid * pidPtr; +{ + return (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr); +} + +/* Slot 5 */ +TclFile +TclpCreateTempFile(contents, namePtr) + char * contents; + Tcl_DString * namePtr; +{ + return (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr); +} + +/* Slot 6 */ +TclFile +TclpMakeFile(channel, direction) + Tcl_Channel channel; + int direction; +{ + return (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction); +} + +/* Slot 7 */ +TclFile +TclpOpenFile(fname, mode) + char * fname; + int mode; +{ + return (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode); +} + +/* Slot 8 */ +int +TclUnixWaitForFile(fd, mask, timeout) + int fd; + int mask; + int timeout; +{ + return (tclIntPlatStubsPtr->tclUnixWaitForFile)(fd, mask, timeout); +} + +#endif /* UNIX */ #ifdef __WIN32__ /* Slot 0 */ void @@ -107,28 +198,13 @@ TclpGetPid(pid) } /* Slot 9 */ -void -TclpFinalize() -{ - (tclIntPlatStubsPtr->tclpFinalize)(); -} - -/* Slot 10 */ int TclWinGetPlatformId() { return (tclIntPlatStubsPtr->tclWinGetPlatformId)(); } -/* Slot 11 */ -void -TclWinInit(hInst) - HINSTANCE hInst; -{ - (tclIntPlatStubsPtr->tclWinInit)(hInst); -} - -/* Slot 12 */ +/* Slot 10 */ int TclWinSynchSpawn(args, type, trans, pidPtr) void * args; @@ -139,7 +215,7 @@ TclWinSynchSpawn(args, type, trans, pidPtr) return (tclIntPlatStubsPtr->tclWinSynchSpawn)(args, type, trans, pidPtr); } -/* Slot 13 */ +/* Slot 11 */ void TclGetAndDetachPids(interp, chan) Tcl_Interp * interp; @@ -148,7 +224,7 @@ TclGetAndDetachPids(interp, chan) (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan); } -/* Slot 14 */ +/* Slot 12 */ int TclpCloseFile(file) TclFile file; @@ -156,7 +232,7 @@ TclpCloseFile(file) return (tclIntPlatStubsPtr->tclpCloseFile)(file); } -/* Slot 15 */ +/* Slot 13 */ Tcl_Channel TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) TclFile readFile; @@ -168,7 +244,7 @@ TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) return (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr); } -/* Slot 16 */ +/* Slot 14 */ int TclpCreatePipe(readPipe, writePipe) TclFile * readPipe; @@ -177,7 +253,7 @@ TclpCreatePipe(readPipe, writePipe) return (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe); } -/* Slot 17 */ +/* Slot 15 */ int TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) Tcl_Interp * interp; @@ -191,7 +267,7 @@ TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) return (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr); } -/* Slot 18 */ +/* Slot 16 */ TclFile TclpCreateTempFile(contents, namePtr) char * contents; @@ -200,14 +276,14 @@ TclpCreateTempFile(contents, namePtr) return (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr); } -/* Slot 19 */ +/* Slot 17 */ char * TclpGetTZName() { return (tclIntPlatStubsPtr->tclpGetTZName)(); } -/* Slot 20 */ +/* Slot 18 */ TclFile TclpMakeFile(channel, direction) Tcl_Channel channel; @@ -216,7 +292,7 @@ TclpMakeFile(channel, direction) return (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction); } -/* Slot 21 */ +/* Slot 19 */ TclFile TclpOpenFile(fname, mode) char * fname; @@ -226,97 +302,6 @@ TclpOpenFile(fname, mode) } #endif /* __WIN32__ */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -/* Slot 0 */ -void -TclGetAndDetachPids(interp, chan) - Tcl_Interp * interp; - Tcl_Channel chan; -{ - (tclIntPlatStubsPtr->tclGetAndDetachPids)(interp, chan); -} - -/* Slot 1 */ -int -TclpCloseFile(file) - TclFile file; -{ - return (tclIntPlatStubsPtr->tclpCloseFile)(file); -} - -/* Slot 2 */ -Tcl_Channel -TclpCreateCommandChannel(readFile, writeFile, errorFile, numPids, pidPtr) - TclFile readFile; - TclFile writeFile; - TclFile errorFile; - int numPids; - Tcl_Pid * pidPtr; -{ - return (tclIntPlatStubsPtr->tclpCreateCommandChannel)(readFile, writeFile, errorFile, numPids, pidPtr); -} - -/* Slot 3 */ -int -TclpCreatePipe(readPipe, writePipe) - TclFile * readPipe; - TclFile * writePipe; -{ - return (tclIntPlatStubsPtr->tclpCreatePipe)(readPipe, writePipe); -} - -/* Slot 4 */ -int -TclpCreateProcess(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr) - Tcl_Interp * interp; - int argc; - char ** argv; - TclFile inputFile; - TclFile outputFile; - TclFile errorFile; - Tcl_Pid * pidPtr; -{ - return (tclIntPlatStubsPtr->tclpCreateProcess)(interp, argc, argv, inputFile, outputFile, errorFile, pidPtr); -} - -/* Slot 5 */ -TclFile -TclpCreateTempFile(contents, namePtr) - char * contents; - Tcl_DString * namePtr; -{ - return (tclIntPlatStubsPtr->tclpCreateTempFile)(contents, namePtr); -} - -/* Slot 6 */ -TclFile -TclpMakeFile(channel, direction) - Tcl_Channel channel; - int direction; -{ - return (tclIntPlatStubsPtr->tclpMakeFile)(channel, direction); -} - -/* Slot 7 */ -TclFile -TclpOpenFile(fname, mode) - char * fname; - int mode; -{ - return (tclIntPlatStubsPtr->tclpOpenFile)(fname, mode); -} - -/* Slot 8 */ -int -TclUnixWaitForFile(fd, mask, timeout) - int fd; - int mask; - int timeout; -{ - return (tclIntPlatStubsPtr->tclUnixWaitForFile)(fd, mask, timeout); -} - -#endif /* UNIX */ #ifdef MAC_TCL /* Slot 0 */ VOID * diff --git a/generic/tclIntStubs.c b/generic/tclIntStubs.c index 224bedb..edf48a3 100644 --- a/generic/tclIntStubs.c +++ b/generic/tclIntStubs.c @@ -7,7 +7,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclIntStubs.c,v 1.2 1999/03/04 01:01:58 stanton Exp $ + * RCS: @(#) $Id: tclIntStubs.c,v 1.3 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -239,27 +239,6 @@ TclFileRenameCmd(interp, argc, argv) } /* Slot 22 */ -void -TclFinalizeCompExecEnv() -{ - (tclIntStubsPtr->tclFinalizeCompExecEnv)(); -} - -/* Slot 23 */ -void -TclFinalizeEnvironment() -{ - (tclIntStubsPtr->tclFinalizeEnvironment)(); -} - -/* Slot 24 */ -void -TclFinalizeExecEnv() -{ - (tclIntStubsPtr->tclFinalizeExecEnv)(); -} - -/* Slot 25 */ int TclFindElement(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) Tcl_Interp * interp; @@ -273,7 +252,7 @@ TclFindElement(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr) return (tclIntStubsPtr->tclFindElement)(interp, list, listLength, elementPtr, nextPtr, sizePtr, bracePtr); } -/* Slot 26 */ +/* Slot 23 */ Proc * TclFindProc(iPtr, procName) Interp * iPtr; @@ -282,7 +261,7 @@ TclFindProc(iPtr, procName) return (tclIntStubsPtr->tclFindProc)(iPtr, procName); } -/* Slot 27 */ +/* Slot 24 */ int TclFormatInt(buffer, n) char * buffer; @@ -291,7 +270,7 @@ TclFormatInt(buffer, n) return (tclIntStubsPtr->tclFormatInt)(buffer, n); } -/* Slot 28 */ +/* Slot 25 */ void TclFreePackageInfo(iPtr) Interp * iPtr; @@ -299,7 +278,7 @@ TclFreePackageInfo(iPtr) (tclIntStubsPtr->tclFreePackageInfo)(iPtr); } -/* Slot 29 */ +/* Slot 26 */ char * TclGetCwd(interp) Tcl_Interp * interp; @@ -307,7 +286,7 @@ TclGetCwd(interp) return (tclIntStubsPtr->tclGetCwd)(interp); } -/* Slot 30 */ +/* Slot 27 */ int TclGetDate(p, now, zone, timePtr) char * p; @@ -318,7 +297,7 @@ TclGetDate(p, now, zone, timePtr) return (tclIntStubsPtr->tclGetDate)(p, now, zone, timePtr); } -/* Slot 31 */ +/* Slot 28 */ Tcl_Channel TclGetDefaultStdChannel(type) int type; @@ -326,7 +305,7 @@ TclGetDefaultStdChannel(type) return (tclIntStubsPtr->tclGetDefaultStdChannel)(type); } -/* Slot 32 */ +/* Slot 29 */ Tcl_Obj * TclGetElementOfIndexedArray(interp, localIndex, elemPtr, leaveErrorMsg) Tcl_Interp * interp; @@ -337,7 +316,7 @@ TclGetElementOfIndexedArray(interp, localIndex, elemPtr, leaveErrorMsg) return (tclIntStubsPtr->tclGetElementOfIndexedArray)(interp, localIndex, elemPtr, leaveErrorMsg); } -/* Slot 33 */ +/* Slot 30 */ char * TclGetEnv(name) CONST char * name; @@ -345,7 +324,7 @@ TclGetEnv(name) return (tclIntStubsPtr->tclGetEnv)(name); } -/* Slot 34 */ +/* Slot 31 */ char * TclGetExtension(name) char * name; @@ -353,7 +332,7 @@ TclGetExtension(name) return (tclIntStubsPtr->tclGetExtension)(name); } -/* Slot 35 */ +/* Slot 32 */ int TclGetFrame(interp, string, framePtrPtr) Tcl_Interp * interp; @@ -363,14 +342,14 @@ TclGetFrame(interp, string, framePtrPtr) return (tclIntStubsPtr->tclGetFrame)(interp, string, framePtrPtr); } -/* Slot 36 */ +/* Slot 33 */ TclCmdProcType TclGetInterpProc() { return (tclIntStubsPtr->tclGetInterpProc)(); } -/* Slot 37 */ +/* Slot 34 */ int TclGetIntForIndex(interp, objPtr, endValue, indexPtr) Tcl_Interp * interp; @@ -381,7 +360,7 @@ TclGetIntForIndex(interp, objPtr, endValue, indexPtr) return (tclIntStubsPtr->tclGetIntForIndex)(interp, objPtr, endValue, indexPtr); } -/* Slot 38 */ +/* Slot 35 */ Tcl_Obj * TclGetIndexedScalar(interp, localIndex, leaveErrorMsg) Tcl_Interp * interp; @@ -391,7 +370,7 @@ TclGetIndexedScalar(interp, localIndex, leaveErrorMsg) return (tclIntStubsPtr->tclGetIndexedScalar)(interp, localIndex, leaveErrorMsg); } -/* Slot 39 */ +/* Slot 36 */ int TclGetLong(interp, string, longPtr) Tcl_Interp * interp; @@ -401,7 +380,7 @@ TclGetLong(interp, string, longPtr) return (tclIntStubsPtr->tclGetLong)(interp, string, longPtr); } -/* Slot 40 */ +/* Slot 37 */ int TclGetLoadedPackages(interp, targetName) Tcl_Interp * interp; @@ -410,7 +389,7 @@ TclGetLoadedPackages(interp, targetName) return (tclIntStubsPtr->tclGetLoadedPackages)(interp, targetName); } -/* Slot 41 */ +/* Slot 38 */ int TclGetNamespaceForQualName(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr) Tcl_Interp * interp; @@ -425,14 +404,14 @@ TclGetNamespaceForQualName(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtr return (tclIntStubsPtr->tclGetNamespaceForQualName)(interp, qualName, cxtNsPtr, flags, nsPtrPtr, altNsPtrPtr, actualCxtPtrPtr, simpleNamePtr); } -/* Slot 42 */ +/* Slot 39 */ TclObjCmdProcType TclGetObjInterpProc() { return (tclIntStubsPtr->tclGetObjInterpProc)(); } -/* Slot 43 */ +/* Slot 40 */ int TclGetOpenMode(interp, string, seekFlagPtr) Tcl_Interp * interp; @@ -442,7 +421,7 @@ TclGetOpenMode(interp, string, seekFlagPtr) return (tclIntStubsPtr->tclGetOpenMode)(interp, string, seekFlagPtr); } -/* Slot 44 */ +/* Slot 41 */ Tcl_Command TclGetOriginalCommand(command) Tcl_Command command; @@ -450,7 +429,7 @@ TclGetOriginalCommand(command) return (tclIntStubsPtr->tclGetOriginalCommand)(command); } -/* Slot 45 */ +/* Slot 42 */ char * TclGetUserHome(name, bufferPtr) char * name; @@ -459,7 +438,7 @@ TclGetUserHome(name, bufferPtr) return (tclIntStubsPtr->tclGetUserHome)(name, bufferPtr); } -/* Slot 46 */ +/* Slot 43 */ int TclGlobalInvoke(interp, argc, argv, flags) Tcl_Interp * interp; @@ -470,7 +449,7 @@ TclGlobalInvoke(interp, argc, argv, flags) return (tclIntStubsPtr->tclGlobalInvoke)(interp, argc, argv, flags); } -/* Slot 47 */ +/* Slot 44 */ int TclGuessPackageName(fileName, bufPtr) char * fileName; @@ -479,7 +458,7 @@ TclGuessPackageName(fileName, bufPtr) return (tclIntStubsPtr->tclGuessPackageName)(fileName, bufPtr); } -/* Slot 48 */ +/* Slot 45 */ int TclHideUnsafeCommands(interp) Tcl_Interp * interp; @@ -487,14 +466,14 @@ TclHideUnsafeCommands(interp) return (tclIntStubsPtr->tclHideUnsafeCommands)(interp); } -/* Slot 49 */ +/* Slot 46 */ int TclInExit() { return (tclIntStubsPtr->tclInExit)(); } -/* Slot 50 */ +/* Slot 47 */ Tcl_Obj * TclIncrElementOfIndexedArray(interp, localIndex, elemPtr, incrAmount) Tcl_Interp * interp; @@ -505,7 +484,7 @@ TclIncrElementOfIndexedArray(interp, localIndex, elemPtr, incrAmount) return (tclIntStubsPtr->tclIncrElementOfIndexedArray)(interp, localIndex, elemPtr, incrAmount); } -/* Slot 51 */ +/* Slot 48 */ Tcl_Obj * TclIncrIndexedScalar(interp, localIndex, incrAmount) Tcl_Interp * interp; @@ -515,7 +494,7 @@ TclIncrIndexedScalar(interp, localIndex, incrAmount) return (tclIntStubsPtr->tclIncrIndexedScalar)(interp, localIndex, incrAmount); } -/* Slot 52 */ +/* Slot 49 */ Tcl_Obj * TclIncrVar2(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) Tcl_Interp * interp; @@ -527,7 +506,7 @@ TclIncrVar2(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed) return (tclIntStubsPtr->tclIncrVar2)(interp, part1Ptr, part2Ptr, incrAmount, part1NotParsed); } -/* Slot 53 */ +/* Slot 50 */ void TclInitCompiledLocals(interp, framePtr, nsPtr) Tcl_Interp * interp; @@ -537,14 +516,7 @@ TclInitCompiledLocals(interp, framePtr, nsPtr) (tclIntStubsPtr->tclInitCompiledLocals)(interp, framePtr, nsPtr); } -/* Slot 54 */ -void -TclInitNamespaces() -{ - (tclIntStubsPtr->tclInitNamespaces)(); -} - -/* Slot 55 */ +/* Slot 51 */ int TclInterpInit(interp) Tcl_Interp * interp; @@ -552,7 +524,7 @@ TclInterpInit(interp) return (tclIntStubsPtr->tclInterpInit)(interp); } -/* Slot 56 */ +/* Slot 52 */ int TclInvoke(interp, argc, argv, flags) Tcl_Interp * interp; @@ -563,7 +535,7 @@ TclInvoke(interp, argc, argv, flags) return (tclIntStubsPtr->tclInvoke)(interp, argc, argv, flags); } -/* Slot 57 */ +/* Slot 53 */ int TclInvokeObjectCommand(clientData, interp, argc, argv) ClientData clientData; @@ -574,7 +546,7 @@ TclInvokeObjectCommand(clientData, interp, argc, argv) return (tclIntStubsPtr->tclInvokeObjectCommand)(clientData, interp, argc, argv); } -/* Slot 58 */ +/* Slot 54 */ int TclInvokeStringCommand(clientData, interp, objc, objv) ClientData clientData; @@ -585,7 +557,7 @@ TclInvokeStringCommand(clientData, interp, objc, objv) return (tclIntStubsPtr->tclInvokeStringCommand)(clientData, interp, objc, objv); } -/* Slot 59 */ +/* Slot 55 */ Proc * TclIsProc(cmdPtr) Command * cmdPtr; @@ -593,7 +565,7 @@ TclIsProc(cmdPtr) return (tclIntStubsPtr->tclIsProc)(cmdPtr); } -/* Slot 60 */ +/* Slot 56 */ int TclLoadFile(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) Tcl_Interp * interp; @@ -606,7 +578,7 @@ TclLoadFile(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr) return (tclIntStubsPtr->tclLoadFile)(interp, fileName, sym1, sym2, proc1Ptr, proc2Ptr); } -/* Slot 61 */ +/* Slot 57 */ int TclLooksLikeInt(p) char * p; @@ -614,7 +586,7 @@ TclLooksLikeInt(p) return (tclIntStubsPtr->tclLooksLikeInt)(p); } -/* Slot 62 */ +/* Slot 58 */ Var * TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr) Tcl_Interp * interp; @@ -629,7 +601,7 @@ TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPt return (tclIntStubsPtr->tclLookupVar)(interp, part1, part2, flags, msg, createPart1, createPart2, arrayPtrPtr); } -/* Slot 63 */ +/* Slot 59 */ int TclMatchFiles(interp, separators, dirPtr, pattern, tail) Tcl_Interp * interp; @@ -641,7 +613,7 @@ TclMatchFiles(interp, separators, dirPtr, pattern, tail) return (tclIntStubsPtr->tclMatchFiles)(interp, separators, dirPtr, pattern, tail); } -/* Slot 64 */ +/* Slot 60 */ int TclNeedSpace(start, end) char * start; @@ -650,7 +622,7 @@ TclNeedSpace(start, end) return (tclIntStubsPtr->tclNeedSpace)(start, end); } -/* Slot 65 */ +/* Slot 61 */ Tcl_Obj * TclNewProcBodyObj(procPtr) Proc * procPtr; @@ -658,7 +630,7 @@ TclNewProcBodyObj(procPtr) return (tclIntStubsPtr->tclNewProcBodyObj)(procPtr); } -/* Slot 66 */ +/* Slot 62 */ int TclObjCommandComplete(cmdPtr) Tcl_Obj * cmdPtr; @@ -666,7 +638,7 @@ TclObjCommandComplete(cmdPtr) return (tclIntStubsPtr->tclObjCommandComplete)(cmdPtr); } -/* Slot 67 */ +/* Slot 63 */ int TclObjInterpProc(clientData, interp, objc, objv) ClientData clientData; @@ -677,7 +649,7 @@ TclObjInterpProc(clientData, interp, objc, objv) return (tclIntStubsPtr->tclObjInterpProc)(clientData, interp, objc, objv); } -/* Slot 68 */ +/* Slot 64 */ int TclObjInvoke(interp, objc, objv, flags) Tcl_Interp * interp; @@ -688,7 +660,7 @@ TclObjInvoke(interp, objc, objv, flags) return (tclIntStubsPtr->tclObjInvoke)(interp, objc, objv, flags); } -/* Slot 69 */ +/* Slot 65 */ int TclObjInvokeGlobal(interp, objc, objv, flags) Tcl_Interp * interp; @@ -699,7 +671,7 @@ TclObjInvokeGlobal(interp, objc, objv, flags) return (tclIntStubsPtr->tclObjInvokeGlobal)(interp, objc, objv, flags); } -/* Slot 70 */ +/* Slot 66 */ int TclOpenFileChannelDeleteProc(proc) TclOpenFileChannelProc_ * proc; @@ -707,7 +679,7 @@ TclOpenFileChannelDeleteProc(proc) return (tclIntStubsPtr->tclOpenFileChannelDeleteProc)(proc); } -/* Slot 71 */ +/* Slot 67 */ int TclOpenFileChannelInsertProc(proc) TclOpenFileChannelProc_ * proc; @@ -715,7 +687,7 @@ TclOpenFileChannelInsertProc(proc) return (tclIntStubsPtr->tclOpenFileChannelInsertProc)(proc); } -/* Slot 72 */ +/* Slot 68 */ int TclpAccess(path, mode) CONST char * path; @@ -724,7 +696,7 @@ TclpAccess(path, mode) return (tclIntStubsPtr->tclpAccess)(path, mode); } -/* Slot 73 */ +/* Slot 69 */ char * TclpAlloc(size) unsigned int size; @@ -732,7 +704,7 @@ TclpAlloc(size) return (tclIntStubsPtr->tclpAlloc)(size); } -/* Slot 74 */ +/* Slot 70 */ int TclpCopyFile(source, dest) char * source; @@ -741,7 +713,7 @@ TclpCopyFile(source, dest) return (tclIntStubsPtr->tclpCopyFile)(source, dest); } -/* Slot 75 */ +/* Slot 71 */ int TclpCopyDirectory(source, dest, errorPtr) char * source; @@ -751,7 +723,7 @@ TclpCopyDirectory(source, dest, errorPtr) return (tclIntStubsPtr->tclpCopyDirectory)(source, dest, errorPtr); } -/* Slot 76 */ +/* Slot 72 */ int TclpCreateDirectory(path) char * path; @@ -759,7 +731,7 @@ TclpCreateDirectory(path) return (tclIntStubsPtr->tclpCreateDirectory)(path); } -/* Slot 77 */ +/* Slot 73 */ int TclpDeleteFile(path) char * path; @@ -767,7 +739,7 @@ TclpDeleteFile(path) return (tclIntStubsPtr->tclpDeleteFile)(path); } -/* Slot 78 */ +/* Slot 74 */ void TclpFree(ptr) char * ptr; @@ -775,21 +747,21 @@ TclpFree(ptr) (tclIntStubsPtr->tclpFree)(ptr); } -/* Slot 79 */ +/* Slot 75 */ unsigned long TclpGetClicks() { return (tclIntStubsPtr->tclpGetClicks)(); } -/* Slot 80 */ +/* Slot 76 */ unsigned long TclpGetSeconds() { return (tclIntStubsPtr->tclpGetSeconds)(); } -/* Slot 81 */ +/* Slot 77 */ void TclpGetTime(time) Tcl_Time * time; @@ -797,7 +769,7 @@ TclpGetTime(time) (tclIntStubsPtr->tclpGetTime)(time); } -/* Slot 82 */ +/* Slot 78 */ int TclpGetTimeZone(time) unsigned long time; @@ -805,7 +777,7 @@ TclpGetTimeZone(time) return (tclIntStubsPtr->tclpGetTimeZone)(time); } -/* Slot 83 */ +/* Slot 79 */ int TclpListVolumes(interp) Tcl_Interp * interp; @@ -813,7 +785,7 @@ TclpListVolumes(interp) return (tclIntStubsPtr->tclpListVolumes)(interp); } -/* Slot 84 */ +/* Slot 80 */ Tcl_Channel TclpOpenFileChannel(interp, fileName, modeString, permissions) Tcl_Interp * interp; @@ -824,7 +796,7 @@ TclpOpenFileChannel(interp, fileName, modeString, permissions) return (tclIntStubsPtr->tclpOpenFileChannel)(interp, fileName, modeString, permissions); } -/* Slot 85 */ +/* Slot 81 */ char * TclpRealloc(ptr, size) char * ptr; @@ -833,7 +805,7 @@ TclpRealloc(ptr, size) return (tclIntStubsPtr->tclpRealloc)(ptr, size); } -/* Slot 86 */ +/* Slot 82 */ int TclpRemoveDirectory(path, recursive, errorPtr) char * path; @@ -843,7 +815,7 @@ TclpRemoveDirectory(path, recursive, errorPtr) return (tclIntStubsPtr->tclpRemoveDirectory)(path, recursive, errorPtr); } -/* Slot 87 */ +/* Slot 83 */ int TclpRenameFile(source, dest) char * source; @@ -852,7 +824,7 @@ TclpRenameFile(source, dest) return (tclIntStubsPtr->tclpRenameFile)(source, dest); } -/* Slot 88 */ +/* Slot 84 */ int TclParseBraces(interp, string, termPtr, pvPtr) Tcl_Interp * interp; @@ -863,7 +835,7 @@ TclParseBraces(interp, string, termPtr, pvPtr) return (tclIntStubsPtr->tclParseBraces)(interp, string, termPtr, pvPtr); } -/* Slot 89 */ +/* Slot 85 */ int TclParseNestedCmd(interp, string, flags, termPtr, pvPtr) Tcl_Interp * interp; @@ -875,7 +847,7 @@ TclParseNestedCmd(interp, string, flags, termPtr, pvPtr) return (tclIntStubsPtr->tclParseNestedCmd)(interp, string, flags, termPtr, pvPtr); } -/* Slot 90 */ +/* Slot 86 */ int TclParseQuotes(interp, string, termChar, flags, termPtr, pvPtr) Tcl_Interp * interp; @@ -888,7 +860,7 @@ TclParseQuotes(interp, string, termChar, flags, termPtr, pvPtr) return (tclIntStubsPtr->tclParseQuotes)(interp, string, termChar, flags, termPtr, pvPtr); } -/* Slot 91 */ +/* Slot 87 */ void TclPlatformInit(interp) Tcl_Interp * interp; @@ -896,7 +868,7 @@ TclPlatformInit(interp) (tclIntStubsPtr->tclPlatformInit)(interp); } -/* Slot 92 */ +/* Slot 88 */ char * TclPrecTraceProc(clientData, interp, name1, name2, flags) ClientData clientData; @@ -908,7 +880,7 @@ TclPrecTraceProc(clientData, interp, name1, name2, flags) return (tclIntStubsPtr->tclPrecTraceProc)(clientData, interp, name1, name2, flags); } -/* Slot 93 */ +/* Slot 89 */ int TclPreventAliasLoop(interp, cmdInterp, cmd) Tcl_Interp * interp; @@ -918,7 +890,7 @@ TclPreventAliasLoop(interp, cmdInterp, cmd) return (tclIntStubsPtr->tclPreventAliasLoop)(interp, cmdInterp, cmd); } -/* Slot 94 */ +/* Slot 90 */ void TclPrintByteCodeObj(interp, objPtr) Tcl_Interp * interp; @@ -927,7 +899,7 @@ TclPrintByteCodeObj(interp, objPtr) (tclIntStubsPtr->tclPrintByteCodeObj)(interp, objPtr); } -/* Slot 95 */ +/* Slot 91 */ void TclProcCleanupProc(procPtr) Proc * procPtr; @@ -935,7 +907,7 @@ TclProcCleanupProc(procPtr) (tclIntStubsPtr->tclProcCleanupProc)(procPtr); } -/* Slot 96 */ +/* Slot 92 */ int TclProcCompileProc(interp, procPtr, bodyPtr, nsPtr, description, procName) Tcl_Interp * interp; @@ -948,7 +920,7 @@ TclProcCompileProc(interp, procPtr, bodyPtr, nsPtr, description, procName) return (tclIntStubsPtr->tclProcCompileProc)(interp, procPtr, bodyPtr, nsPtr, description, procName); } -/* Slot 97 */ +/* Slot 93 */ void TclProcDeleteProc(clientData) ClientData clientData; @@ -956,7 +928,7 @@ TclProcDeleteProc(clientData) (tclIntStubsPtr->tclProcDeleteProc)(clientData); } -/* Slot 98 */ +/* Slot 94 */ int TclProcInterpProc(clientData, interp, argc, argv) ClientData clientData; @@ -967,7 +939,7 @@ TclProcInterpProc(clientData, interp, argc, argv) return (tclIntStubsPtr->tclProcInterpProc)(clientData, interp, argc, argv); } -/* Slot 99 */ +/* Slot 95 */ int TclpStat(path, buf) CONST char * path; @@ -976,7 +948,7 @@ TclpStat(path, buf) return (tclIntStubsPtr->tclpStat)(path, buf); } -/* Slot 100 */ +/* Slot 96 */ int TclRenameCommand(interp, oldName, newName) Tcl_Interp * interp; @@ -986,7 +958,7 @@ TclRenameCommand(interp, oldName, newName) return (tclIntStubsPtr->tclRenameCommand)(interp, oldName, newName); } -/* Slot 101 */ +/* Slot 97 */ void TclResetShadowedCmdRefs(interp, newCmdPtr) Tcl_Interp * interp; @@ -995,14 +967,14 @@ TclResetShadowedCmdRefs(interp, newCmdPtr) (tclIntStubsPtr->tclResetShadowedCmdRefs)(interp, newCmdPtr); } -/* Slot 102 */ +/* Slot 98 */ int TclServiceIdle() { return (tclIntStubsPtr->tclServiceIdle)(); } -/* Slot 103 */ +/* Slot 99 */ Tcl_Obj * TclSetElementOfIndexedArray(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) Tcl_Interp * interp; @@ -1014,7 +986,7 @@ TclSetElementOfIndexedArray(interp, localIndex, elemPtr, objPtr, leaveErrorMsg) return (tclIntStubsPtr->tclSetElementOfIndexedArray)(interp, localIndex, elemPtr, objPtr, leaveErrorMsg); } -/* Slot 104 */ +/* Slot 100 */ Tcl_Obj * TclSetIndexedScalar(interp, localIndex, objPtr, leaveErrorMsg) Tcl_Interp * interp; @@ -1025,7 +997,7 @@ TclSetIndexedScalar(interp, localIndex, objPtr, leaveErrorMsg) return (tclIntStubsPtr->tclSetIndexedScalar)(interp, localIndex, objPtr, leaveErrorMsg); } -/* Slot 105 */ +/* Slot 101 */ char * TclSetPreInitScript(string) char * string; @@ -1033,7 +1005,7 @@ TclSetPreInitScript(string) return (tclIntStubsPtr->tclSetPreInitScript)(string); } -/* Slot 106 */ +/* Slot 102 */ void TclSetupEnv(interp) Tcl_Interp * interp; @@ -1041,7 +1013,7 @@ TclSetupEnv(interp) (tclIntStubsPtr->tclSetupEnv)(interp); } -/* Slot 107 */ +/* Slot 103 */ int TclSockGetPort(interp, string, proto, portPtr) Tcl_Interp * interp; @@ -1052,7 +1024,7 @@ TclSockGetPort(interp, string, proto, portPtr) return (tclIntStubsPtr->tclSockGetPort)(interp, string, proto, portPtr); } -/* Slot 108 */ +/* Slot 104 */ int TclSockMinimumBuffers(sock, size) int sock; @@ -1061,7 +1033,7 @@ TclSockMinimumBuffers(sock, size) return (tclIntStubsPtr->tclSockMinimumBuffers)(sock, size); } -/* Slot 109 */ +/* Slot 105 */ int TclStat(path, buf) CONST char * path; @@ -1070,7 +1042,7 @@ TclStat(path, buf) return (tclIntStubsPtr->tclStat)(path, buf); } -/* Slot 110 */ +/* Slot 106 */ int TclStatDeleteProc(proc) TclStatProc_ * proc; @@ -1078,7 +1050,7 @@ TclStatDeleteProc(proc) return (tclIntStubsPtr->tclStatDeleteProc)(proc); } -/* Slot 111 */ +/* Slot 107 */ int TclStatInsertProc(proc) TclStatProc_ * proc; @@ -1086,7 +1058,7 @@ TclStatInsertProc(proc) return (tclIntStubsPtr->tclStatInsertProc)(proc); } -/* Slot 112 */ +/* Slot 108 */ void TclTeardownNamespace(nsPtr) Namespace * nsPtr; @@ -1094,7 +1066,7 @@ TclTeardownNamespace(nsPtr) (tclIntStubsPtr->tclTeardownNamespace)(nsPtr); } -/* Slot 113 */ +/* Slot 109 */ int TclUpdateReturnInfo(iPtr) Interp * iPtr; @@ -1102,7 +1074,7 @@ TclUpdateReturnInfo(iPtr) return (tclIntStubsPtr->tclUpdateReturnInfo)(iPtr); } -/* Slot 114 */ +/* Slot 110 */ char * TclWordEnd(start, lastChar, nested, semiPtr) char * start; @@ -1113,7 +1085,7 @@ TclWordEnd(start, lastChar, nested, semiPtr) return (tclIntStubsPtr->tclWordEnd)(start, lastChar, nested, semiPtr); } -/* Slot 115 */ +/* Slot 111 */ void Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc) Tcl_Interp * interp; @@ -1125,7 +1097,7 @@ Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc) (tclIntStubsPtr->tcl_AddInterpResolvers)(interp, name, cmdProc, varProc, compiledVarProc); } -/* Slot 116 */ +/* Slot 112 */ int Tcl_AppendExportList(interp, nsPtr, objPtr) Tcl_Interp * interp; @@ -1135,7 +1107,7 @@ Tcl_AppendExportList(interp, nsPtr, objPtr) return (tclIntStubsPtr->tcl_AppendExportList)(interp, nsPtr, objPtr); } -/* Slot 117 */ +/* Slot 113 */ Tcl_Namespace * Tcl_CreateNamespace(interp, name, clientData, deleteProc) Tcl_Interp * interp; @@ -1146,7 +1118,7 @@ Tcl_CreateNamespace(interp, name, clientData, deleteProc) return (tclIntStubsPtr->tcl_CreateNamespace)(interp, name, clientData, deleteProc); } -/* Slot 118 */ +/* Slot 114 */ void Tcl_DeleteNamespace(nsPtr) Tcl_Namespace * nsPtr; @@ -1154,7 +1126,7 @@ Tcl_DeleteNamespace(nsPtr) (tclIntStubsPtr->tcl_DeleteNamespace)(nsPtr); } -/* Slot 119 */ +/* Slot 115 */ int Tcl_Export(interp, nsPtr, pattern, resetListFirst) Tcl_Interp * interp; @@ -1165,7 +1137,7 @@ Tcl_Export(interp, nsPtr, pattern, resetListFirst) return (tclIntStubsPtr->tcl_Export)(interp, nsPtr, pattern, resetListFirst); } -/* Slot 120 */ +/* Slot 116 */ Tcl_Command Tcl_FindCommand(interp, name, contextNsPtr, flags) Tcl_Interp * interp; @@ -1176,7 +1148,7 @@ Tcl_FindCommand(interp, name, contextNsPtr, flags) return (tclIntStubsPtr->tcl_FindCommand)(interp, name, contextNsPtr, flags); } -/* Slot 121 */ +/* Slot 117 */ Tcl_Namespace * Tcl_FindNamespace(interp, name, contextNsPtr, flags) Tcl_Interp * interp; @@ -1187,7 +1159,7 @@ Tcl_FindNamespace(interp, name, contextNsPtr, flags) return (tclIntStubsPtr->tcl_FindNamespace)(interp, name, contextNsPtr, flags); } -/* Slot 122 */ +/* Slot 118 */ int Tcl_GetInterpResolvers(interp, name, resInfo) Tcl_Interp * interp; @@ -1197,7 +1169,7 @@ Tcl_GetInterpResolvers(interp, name, resInfo) return (tclIntStubsPtr->tcl_GetInterpResolvers)(interp, name, resInfo); } -/* Slot 123 */ +/* Slot 119 */ int Tcl_GetNamespaceResolvers(namespacePtr, resInfo) Tcl_Namespace * namespacePtr; @@ -1206,7 +1178,7 @@ Tcl_GetNamespaceResolvers(namespacePtr, resInfo) return (tclIntStubsPtr->tcl_GetNamespaceResolvers)(namespacePtr, resInfo); } -/* Slot 124 */ +/* Slot 120 */ Tcl_Var Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags) Tcl_Interp * interp; @@ -1217,7 +1189,7 @@ Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags) return (tclIntStubsPtr->tcl_FindNamespaceVar)(interp, name, contextNsPtr, flags); } -/* Slot 125 */ +/* Slot 121 */ int Tcl_ForgetImport(interp, nsPtr, pattern) Tcl_Interp * interp; @@ -1227,7 +1199,7 @@ Tcl_ForgetImport(interp, nsPtr, pattern) return (tclIntStubsPtr->tcl_ForgetImport)(interp, nsPtr, pattern); } -/* Slot 126 */ +/* Slot 122 */ Tcl_Command Tcl_GetCommandFromObj(interp, objPtr) Tcl_Interp * interp; @@ -1236,7 +1208,7 @@ Tcl_GetCommandFromObj(interp, objPtr) return (tclIntStubsPtr->tcl_GetCommandFromObj)(interp, objPtr); } -/* Slot 127 */ +/* Slot 123 */ void Tcl_GetCommandFullName(interp, command, objPtr) Tcl_Interp * interp; @@ -1246,7 +1218,7 @@ Tcl_GetCommandFullName(interp, command, objPtr) (tclIntStubsPtr->tcl_GetCommandFullName)(interp, command, objPtr); } -/* Slot 128 */ +/* Slot 124 */ Tcl_Namespace * Tcl_GetCurrentNamespace(interp) Tcl_Interp * interp; @@ -1254,7 +1226,7 @@ Tcl_GetCurrentNamespace(interp) return (tclIntStubsPtr->tcl_GetCurrentNamespace)(interp); } -/* Slot 129 */ +/* Slot 125 */ Tcl_Namespace * Tcl_GetGlobalNamespace(interp) Tcl_Interp * interp; @@ -1262,7 +1234,7 @@ Tcl_GetGlobalNamespace(interp) return (tclIntStubsPtr->tcl_GetGlobalNamespace)(interp); } -/* Slot 130 */ +/* Slot 126 */ void Tcl_GetVariableFullName(interp, variable, objPtr) Tcl_Interp * interp; @@ -1272,7 +1244,7 @@ Tcl_GetVariableFullName(interp, variable, objPtr) (tclIntStubsPtr->tcl_GetVariableFullName)(interp, variable, objPtr); } -/* Slot 131 */ +/* Slot 127 */ int Tcl_Import(interp, nsPtr, pattern, allowOverwrite) Tcl_Interp * interp; @@ -1283,7 +1255,7 @@ Tcl_Import(interp, nsPtr, pattern, allowOverwrite) return (tclIntStubsPtr->tcl_Import)(interp, nsPtr, pattern, allowOverwrite); } -/* Slot 132 */ +/* Slot 128 */ void Tcl_PopCallFrame(interp) Tcl_Interp* interp; @@ -1291,7 +1263,7 @@ Tcl_PopCallFrame(interp) (tclIntStubsPtr->tcl_PopCallFrame)(interp); } -/* Slot 133 */ +/* Slot 129 */ int Tcl_PushCallFrame(interp, framePtr, nsPtr, isProcCallFrame) Tcl_Interp* interp; @@ -1302,7 +1274,7 @@ Tcl_PushCallFrame(interp, framePtr, nsPtr, isProcCallFrame) return (tclIntStubsPtr->tcl_PushCallFrame)(interp, framePtr, nsPtr, isProcCallFrame); } -/* Slot 134 */ +/* Slot 130 */ int Tcl_RemoveInterpResolvers(interp, name) Tcl_Interp * interp; @@ -1311,7 +1283,7 @@ Tcl_RemoveInterpResolvers(interp, name) return (tclIntStubsPtr->tcl_RemoveInterpResolvers)(interp, name); } -/* Slot 135 */ +/* Slot 131 */ void Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc) Tcl_Namespace * namespacePtr; @@ -1322,127 +1294,7 @@ Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc) (tclIntStubsPtr->tcl_SetNamespaceResolvers)(namespacePtr, cmdProc, varProc, compiledVarProc); } -/* Slot 136 */ -int -TclCompileBreakCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileBreakCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 137 */ -int -TclCompileCatchCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileCatchCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 138 */ -int -TclCompileContinueCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileContinueCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 139 */ -int -TclCompileExprCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileExprCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 140 */ -int -TclCompileForCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileForCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 141 */ -int -TclCompileForeachCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileForeachCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 142 */ -int -TclCompileIfCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileIfCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 143 */ -int -TclCompileIncrCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileIncrCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 144 */ -int -TclCompileSetCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileSetCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 145 */ -int -TclCompileWhileCmd(interp, string, lastChar, compileFlags, compileEnvPtr) - Tcl_Interp * interp; - char * string; - char * lastChar; - int compileFlags; - struct CompileEnv * compileEnvPtr; -{ - return (tclIntStubsPtr->tclCompileWhileCmd)(interp, string, lastChar, compileFlags, compileEnvPtr); -} - -/* Slot 146 */ +/* Slot 132 */ int TclHasSockets(interp) Tcl_Interp * interp; @@ -1450,7 +1302,7 @@ TclHasSockets(interp) return (tclIntStubsPtr->tclHasSockets)(interp); } -/* Slot 147 */ +/* Slot 133 */ struct tm * TclpGetDate(time, useGMT) TclpTime_t time; @@ -1459,7 +1311,7 @@ TclpGetDate(time, useGMT) return (tclIntStubsPtr->tclpGetDate)(time, useGMT); } -/* Slot 148 */ +/* Slot 134 */ size_t TclStrftime(s, maxsize, format, t) char * s; @@ -1470,7 +1322,7 @@ TclStrftime(s, maxsize, format, t) return (tclIntStubsPtr->tclStrftime)(s, maxsize, format, t); } -/* Slot 149 */ +/* Slot 135 */ int TclpCheckStackSpace() { diff --git a/generic/tclObj.c b/generic/tclObj.c index 83a05df..b053296 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclObj.c,v 1.3 1998/10/05 22:32:09 escoffon Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.4 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -129,6 +129,7 @@ InitTypeTable() Tcl_InitHashTable(&typeTable, TCL_STRING_KEYS); Tcl_RegisterObjType(&tclBooleanType); + Tcl_RegisterObjType(&tclByteArrayType); Tcl_RegisterObjType(&tclDoubleType); Tcl_RegisterObjType(&tclIntType); Tcl_RegisterObjType(&tclStringType); diff --git a/generic/tclPkg.c b/generic/tclPkg.c index 883b092..97a99e8 100644 --- a/generic/tclPkg.c +++ b/generic/tclPkg.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclPkg.c,v 1.2 1998/09/14 18:40:01 stanton Exp $ + * RCS: @(#) $Id: tclPkg.c,v 1.3 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -43,6 +43,7 @@ typedef struct Package { * exist in this interpreter yet. */ PkgAvail *availPtr; /* First in list of all available versions * of this package. */ + ClientData clientData; /* Client data. */ } Package; /* @@ -59,7 +60,7 @@ static Package * FindPackage _ANSI_ARGS_((Tcl_Interp *interp, /* *---------------------------------------------------------------------- * - * Tcl_PkgProvide -- + * Tcl_PkgProvide / Tcl_PkgProvideEx -- * * This procedure is invoked to declare that a particular version * of a particular package is now present in an interpreter. There @@ -86,12 +87,25 @@ Tcl_PkgProvide(interp, name, version) char *name; /* Name of package. */ char *version; /* Version string for package. */ { + return Tcl_PkgProvideEx(interp, name, version, (ClientData) NULL); +} + +int +Tcl_PkgProvideEx(interp, name, version, clientData) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of package. */ + char *version; /* Version string for package. */ + ClientData clientData; /* clientdata for this package (normally + * used for C callback function table) */ +{ Package *pkgPtr; pkgPtr = FindPackage(interp, name); if (pkgPtr->version == NULL) { pkgPtr->version = ckalloc((unsigned) (strlen(version) + 1)); strcpy(pkgPtr->version, version); + pkgPtr->clientData = clientData; return TCL_OK; } if (ComparePkgVersions(pkgPtr->version, version, (int *) NULL) == 0) { @@ -105,7 +119,7 @@ Tcl_PkgProvide(interp, name, version) /* *---------------------------------------------------------------------- * - * Tcl_PkgRequire -- + * Tcl_PkgRequire / Tcl_PkgRequireEx -- * * This procedure is called by code that depends on a particular * version of a particular package. If the package is not already @@ -143,6 +157,25 @@ Tcl_PkgRequire(interp, name, version, exact) * version given is acceptable. Zero means * use the latest compatible version. */ { + return Tcl_PkgRequireEx(interp, name, version, exact, (ClientData *) NULL); +} + +char * +Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ + ClientData *clientDataPtr; /* Used to return the client data for this + * package. If it is NULL then the client + * data is not returned. This is unchanged + * if this call fails for any reason. */ +{ Package *pkgPtr; PkgAvail *availPtr, *bestPtr; char *script; @@ -150,6 +183,22 @@ Tcl_PkgRequire(interp, name, version, exact) Tcl_DString command; /* + * If an attempt is being made to load this into a standalong executable + * on a platform where backlinking is not supported then this must be + * a shared version of Tcl (Otherwise the load would have failed). + * Detect this situation by checking that this library has been correctly + * initialised. If it has not been then return immediately as nothing will + * work. + */ + + if (!tclEmptyStringRep) { + Tcl_AppendResult(interp, "Cannot load package \"", name, + "\" in standalone executable: This package is not ", + "compiled with stub support", NULL); + return NULL; + } + + /* * It can take up to three passes to find the package: one pass to * run the "package unknown" script, one to run the "package ifneeded" * script for a specific version, and a final pass to lookup the @@ -253,15 +302,23 @@ Tcl_PkgRequire(interp, name, version, exact) } /* - * At this point we now that the package is present. Make sure that the + * At this point we know that the package is present. Make sure that the * provided version meets the current requirement. */ if (version == NULL) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + return pkgPtr->version; } result = ComparePkgVersions(pkgPtr->version, version, &satisfies); if ((satisfies && !exact) || (result == 0)) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + return pkgPtr->version; } Tcl_AppendResult(interp, "version conflict for package \"", @@ -273,6 +330,122 @@ Tcl_PkgRequire(interp, name, version, exact) /* *---------------------------------------------------------------------- * + * Tcl_PkgPresent / Tcl_PkgPresentEx -- + * + * Checks to see whether the specified package is present. If it + * is not then no additional action is taken. + * + * Results: + * If successful, returns the version string for the currently + * provided version of the package, which may be different from + * the "version" argument. If the caller's requirements + * cannot be met (e.g. the version requested conflicts with + * a currently provided version), NULL is returned and an error + * message is left in interp->result. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +char * +Tcl_PkgPresent(interp, name, version, exact) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ +{ + return Tcl_PkgPresentEx(interp, name, version, exact, (ClientData *) NULL); +} + +char * +Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) + Tcl_Interp *interp; /* Interpreter in which package is now + * available. */ + char *name; /* Name of desired package. */ + char *version; /* Version string for desired version; + * NULL means use the latest version + * available. */ + int exact; /* Non-zero means that only the particular + * version given is acceptable. Zero means + * use the latest compatible version. */ + ClientData *clientDataPtr; /* Used to return the client data for this + * package. If it is NULL then the client + * data is not returned. This is unchanged + * if this call fails for any reason. */ +{ + Interp *iPtr = (Interp *) interp; + Tcl_HashEntry *hPtr; + Package *pkgPtr; + int satisfies, result; + + /* + * If an attempt is being made to load this into a standalone executable + * on a platform where backlinking is not supported then this must be + * a shared version of Tcl (Otherwise the load would have failed). + * Detect this situation by checking that this library has been correctly + * initialised. If it has not been then return immediately as nothing will + * work. + */ + + if (!tclEmptyStringRep) { + Tcl_AppendResult(interp, "Cannot load package \"", name, + "\" in standalone executable: This package is not ", + "compiled with stub support", NULL); + return NULL; + } + + hPtr = Tcl_FindHashEntry(&iPtr->packageTable, name); + if (hPtr) { + pkgPtr = (Package *) Tcl_GetHashValue(hPtr); + if (pkgPtr->version != NULL) { + + /* + * At this point we know that the package is present. Make sure + * that the provided version meets the current requirement. + */ + + if (version == NULL) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + + return pkgPtr->version; + } + result = ComparePkgVersions(pkgPtr->version, version, &satisfies); + if ((satisfies && !exact) || (result == 0)) { + if (clientDataPtr) { + *clientDataPtr = pkgPtr->clientData; + } + + return pkgPtr->version; + } + Tcl_AppendResult(interp, "version conflict for package \"", + name, "\": have ", pkgPtr->version, + ", need ", version, (char *) NULL); + return NULL; + } + } + + if (version != NULL) { + Tcl_AppendResult(interp, "package ", name, " ", version, + " is not present", (char *) NULL); + } else { + Tcl_AppendResult(interp, "package ", name, " is not present", + (char *) NULL); + } + return NULL; +} + +/* + *---------------------------------------------------------------------- + * * Tcl_PackageCmd -- * * This procedure is invoked to process the "package" Tcl command. @@ -394,7 +567,35 @@ Tcl_PackageCmd(dummy, interp, argc, argv) Tcl_AppendElement(interp, Tcl_GetHashKey(tablePtr, hPtr)); } } - } else if ((c == 'p') && (strncmp(argv[1], "provide", length) == 0)) { + } else if ((c == 'p') && (strncmp(argv[1], "present", length) == 0) + && (length >=3)) { + if (argc < 3) { + presentSyntax: + Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], + " present ?-exact? package ?version?\"", (char *) NULL); + return TCL_ERROR; + } + if ((argv[2][0] == '-') && (strcmp(argv[2], "-exact") == 0)) { + exact = 1; + } else { + exact = 0; + } + version = NULL; + if (argc == (4+exact)) { + version = argv[3+exact]; + if (CheckVersion(interp, version) != TCL_OK) { + return TCL_ERROR; + } + } else if ((argc != 3) || exact) { + goto presentSyntax; + } + version = Tcl_PkgPresent(interp, argv[2+exact], version, exact); + if (version == NULL) { + return TCL_ERROR; + } + Tcl_SetResult(interp, version, TCL_VOLATILE); + } else if ((c == 'p') && (strncmp(argv[1], "provide", length) == 0) + && (length >=3)) { if ((argc != 3) && (argc != 4)) { Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " provide package ?version?\"", (char *) NULL); @@ -506,7 +707,7 @@ Tcl_PackageCmd(dummy, interp, argc, argv) } else { Tcl_AppendResult(interp, "bad option \"", argv[1], "\": should be forget, ifneeded, names, ", - "provide, require, unknown, vcompare, ", + "present, provide, require, unknown, vcompare, ", "versions, or vsatisfies", (char *) NULL); return TCL_ERROR; } @@ -547,6 +748,7 @@ FindPackage(interp, name) pkgPtr = (Package *) ckalloc(sizeof(Package)); pkgPtr->version = NULL; pkgPtr->availPtr = NULL; + pkgPtr->clientData = NULL; Tcl_SetHashValue(hPtr, pkgPtr); } else { pkgPtr = (Package *) Tcl_GetHashValue(hPtr); diff --git a/generic/tclPlatDecls.h b/generic/tclPlatDecls.h index acaf3f2..9df194d 100644 --- a/generic/tclPlatDecls.h +++ b/generic/tclPlatDecls.h @@ -5,17 +5,6 @@ * Exported function declarations: */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -/* 0 */ -EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, - Tcl_FileProc * proc, ClientData clientData)); -/* 1 */ -EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); -/* 2 */ -EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp * interp, - char * string, int write, int checkUsage, - ClientData * filePtr)); -#endif /* UNIX */ #ifdef MAC_TCL /* 0 */ EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_(( @@ -53,11 +42,6 @@ typedef struct TclPlatStubs { int magic; struct TclPlatStubHooks *hooks; -#if !defined(__WIN32__) && !defined(MAC_TCL) - void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 0 */ - void (*tcl_DeleteFileHandler) _ANSI_ARGS_((int fd)); /* 1 */ - int (*tcl_GetOpenFile) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int write, int checkUsage, ClientData * filePtr)); /* 2 */ -#endif /* UNIX */ #ifdef MAC_TCL void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */ char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */ @@ -79,20 +63,6 @@ extern TclPlatStubs *tclPlatStubsPtr; * Inline function declarations: */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -#ifndef Tcl_CreateFileHandler -#define Tcl_CreateFileHandler(fd, mask, proc, clientData) \ - (tclPlatStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData) /* 0 */ -#endif -#ifndef Tcl_DeleteFileHandler -#define Tcl_DeleteFileHandler(fd) \ - (tclPlatStubsPtr->tcl_DeleteFileHandler)(fd) /* 1 */ -#endif -#ifndef Tcl_GetOpenFile -#define Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr) \ - (tclPlatStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr) /* 2 */ -#endif -#endif /* UNIX */ #ifdef MAC_TCL #ifndef Tcl_MacSetEventProc #define Tcl_MacSetEventProc(procPtr) \ diff --git a/generic/tclPlatStubs.c b/generic/tclPlatStubs.c index 5e82128..7901c5d 100644 --- a/generic/tclPlatStubs.c +++ b/generic/tclPlatStubs.c @@ -7,7 +7,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclPlatStubs.c,v 1.2 1999/03/04 01:01:59 stanton Exp $ + * RCS: @(#) $Id: tclPlatStubs.c,v 1.3 1999/03/10 05:52:49 stanton Exp $ */ #include "tcl.h" @@ -24,39 +24,6 @@ * Exported stub functions: */ -#if !defined(__WIN32__) && !defined(MAC_TCL) -/* Slot 0 */ -void -Tcl_CreateFileHandler(fd, mask, proc, clientData) - int fd; - int mask; - Tcl_FileProc * proc; - ClientData clientData; -{ - (tclPlatStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData); -} - -/* Slot 1 */ -void -Tcl_DeleteFileHandler(fd) - int fd; -{ - (tclPlatStubsPtr->tcl_DeleteFileHandler)(fd); -} - -/* Slot 2 */ -int -Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr) - Tcl_Interp * interp; - char * string; - int write; - int checkUsage; - ClientData * filePtr; -{ - return (tclPlatStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr); -} - -#endif /* UNIX */ #ifdef MAC_TCL /* Slot 0 */ void diff --git a/generic/tclProc.c b/generic/tclProc.c index 34c6ce6..d9f5f58 100644 --- a/generic/tclProc.c +++ b/generic/tclProc.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclProc.c,v 1.17 1999/02/03 00:55:06 stanton Exp $ + * RCS: @(#) $Id: tclProc.c,v 1.18 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -185,7 +185,7 @@ TclCreateProc(interp, nsPtr, procName, argsPtr, bodyPtr, procPtrPtr) register Proc *procPtr; int i, length, result, numArgs; char *args, *bytes, *p; - register CompiledLocal *localPtr; + register CompiledLocal *localPtr = NULL; Tcl_Obj *defPtr; int precompiled = 0; diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 1bb11d9..409b983 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStringObj.c,v 1.2 1998/09/14 18:40:02 stanton Exp $ + * RCS: @(#) $Id: tclStringObj.c,v 1.3 1999/03/10 05:52:49 stanton Exp $ */ #include "tclInt.h" @@ -363,7 +363,7 @@ Tcl_AppendToObj(objPtr, bytes, length) /* *---------------------------------------------------------------------- * - * Tcl_AppendStringsToObj -- + * Tcl_AppendStringsToObjVA -- * * This procedure appends one or more null-terminated strings * to an object. @@ -379,14 +379,14 @@ Tcl_AppendToObj(objPtr, bytes, length) */ void -Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) +Tcl_AppendStringsToObjVA (objPtr, argList) + register Tcl_Obj *objPtr; /* Points to the object to append to. */ + va_list argList; /* Variable argument list. */ { - va_list argList; - register Tcl_Obj *objPtr; + va_list tmpArgList; int newLength, oldLength; register char *string, *dst; - objPtr = (Tcl_Obj *) TCL_VARARGS_START(Tcl_Obj *,arg1,argList); if (Tcl_IsShared(objPtr)) { panic("Tcl_AppendStringsToObj called with shared object"); } @@ -400,9 +400,10 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) * bytes would be appended, just return. */ + tmpArgList = argList; newLength = oldLength = objPtr->length; while (1) { - string = va_arg(argList, char *); + string = va_arg(tmpArgList, char *); if (string == NULL) { break; } @@ -430,7 +431,6 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) * strings to the object. */ - TCL_VARARGS_START(Tcl_Obj *,arg1,argList); dst = objPtr->bytes + oldLength; while (1) { string = va_arg(argList, char *); @@ -455,6 +455,34 @@ Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) *dst = 0; } objPtr->length = newLength; +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_AppendStringsToObj -- + * + * This procedure appends one or more null-terminated strings + * to an object. + * + * Results: + * None. + * + * Side effects: + * The contents of all the string arguments are appended to the + * string representation of objPtr. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,arg1) +{ + register Tcl_Obj *objPtr; + va_list argList; + + objPtr = TCL_VARARGS_START(Tcl_Obj *,arg1,argList); + Tcl_AppendStringsToObjVA(objPtr, argList); va_end(argList); } diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 4bef701..902f528 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -8,11 +8,12 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStubInit.c,v 1.2 1999/03/04 01:01:59 stanton Exp $ + * RCS: @(#) $Id: tclStubInit.c,v 1.3 1999/03/10 05:52:50 stanton Exp $ */ #include "tclInt.h" #include "tclPort.h" +#include "tclCompile.h" /* * Remove macros that will interfere with the definitions below. @@ -45,284 +46,312 @@ static TclStubHooks tclStubHooks; TclStubs tclStubs = { TCL_STUB_MAGIC, &tclStubHooks, - Tcl_AddErrorInfo, /* 0 */ - Tcl_AddObjErrorInfo, /* 1 */ - Tcl_Alloc, /* 2 */ - Tcl_AllowExceptions, /* 3 */ - Tcl_AppendAllObjTypes, /* 4 */ - Tcl_AppendElement, /* 5 */ - Tcl_AppendResult, /* 6 */ - Tcl_AppendResultVA, /* 7 */ - Tcl_AppendToObj, /* 8 */ - Tcl_AppendStringsToObj, /* 9 */ - Tcl_AppendStringsToObjVA, /* 10 */ - Tcl_AsyncCreate, /* 11 */ - Tcl_AsyncDelete, /* 12 */ - Tcl_AsyncInvoke, /* 13 */ - Tcl_AsyncMark, /* 14 */ - Tcl_AsyncReady, /* 15 */ - Tcl_BackgroundError, /* 16 */ - Tcl_Backslash, /* 17 */ - Tcl_BadChannelOption, /* 18 */ - Tcl_CallWhenDeleted, /* 19 */ - Tcl_CancelIdleCall, /* 20 */ - Tcl_Close, /* 21 */ - Tcl_CommandComplete, /* 22 */ - Tcl_Concat, /* 23 */ - Tcl_ConcatObj, /* 24 */ - Tcl_ConvertCountedElement, /* 25 */ - Tcl_ConvertElement, /* 26 */ - Tcl_ConvertToType, /* 27 */ - Tcl_CreateAlias, /* 28 */ - Tcl_CreateAliasObj, /* 29 */ - Tcl_CreateChannel, /* 30 */ - Tcl_CreateChannelHandler, /* 31 */ - Tcl_CreateCloseHandler, /* 32 */ - Tcl_CreateCommand, /* 33 */ - Tcl_CreateEventSource, /* 34 */ - Tcl_CreateExitHandler, /* 35 */ - Tcl_CreateInterp, /* 36 */ - Tcl_CreateMathFunc, /* 37 */ - Tcl_CreateObjCommand, /* 38 */ - Tcl_CreateSlave, /* 39 */ - Tcl_CreateTimerHandler, /* 40 */ - Tcl_CreateTrace, /* 41 */ - Tcl_DbCkalloc, /* 42 */ - Tcl_DbCkfree, /* 43 */ - Tcl_DbCkrealloc, /* 44 */ - Tcl_DbDecrRefCount, /* 45 */ - Tcl_DbIncrRefCount, /* 46 */ - Tcl_DbIsShared, /* 47 */ - Tcl_DbNewBooleanObj, /* 48 */ - Tcl_DbNewByteArrayObj, /* 49 */ - Tcl_DbNewDoubleObj, /* 50 */ - Tcl_DbNewListObj, /* 51 */ - Tcl_DbNewLongObj, /* 52 */ - Tcl_DbNewObj, /* 53 */ - Tcl_DbNewStringObj, /* 54 */ - Tcl_DeleteAssocData, /* 55 */ - Tcl_DeleteCommand, /* 56 */ - Tcl_DeleteCommandFromToken, /* 57 */ - Tcl_DeleteChannelHandler, /* 58 */ - Tcl_DeleteCloseHandler, /* 59 */ - Tcl_DeleteEvents, /* 60 */ - Tcl_DeleteEventSource, /* 61 */ - Tcl_DeleteExitHandler, /* 62 */ - Tcl_DeleteHashEntry, /* 63 */ - Tcl_DeleteHashTable, /* 64 */ - Tcl_DeleteInterp, /* 65 */ - Tcl_DeleteTimerHandler, /* 66 */ - Tcl_DeleteTrace, /* 67 */ - Tcl_DetachPids, /* 68 */ - Tcl_DontCallWhenDeleted, /* 69 */ - Tcl_DoOneEvent, /* 70 */ - Tcl_DoWhenIdle, /* 71 */ - Tcl_DStringAppend, /* 72 */ - Tcl_DStringAppendElement, /* 73 */ - Tcl_DStringEndSublist, /* 74 */ - Tcl_DStringFree, /* 75 */ - Tcl_DStringGetResult, /* 76 */ - Tcl_DStringInit, /* 77 */ - Tcl_DStringResult, /* 78 */ - Tcl_DStringSetLength, /* 79 */ - Tcl_DStringStartSublist, /* 80 */ - Tcl_DumpActiveMemory, /* 81 */ - Tcl_DuplicateObj, /* 82 */ - Tcl_Eof, /* 83 */ - Tcl_ErrnoId, /* 84 */ - Tcl_ErrnoMsg, /* 85 */ - Tcl_Eval, /* 86 */ - Tcl_EvalFile, /* 87 */ - Tcl_EventuallyFree, /* 88 */ - Tcl_EvalObj, /* 89 */ - Tcl_Exit, /* 90 */ - Tcl_ExposeCommand, /* 91 */ - Tcl_ExprBoolean, /* 92 */ - Tcl_ExprBooleanObj, /* 93 */ - Tcl_ExprDouble, /* 94 */ - Tcl_ExprDoubleObj, /* 95 */ - Tcl_ExprLong, /* 96 */ - Tcl_ExprLongObj, /* 97 */ - Tcl_ExprObj, /* 98 */ - Tcl_ExprString, /* 99 */ - Tcl_Finalize, /* 100 */ - Tcl_FindExecutable, /* 101 */ - Tcl_FirstHashEntry, /* 102 */ - Tcl_Flush, /* 103 */ - Tcl_Free, /* 104 */ - TclFreeObj, /* 105 */ - Tcl_FreeResult, /* 106 */ - Tcl_GetAlias, /* 107 */ - Tcl_GetAliasObj, /* 108 */ - Tcl_GetAssocData, /* 109 */ - Tcl_GetBoolean, /* 110 */ - Tcl_GetBooleanFromObj, /* 111 */ - Tcl_GetByteArrayFromObj, /* 112 */ - Tcl_GetChannel, /* 113 */ - Tcl_GetChannelBufferSize, /* 114 */ - Tcl_GetChannelHandle, /* 115 */ - Tcl_GetChannelInstanceData, /* 116 */ - Tcl_GetChannelMode, /* 117 */ - Tcl_GetChannelName, /* 118 */ - Tcl_GetChannelOption, /* 119 */ - Tcl_GetChannelType, /* 120 */ - Tcl_GetCommandInfo, /* 121 */ - Tcl_GetCommandName, /* 122 */ - Tcl_GetDouble, /* 123 */ - Tcl_GetDoubleFromObj, /* 124 */ - Tcl_GetErrno, /* 125 */ - Tcl_GetHostName, /* 126 */ - Tcl_GetIndexFromObj, /* 127 */ - Tcl_GetInt, /* 128 */ - Tcl_GetInterpPath, /* 129 */ - Tcl_GetIntFromObj, /* 130 */ - Tcl_GetLongFromObj, /* 131 */ - Tcl_GetMaster, /* 132 */ - Tcl_GetNameOfExecutable, /* 133 */ - Tcl_GetObjResult, /* 134 */ - Tcl_GetObjType, /* 135 */ - Tcl_GetPathType, /* 136 */ - Tcl_Gets, /* 137 */ - Tcl_GetsObj, /* 138 */ - Tcl_GetServiceMode, /* 139 */ - Tcl_GetSlave, /* 140 */ - Tcl_GetStdChannel, /* 141 */ - Tcl_GetStringFromObj, /* 142 */ - Tcl_GetStringResult, /* 143 */ - Tcl_GetVar, /* 144 */ - Tcl_GetVar2, /* 145 */ - Tcl_GlobalEval, /* 146 */ - Tcl_GlobalEvalObj, /* 147 */ - Tcl_HashStats, /* 148 */ - Tcl_HideCommand, /* 149 */ - Tcl_Init, /* 150 */ - Tcl_InitHashTable, /* 151 */ - Tcl_InputBlocked, /* 152 */ - Tcl_InputBuffered, /* 153 */ - Tcl_InterpDeleted, /* 154 */ - Tcl_IsSafe, /* 155 */ - Tcl_InvalidateStringRep, /* 156 */ - Tcl_JoinPath, /* 157 */ - Tcl_LinkVar, /* 158 */ - Tcl_ListObjAppendList, /* 159 */ - Tcl_ListObjAppendElement, /* 160 */ - Tcl_ListObjGetElements, /* 161 */ - Tcl_ListObjIndex, /* 162 */ - Tcl_ListObjLength, /* 163 */ - Tcl_ListObjReplace, /* 164 */ - Tcl_MakeFileChannel, /* 165 */ - Tcl_MakeSafe, /* 166 */ - Tcl_MakeTcpClientChannel, /* 167 */ - Tcl_Merge, /* 168 */ - Tcl_NewBooleanObj, /* 169 */ - Tcl_NewByteArrayObj, /* 170 */ - Tcl_NewDoubleObj, /* 171 */ - Tcl_NewIntObj, /* 172 */ - Tcl_NewListObj, /* 173 */ - Tcl_NewLongObj, /* 174 */ - Tcl_NewObj, /* 175 */ - Tcl_NewStringObj, /* 176 */ - Tcl_NextHashEntry, /* 177 */ - Tcl_NotifyChannel, /* 178 */ - Tcl_ObjGetVar2, /* 179 */ - Tcl_ObjSetVar2, /* 180 */ - Tcl_OpenCommandChannel, /* 181 */ - Tcl_OpenFileChannel, /* 182 */ - Tcl_OpenTcpClient, /* 183 */ - Tcl_OpenTcpServer, /* 184 */ - panic, /* 185 */ - panicVA, /* 186 */ - Tcl_ParseVar, /* 187 */ - Tcl_PkgPresent, /* 188 */ - Tcl_PkgPresentEx, /* 189 */ - Tcl_PkgProvide, /* 190 */ - Tcl_PkgProvideEx, /* 191 */ - Tcl_PkgRequire, /* 192 */ - Tcl_PkgRequireEx, /* 193 */ - Tcl_PosixError, /* 194 */ - Tcl_Preserve, /* 195 */ - Tcl_PrintDouble, /* 196 */ - Tcl_PutEnv, /* 197 */ - Tcl_QueueEvent, /* 198 */ - Tcl_Read, /* 199 */ - Tcl_Realloc, /* 200 */ - Tcl_ReapDetachedProcs, /* 201 */ - Tcl_RecordAndEval, /* 202 */ - Tcl_RecordAndEvalObj, /* 203 */ - Tcl_RegExpCompile, /* 204 */ - Tcl_RegExpExec, /* 205 */ - Tcl_RegExpMatch, /* 206 */ - Tcl_RegExpRange, /* 207 */ - Tcl_RegisterChannel, /* 208 */ - Tcl_RegisterObjType, /* 209 */ - Tcl_Release, /* 210 */ - Tcl_ResetResult, /* 211 */ - Tcl_ScanCountedElement, /* 212 */ - Tcl_ScanElement, /* 213 */ - Tcl_Seek, /* 214 */ - Tcl_ServiceAll, /* 215 */ - Tcl_ServiceEvent, /* 216 */ - Tcl_SetAssocData, /* 217 */ - Tcl_SetBooleanObj, /* 218 */ - Tcl_SetByteArrayLength, /* 219 */ - Tcl_SetByteArrayObj, /* 220 */ - Tcl_SetChannelBufferSize, /* 221 */ - Tcl_SetChannelOption, /* 222 */ - Tcl_SetCommandInfo, /* 223 */ - Tcl_SetDoubleObj, /* 224 */ - Tcl_SetErrno, /* 225 */ - Tcl_SetErrorCode, /* 226 */ - Tcl_SetErrorCodeVA, /* 227 */ - Tcl_SetIntObj, /* 228 */ - Tcl_SetListObj, /* 229 */ - Tcl_SetLongObj, /* 230 */ - Tcl_SetMaxBlockTime, /* 231 */ - Tcl_SetObjErrorCode, /* 232 */ - Tcl_SetObjLength, /* 233 */ - Tcl_SetObjResult, /* 234 */ - Tcl_SetPanicProc, /* 235 */ - Tcl_SetRecursionLimit, /* 236 */ - Tcl_SetResult, /* 237 */ - Tcl_SetServiceMode, /* 238 */ - Tcl_SetStdChannel, /* 239 */ - Tcl_SetStringObj, /* 240 */ - Tcl_SetTimer, /* 241 */ - Tcl_SetVar, /* 242 */ - Tcl_SetVar2, /* 243 */ - Tcl_SignalId, /* 244 */ - Tcl_SignalMsg, /* 245 */ - Tcl_Sleep, /* 246 */ - Tcl_SourceRCFile, /* 247 */ - Tcl_SplitList, /* 248 */ - Tcl_SplitPath, /* 249 */ - Tcl_StaticPackage, /* 250 */ - Tcl_StringMatch, /* 251 */ - Tcl_Tell, /* 252 */ - Tcl_TraceVar, /* 253 */ - Tcl_TraceVar2, /* 254 */ - Tcl_TranslateFileName, /* 255 */ - Tcl_Ungets, /* 256 */ - Tcl_UnlinkVar, /* 257 */ - Tcl_UnregisterChannel, /* 258 */ - Tcl_UnsetVar, /* 259 */ - Tcl_UnsetVar2, /* 260 */ - Tcl_UntraceVar, /* 261 */ - Tcl_UntraceVar2, /* 262 */ - Tcl_UpdateLinkedVar, /* 263 */ - Tcl_UpVar, /* 264 */ - Tcl_UpVar2, /* 265 */ + Tcl_PkgProvideEx, /* 0 */ + Tcl_PkgRequireEx, /* 1 */ + panic, /* 2 */ + Tcl_Alloc, /* 3 */ + Tcl_Free, /* 4 */ + Tcl_Realloc, /* 5 */ + Tcl_DbCkalloc, /* 6 */ + Tcl_DbCkfree, /* 7 */ + Tcl_DbCkrealloc, /* 8 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + Tcl_CreateFileHandler, /* 9 */ +#endif /* UNIX */ +#ifdef __WIN32__ + NULL, /* 9 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + NULL, /* 9 */ +#endif /* MAC_TCL */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + Tcl_DeleteFileHandler, /* 10 */ +#endif /* UNIX */ +#ifdef __WIN32__ + NULL, /* 10 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + NULL, /* 10 */ +#endif /* MAC_TCL */ + Tcl_SetTimer, /* 11 */ + Tcl_Sleep, /* 12 */ + Tcl_WaitForEvent, /* 13 */ + Tcl_AppendAllObjTypes, /* 14 */ + Tcl_AppendStringsToObj, /* 15 */ + Tcl_AppendToObj, /* 16 */ + Tcl_ConcatObj, /* 17 */ + Tcl_ConvertToType, /* 18 */ + Tcl_DbDecrRefCount, /* 19 */ + Tcl_DbIncrRefCount, /* 20 */ + Tcl_DbIsShared, /* 21 */ + Tcl_DbNewBooleanObj, /* 22 */ + Tcl_DbNewByteArrayObj, /* 23 */ + Tcl_DbNewDoubleObj, /* 24 */ + Tcl_DbNewListObj, /* 25 */ + Tcl_DbNewLongObj, /* 26 */ + Tcl_DbNewObj, /* 27 */ + Tcl_DbNewStringObj, /* 28 */ + Tcl_DuplicateObj, /* 29 */ + TclFreeObj, /* 30 */ + Tcl_GetBoolean, /* 31 */ + Tcl_GetBooleanFromObj, /* 32 */ + Tcl_GetByteArrayFromObj, /* 33 */ + Tcl_GetDouble, /* 34 */ + Tcl_GetDoubleFromObj, /* 35 */ + Tcl_GetIndexFromObj, /* 36 */ + Tcl_GetInt, /* 37 */ + Tcl_GetIntFromObj, /* 38 */ + Tcl_GetLongFromObj, /* 39 */ + Tcl_GetObjType, /* 40 */ + Tcl_GetStringFromObj, /* 41 */ + Tcl_InvalidateStringRep, /* 42 */ + Tcl_ListObjAppendList, /* 43 */ + Tcl_ListObjAppendElement, /* 44 */ + Tcl_ListObjGetElements, /* 45 */ + Tcl_ListObjIndex, /* 46 */ + Tcl_ListObjLength, /* 47 */ + Tcl_ListObjReplace, /* 48 */ + Tcl_NewBooleanObj, /* 49 */ + Tcl_NewByteArrayObj, /* 50 */ + Tcl_NewDoubleObj, /* 51 */ + Tcl_NewIntObj, /* 52 */ + Tcl_NewListObj, /* 53 */ + Tcl_NewLongObj, /* 54 */ + Tcl_NewObj, /* 55 */ + Tcl_NewStringObj, /* 56 */ + Tcl_SetBooleanObj, /* 57 */ + Tcl_SetByteArrayLength, /* 58 */ + Tcl_SetByteArrayObj, /* 59 */ + Tcl_SetDoubleObj, /* 60 */ + Tcl_SetIntObj, /* 61 */ + Tcl_SetListObj, /* 62 */ + Tcl_SetLongObj, /* 63 */ + Tcl_SetObjLength, /* 64 */ + Tcl_SetStringObj, /* 65 */ + Tcl_AddErrorInfo, /* 66 */ + Tcl_AddObjErrorInfo, /* 67 */ + Tcl_AllowExceptions, /* 68 */ + Tcl_AppendElement, /* 69 */ + Tcl_AppendResult, /* 70 */ + Tcl_AsyncCreate, /* 71 */ + Tcl_AsyncDelete, /* 72 */ + Tcl_AsyncInvoke, /* 73 */ + Tcl_AsyncMark, /* 74 */ + Tcl_AsyncReady, /* 75 */ + Tcl_BackgroundError, /* 76 */ + Tcl_Backslash, /* 77 */ + Tcl_BadChannelOption, /* 78 */ + Tcl_CallWhenDeleted, /* 79 */ + Tcl_CancelIdleCall, /* 80 */ + Tcl_Close, /* 81 */ + Tcl_CommandComplete, /* 82 */ + Tcl_Concat, /* 83 */ + Tcl_ConvertElement, /* 84 */ + Tcl_ConvertCountedElement, /* 85 */ + Tcl_CreateAlias, /* 86 */ + Tcl_CreateAliasObj, /* 87 */ + Tcl_CreateChannel, /* 88 */ + Tcl_CreateChannelHandler, /* 89 */ + Tcl_CreateCloseHandler, /* 90 */ + Tcl_CreateCommand, /* 91 */ + Tcl_CreateEventSource, /* 92 */ + Tcl_CreateExitHandler, /* 93 */ + Tcl_CreateInterp, /* 94 */ + Tcl_CreateMathFunc, /* 95 */ + Tcl_CreateObjCommand, /* 96 */ + Tcl_CreateSlave, /* 97 */ + Tcl_CreateTimerHandler, /* 98 */ + Tcl_CreateTrace, /* 99 */ + Tcl_DeleteAssocData, /* 100 */ + Tcl_DeleteChannelHandler, /* 101 */ + Tcl_DeleteCloseHandler, /* 102 */ + Tcl_DeleteCommand, /* 103 */ + Tcl_DeleteCommandFromToken, /* 104 */ + Tcl_DeleteEvents, /* 105 */ + Tcl_DeleteEventSource, /* 106 */ + Tcl_DeleteExitHandler, /* 107 */ + Tcl_DeleteHashEntry, /* 108 */ + Tcl_DeleteHashTable, /* 109 */ + Tcl_DeleteInterp, /* 110 */ + Tcl_DetachPids, /* 111 */ + Tcl_DeleteTimerHandler, /* 112 */ + Tcl_DeleteTrace, /* 113 */ + Tcl_DontCallWhenDeleted, /* 114 */ + Tcl_DoOneEvent, /* 115 */ + Tcl_DoWhenIdle, /* 116 */ + Tcl_DStringAppend, /* 117 */ + Tcl_DStringAppendElement, /* 118 */ + Tcl_DStringEndSublist, /* 119 */ + Tcl_DStringFree, /* 120 */ + Tcl_DStringGetResult, /* 121 */ + Tcl_DStringInit, /* 122 */ + Tcl_DStringResult, /* 123 */ + Tcl_DStringSetLength, /* 124 */ + Tcl_DStringStartSublist, /* 125 */ + Tcl_Eof, /* 126 */ + Tcl_ErrnoId, /* 127 */ + Tcl_ErrnoMsg, /* 128 */ + Tcl_Eval, /* 129 */ + Tcl_EvalFile, /* 130 */ + Tcl_EvalObj, /* 131 */ + Tcl_EventuallyFree, /* 132 */ + Tcl_Exit, /* 133 */ + Tcl_ExposeCommand, /* 134 */ + Tcl_ExprBoolean, /* 135 */ + Tcl_ExprBooleanObj, /* 136 */ + Tcl_ExprDouble, /* 137 */ + Tcl_ExprDoubleObj, /* 138 */ + Tcl_ExprLong, /* 139 */ + Tcl_ExprLongObj, /* 140 */ + Tcl_ExprObj, /* 141 */ + Tcl_ExprString, /* 142 */ + Tcl_Finalize, /* 143 */ + Tcl_FindExecutable, /* 144 */ + Tcl_FirstHashEntry, /* 145 */ + Tcl_Flush, /* 146 */ + Tcl_FreeResult, /* 147 */ + Tcl_GetAlias, /* 148 */ + Tcl_GetAliasObj, /* 149 */ + Tcl_GetAssocData, /* 150 */ + Tcl_GetChannel, /* 151 */ + Tcl_GetChannelBufferSize, /* 152 */ + Tcl_GetChannelHandle, /* 153 */ + Tcl_GetChannelInstanceData, /* 154 */ + Tcl_GetChannelMode, /* 155 */ + Tcl_GetChannelName, /* 156 */ + Tcl_GetChannelOption, /* 157 */ + Tcl_GetChannelType, /* 158 */ + Tcl_GetCommandInfo, /* 159 */ + Tcl_GetCommandName, /* 160 */ + Tcl_GetErrno, /* 161 */ + Tcl_GetHostName, /* 162 */ + Tcl_GetInterpPath, /* 163 */ + Tcl_GetMaster, /* 164 */ + Tcl_GetNameOfExecutable, /* 165 */ + Tcl_GetObjResult, /* 166 */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + Tcl_GetOpenFile, /* 167 */ +#endif /* UNIX */ +#ifdef __WIN32__ + NULL, /* 167 */ +#endif /* __WIN32__ */ +#ifdef MAC_TCL + NULL, /* 167 */ +#endif /* MAC_TCL */ + Tcl_GetPathType, /* 168 */ + Tcl_Gets, /* 169 */ + Tcl_GetsObj, /* 170 */ + Tcl_GetServiceMode, /* 171 */ + Tcl_GetSlave, /* 172 */ + Tcl_GetStdChannel, /* 173 */ + Tcl_GetStringResult, /* 174 */ + Tcl_GetVar, /* 175 */ + Tcl_GetVar2, /* 176 */ + Tcl_GlobalEval, /* 177 */ + Tcl_GlobalEvalObj, /* 178 */ + Tcl_HideCommand, /* 179 */ + Tcl_Init, /* 180 */ + Tcl_InitHashTable, /* 181 */ + Tcl_InputBlocked, /* 182 */ + Tcl_InputBuffered, /* 183 */ + Tcl_InterpDeleted, /* 184 */ + Tcl_IsSafe, /* 185 */ + Tcl_JoinPath, /* 186 */ + Tcl_LinkVar, /* 187 */ + NULL, /* 188 */ + Tcl_MakeFileChannel, /* 189 */ + Tcl_MakeSafe, /* 190 */ + Tcl_MakeTcpClientChannel, /* 191 */ + Tcl_Merge, /* 192 */ + Tcl_NextHashEntry, /* 193 */ + Tcl_NotifyChannel, /* 194 */ + Tcl_ObjGetVar2, /* 195 */ + Tcl_ObjSetVar2, /* 196 */ + Tcl_OpenCommandChannel, /* 197 */ + Tcl_OpenFileChannel, /* 198 */ + Tcl_OpenTcpClient, /* 199 */ + Tcl_OpenTcpServer, /* 200 */ + Tcl_Preserve, /* 201 */ + Tcl_PrintDouble, /* 202 */ + Tcl_PutEnv, /* 203 */ + Tcl_PosixError, /* 204 */ + Tcl_QueueEvent, /* 205 */ + Tcl_Read, /* 206 */ + Tcl_ReapDetachedProcs, /* 207 */ + Tcl_RecordAndEval, /* 208 */ + Tcl_RecordAndEvalObj, /* 209 */ + Tcl_RegisterChannel, /* 210 */ + Tcl_RegisterObjType, /* 211 */ + Tcl_RegExpCompile, /* 212 */ + Tcl_RegExpExec, /* 213 */ + Tcl_RegExpMatch, /* 214 */ + Tcl_RegExpRange, /* 215 */ + Tcl_Release, /* 216 */ + Tcl_ResetResult, /* 217 */ + Tcl_ScanElement, /* 218 */ + Tcl_ScanCountedElement, /* 219 */ + Tcl_Seek, /* 220 */ + Tcl_ServiceAll, /* 221 */ + Tcl_ServiceEvent, /* 222 */ + Tcl_SetAssocData, /* 223 */ + Tcl_SetChannelBufferSize, /* 224 */ + Tcl_SetChannelOption, /* 225 */ + Tcl_SetCommandInfo, /* 226 */ + Tcl_SetErrno, /* 227 */ + Tcl_SetErrorCode, /* 228 */ + Tcl_SetMaxBlockTime, /* 229 */ + Tcl_SetPanicProc, /* 230 */ + Tcl_SetRecursionLimit, /* 231 */ + Tcl_SetResult, /* 232 */ + Tcl_SetServiceMode, /* 233 */ + Tcl_SetObjErrorCode, /* 234 */ + Tcl_SetObjResult, /* 235 */ + Tcl_SetStdChannel, /* 236 */ + Tcl_SetVar, /* 237 */ + Tcl_SetVar2, /* 238 */ + Tcl_SignalId, /* 239 */ + Tcl_SignalMsg, /* 240 */ + Tcl_SourceRCFile, /* 241 */ + Tcl_SplitList, /* 242 */ + Tcl_SplitPath, /* 243 */ + Tcl_StaticPackage, /* 244 */ + Tcl_StringMatch, /* 245 */ + Tcl_Tell, /* 246 */ + Tcl_TraceVar, /* 247 */ + Tcl_TraceVar2, /* 248 */ + Tcl_TranslateFileName, /* 249 */ + Tcl_Ungets, /* 250 */ + Tcl_UnlinkVar, /* 251 */ + Tcl_UnregisterChannel, /* 252 */ + Tcl_UnsetVar, /* 253 */ + Tcl_UnsetVar2, /* 254 */ + Tcl_UntraceVar, /* 255 */ + Tcl_UntraceVar2, /* 256 */ + Tcl_UpdateLinkedVar, /* 257 */ + Tcl_UpVar, /* 258 */ + Tcl_UpVar2, /* 259 */ + Tcl_VarEval, /* 260 */ + Tcl_VarTraceInfo, /* 261 */ + Tcl_VarTraceInfo2, /* 262 */ + Tcl_Write, /* 263 */ + Tcl_WrongNumArgs, /* 264 */ + Tcl_DumpActiveMemory, /* 265 */ Tcl_ValidateAllMemory, /* 266 */ - Tcl_VarEval, /* 267 */ - Tcl_VarEvalVA, /* 268 */ - Tcl_VarTraceInfo, /* 269 */ - Tcl_VarTraceInfo2, /* 270 */ - Tcl_WaitForEvent, /* 271 */ - Tcl_WaitPid, /* 272 */ - Tcl_Write, /* 273 */ - Tcl_WrongNumArgs, /* 274 */ + Tcl_AppendResultVA, /* 267 */ + Tcl_AppendStringsToObjVA, /* 268 */ + Tcl_HashStats, /* 269 */ + Tcl_ParseVar, /* 270 */ + Tcl_PkgPresent, /* 271 */ + Tcl_PkgPresentEx, /* 272 */ + Tcl_PkgProvide, /* 273 */ + Tcl_PkgRequire, /* 274 */ + Tcl_SetErrorCodeVA, /* 275 */ + Tcl_VarEvalVA, /* 276 */ + Tcl_WaitPid, /* 277 */ + panicVA, /* 278 */ }; -extern TclStubs *tclStubsPtr = &tclStubs; +TclStubs *tclStubsPtr = &tclStubs; TclIntStubs tclIntStubs = { TCL_STUB_MAGIC, @@ -349,141 +378,138 @@ TclIntStubs tclIntStubs = { TclFileDeleteCmd, /* 19 */ TclFileMakeDirsCmd, /* 20 */ TclFileRenameCmd, /* 21 */ - TclFinalizeCompExecEnv, /* 22 */ - TclFinalizeEnvironment, /* 23 */ - TclFinalizeExecEnv, /* 24 */ - TclFindElement, /* 25 */ - TclFindProc, /* 26 */ - TclFormatInt, /* 27 */ - TclFreePackageInfo, /* 28 */ - TclGetCwd, /* 29 */ - TclGetDate, /* 30 */ - TclGetDefaultStdChannel, /* 31 */ - TclGetElementOfIndexedArray, /* 32 */ - TclGetEnv, /* 33 */ - TclGetExtension, /* 34 */ - TclGetFrame, /* 35 */ - TclGetInterpProc, /* 36 */ - TclGetIntForIndex, /* 37 */ - TclGetIndexedScalar, /* 38 */ - TclGetLong, /* 39 */ - TclGetLoadedPackages, /* 40 */ - TclGetNamespaceForQualName, /* 41 */ - TclGetObjInterpProc, /* 42 */ - TclGetOpenMode, /* 43 */ - TclGetOriginalCommand, /* 44 */ - TclGetUserHome, /* 45 */ - TclGlobalInvoke, /* 46 */ - TclGuessPackageName, /* 47 */ - TclHideUnsafeCommands, /* 48 */ - TclInExit, /* 49 */ - TclIncrElementOfIndexedArray, /* 50 */ - TclIncrIndexedScalar, /* 51 */ - TclIncrVar2, /* 52 */ - TclInitCompiledLocals, /* 53 */ - TclInitNamespaces, /* 54 */ - TclInterpInit, /* 55 */ - TclInvoke, /* 56 */ - TclInvokeObjectCommand, /* 57 */ - TclInvokeStringCommand, /* 58 */ - TclIsProc, /* 59 */ - TclLoadFile, /* 60 */ - TclLooksLikeInt, /* 61 */ - TclLookupVar, /* 62 */ - TclMatchFiles, /* 63 */ - TclNeedSpace, /* 64 */ - TclNewProcBodyObj, /* 65 */ - TclObjCommandComplete, /* 66 */ - TclObjInterpProc, /* 67 */ - TclObjInvoke, /* 68 */ - TclObjInvokeGlobal, /* 69 */ - TclOpenFileChannelDeleteProc, /* 70 */ - TclOpenFileChannelInsertProc, /* 71 */ - TclpAccess, /* 72 */ - TclpAlloc, /* 73 */ - TclpCopyFile, /* 74 */ - TclpCopyDirectory, /* 75 */ - TclpCreateDirectory, /* 76 */ - TclpDeleteFile, /* 77 */ - TclpFree, /* 78 */ - TclpGetClicks, /* 79 */ - TclpGetSeconds, /* 80 */ - TclpGetTime, /* 81 */ - TclpGetTimeZone, /* 82 */ - TclpListVolumes, /* 83 */ - TclpOpenFileChannel, /* 84 */ - TclpRealloc, /* 85 */ - TclpRemoveDirectory, /* 86 */ - TclpRenameFile, /* 87 */ - TclParseBraces, /* 88 */ - TclParseNestedCmd, /* 89 */ - TclParseQuotes, /* 90 */ - TclPlatformInit, /* 91 */ - TclPrecTraceProc, /* 92 */ - TclPreventAliasLoop, /* 93 */ - TclPrintByteCodeObj, /* 94 */ - TclProcCleanupProc, /* 95 */ - TclProcCompileProc, /* 96 */ - TclProcDeleteProc, /* 97 */ - TclProcInterpProc, /* 98 */ - TclpStat, /* 99 */ - TclRenameCommand, /* 100 */ - TclResetShadowedCmdRefs, /* 101 */ - TclServiceIdle, /* 102 */ - TclSetElementOfIndexedArray, /* 103 */ - TclSetIndexedScalar, /* 104 */ - TclSetPreInitScript, /* 105 */ - TclSetupEnv, /* 106 */ - TclSockGetPort, /* 107 */ - TclSockMinimumBuffers, /* 108 */ - TclStat, /* 109 */ - TclStatDeleteProc, /* 110 */ - TclStatInsertProc, /* 111 */ - TclTeardownNamespace, /* 112 */ - TclUpdateReturnInfo, /* 113 */ - TclWordEnd, /* 114 */ - Tcl_AddInterpResolvers, /* 115 */ - Tcl_AppendExportList, /* 116 */ - Tcl_CreateNamespace, /* 117 */ - Tcl_DeleteNamespace, /* 118 */ - Tcl_Export, /* 119 */ - Tcl_FindCommand, /* 120 */ - Tcl_FindNamespace, /* 121 */ - Tcl_GetInterpResolvers, /* 122 */ - Tcl_GetNamespaceResolvers, /* 123 */ - Tcl_FindNamespaceVar, /* 124 */ - Tcl_ForgetImport, /* 125 */ - Tcl_GetCommandFromObj, /* 126 */ - Tcl_GetCommandFullName, /* 127 */ - Tcl_GetCurrentNamespace, /* 128 */ - Tcl_GetGlobalNamespace, /* 129 */ - Tcl_GetVariableFullName, /* 130 */ - Tcl_Import, /* 131 */ - Tcl_PopCallFrame, /* 132 */ - Tcl_PushCallFrame, /* 133 */ - Tcl_RemoveInterpResolvers, /* 134 */ - Tcl_SetNamespaceResolvers, /* 135 */ - TclCompileBreakCmd, /* 136 */ - TclCompileCatchCmd, /* 137 */ - TclCompileContinueCmd, /* 138 */ - TclCompileExprCmd, /* 139 */ - TclCompileForCmd, /* 140 */ - TclCompileForeachCmd, /* 141 */ - TclCompileIfCmd, /* 142 */ - TclCompileIncrCmd, /* 143 */ - TclCompileSetCmd, /* 144 */ - TclCompileWhileCmd, /* 145 */ - TclHasSockets, /* 146 */ - TclpGetDate, /* 147 */ - TclStrftime, /* 148 */ - TclpCheckStackSpace, /* 149 */ + TclFindElement, /* 22 */ + TclFindProc, /* 23 */ + TclFormatInt, /* 24 */ + TclFreePackageInfo, /* 25 */ + TclGetCwd, /* 26 */ + TclGetDate, /* 27 */ + TclGetDefaultStdChannel, /* 28 */ + TclGetElementOfIndexedArray, /* 29 */ + TclGetEnv, /* 30 */ + TclGetExtension, /* 31 */ + TclGetFrame, /* 32 */ + TclGetInterpProc, /* 33 */ + TclGetIntForIndex, /* 34 */ + TclGetIndexedScalar, /* 35 */ + TclGetLong, /* 36 */ + TclGetLoadedPackages, /* 37 */ + TclGetNamespaceForQualName, /* 38 */ + TclGetObjInterpProc, /* 39 */ + TclGetOpenMode, /* 40 */ + TclGetOriginalCommand, /* 41 */ + TclGetUserHome, /* 42 */ + TclGlobalInvoke, /* 43 */ + TclGuessPackageName, /* 44 */ + TclHideUnsafeCommands, /* 45 */ + TclInExit, /* 46 */ + TclIncrElementOfIndexedArray, /* 47 */ + TclIncrIndexedScalar, /* 48 */ + TclIncrVar2, /* 49 */ + TclInitCompiledLocals, /* 50 */ + TclInterpInit, /* 51 */ + TclInvoke, /* 52 */ + TclInvokeObjectCommand, /* 53 */ + TclInvokeStringCommand, /* 54 */ + TclIsProc, /* 55 */ + TclLoadFile, /* 56 */ + TclLooksLikeInt, /* 57 */ + TclLookupVar, /* 58 */ + TclMatchFiles, /* 59 */ + TclNeedSpace, /* 60 */ + TclNewProcBodyObj, /* 61 */ + TclObjCommandComplete, /* 62 */ + TclObjInterpProc, /* 63 */ + TclObjInvoke, /* 64 */ + TclObjInvokeGlobal, /* 65 */ + TclOpenFileChannelDeleteProc, /* 66 */ + TclOpenFileChannelInsertProc, /* 67 */ + TclpAccess, /* 68 */ + TclpAlloc, /* 69 */ + TclpCopyFile, /* 70 */ + TclpCopyDirectory, /* 71 */ + TclpCreateDirectory, /* 72 */ + TclpDeleteFile, /* 73 */ + TclpFree, /* 74 */ + TclpGetClicks, /* 75 */ + TclpGetSeconds, /* 76 */ + TclpGetTime, /* 77 */ + TclpGetTimeZone, /* 78 */ + TclpListVolumes, /* 79 */ + TclpOpenFileChannel, /* 80 */ + TclpRealloc, /* 81 */ + TclpRemoveDirectory, /* 82 */ + TclpRenameFile, /* 83 */ + TclParseBraces, /* 84 */ + TclParseNestedCmd, /* 85 */ + TclParseQuotes, /* 86 */ + TclPlatformInit, /* 87 */ + TclPrecTraceProc, /* 88 */ + TclPreventAliasLoop, /* 89 */ + TclPrintByteCodeObj, /* 90 */ + TclProcCleanupProc, /* 91 */ + TclProcCompileProc, /* 92 */ + TclProcDeleteProc, /* 93 */ + TclProcInterpProc, /* 94 */ + TclpStat, /* 95 */ + TclRenameCommand, /* 96 */ + TclResetShadowedCmdRefs, /* 97 */ + TclServiceIdle, /* 98 */ + TclSetElementOfIndexedArray, /* 99 */ + TclSetIndexedScalar, /* 100 */ + TclSetPreInitScript, /* 101 */ + TclSetupEnv, /* 102 */ + TclSockGetPort, /* 103 */ + TclSockMinimumBuffers, /* 104 */ + TclStat, /* 105 */ + TclStatDeleteProc, /* 106 */ + TclStatInsertProc, /* 107 */ + TclTeardownNamespace, /* 108 */ + TclUpdateReturnInfo, /* 109 */ + TclWordEnd, /* 110 */ + Tcl_AddInterpResolvers, /* 111 */ + Tcl_AppendExportList, /* 112 */ + Tcl_CreateNamespace, /* 113 */ + Tcl_DeleteNamespace, /* 114 */ + Tcl_Export, /* 115 */ + Tcl_FindCommand, /* 116 */ + Tcl_FindNamespace, /* 117 */ + Tcl_GetInterpResolvers, /* 118 */ + Tcl_GetNamespaceResolvers, /* 119 */ + Tcl_FindNamespaceVar, /* 120 */ + Tcl_ForgetImport, /* 121 */ + Tcl_GetCommandFromObj, /* 122 */ + Tcl_GetCommandFullName, /* 123 */ + Tcl_GetCurrentNamespace, /* 124 */ + Tcl_GetGlobalNamespace, /* 125 */ + Tcl_GetVariableFullName, /* 126 */ + Tcl_Import, /* 127 */ + Tcl_PopCallFrame, /* 128 */ + Tcl_PushCallFrame, /* 129 */ + Tcl_RemoveInterpResolvers, /* 130 */ + Tcl_SetNamespaceResolvers, /* 131 */ + TclHasSockets, /* 132 */ + TclpGetDate, /* 133 */ + TclStrftime, /* 134 */ + TclpCheckStackSpace, /* 135 */ }; -extern TclIntStubs *tclIntStubsPtr = &tclIntStubs; +TclIntStubs *tclIntStubsPtr = &tclIntStubs; TclIntPlatStubs tclIntPlatStubs = { TCL_STUB_MAGIC, NULL, +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ + TclGetAndDetachPids, /* 0 */ + TclpCloseFile, /* 1 */ + TclpCreateCommandChannel, /* 2 */ + TclpCreatePipe, /* 3 */ + TclpCreateProcess, /* 4 */ + TclpCreateTempFile, /* 5 */ + TclpMakeFile, /* 6 */ + TclpOpenFile, /* 7 */ + TclUnixWaitForFile, /* 8 */ +#endif /* UNIX */ #ifdef __WIN32__ TclWinConvertError, /* 0 */ TclWinConvertWSAError, /* 1 */ @@ -494,31 +520,18 @@ TclIntPlatStubs tclIntPlatStubs = { TclWinNToHS, /* 6 */ TclWinSetSockOpt, /* 7 */ TclpGetPid, /* 8 */ - TclpFinalize, /* 9 */ - TclWinGetPlatformId, /* 10 */ - TclWinInit, /* 11 */ - TclWinSynchSpawn, /* 12 */ - TclGetAndDetachPids, /* 13 */ - TclpCloseFile, /* 14 */ - TclpCreateCommandChannel, /* 15 */ - TclpCreatePipe, /* 16 */ - TclpCreateProcess, /* 17 */ - TclpCreateTempFile, /* 18 */ - TclpGetTZName, /* 19 */ - TclpMakeFile, /* 20 */ - TclpOpenFile, /* 21 */ + TclWinGetPlatformId, /* 9 */ + TclWinSynchSpawn, /* 10 */ + TclGetAndDetachPids, /* 11 */ + TclpCloseFile, /* 12 */ + TclpCreateCommandChannel, /* 13 */ + TclpCreatePipe, /* 14 */ + TclpCreateProcess, /* 15 */ + TclpCreateTempFile, /* 16 */ + TclpGetTZName, /* 17 */ + TclpMakeFile, /* 18 */ + TclpOpenFile, /* 19 */ #endif /* __WIN32__ */ -#if !defined(__WIN32__) && !defined(MAC_TCL) - TclGetAndDetachPids, /* 0 */ - TclpCloseFile, /* 1 */ - TclpCreateCommandChannel, /* 2 */ - TclpCreatePipe, /* 3 */ - TclpCreateProcess, /* 4 */ - TclpCreateTempFile, /* 5 */ - TclpMakeFile, /* 6 */ - TclpOpenFile, /* 7 */ - TclUnixWaitForFile, /* 8 */ -#endif /* UNIX */ #ifdef MAC_TCL TclpSysAlloc, /* 0 */ TclpSysFree, /* 1 */ @@ -549,16 +562,11 @@ TclIntPlatStubs tclIntPlatStubs = { #endif /* MAC_TCL */ }; -extern TclIntPlatStubs *tclIntPlatStubsPtr = &tclIntPlatStubs; +TclIntPlatStubs *tclIntPlatStubsPtr = &tclIntPlatStubs; TclPlatStubs tclPlatStubs = { TCL_STUB_MAGIC, NULL, -#if !defined(__WIN32__) && !defined(MAC_TCL) - Tcl_CreateFileHandler, /* 0 */ - Tcl_DeleteFileHandler, /* 1 */ - Tcl_GetOpenFile, /* 2 */ -#endif /* UNIX */ #ifdef MAC_TCL Tcl_MacSetEventProc, /* 0 */ Tcl_MacConvertTextResource, /* 1 */ @@ -572,7 +580,7 @@ TclPlatStubs tclPlatStubs = { #endif /* MAC_TCL */ }; -extern TclPlatStubs *tclPlatStubsPtr = &tclPlatStubs; +TclPlatStubs *tclPlatStubsPtr = &tclPlatStubs; static TclStubHooks tclStubHooks = { &tclPlatStubs, diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c index 65cdc97..6a3f308 100644 --- a/generic/tclStubLib.c +++ b/generic/tclStubLib.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStubLib.c,v 1.2 1999/03/04 00:54:07 stanton Exp $ + * RCS: @(#) $Id: tclStubLib.c,v 1.3 1999/03/10 05:52:50 stanton Exp $ */ /* @@ -20,7 +20,10 @@ * including the rest of the stub functions. */ -#undef TCL_NO_INLINES +#ifndef USE_TCL_STUBS +#define USE_TCL_STUBS +#endif +#undef USE_TCL_STUB_PROCS #include "tclInt.h" #include "tclPort.h" diff --git a/generic/tclStubs.c b/generic/tclStubs.c index eb1b729..f562016 100644 --- a/generic/tclStubs.c +++ b/generic/tclStubs.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStubs.c,v 1.2 1999/03/04 01:01:59 stanton Exp $ + * RCS: @(#) $Id: tclStubs.c,v 1.3 1999/03/10 05:52:50 stanton Exp $ */ #include "tcl.h" @@ -45,25 +45,42 @@ */ /* Slot 0 */ -void -Tcl_AddErrorInfo(interp, message) +int +Tcl_PkgProvideEx(interp, name, version, clientData) Tcl_Interp * interp; - char * message; + char * name; + char * version; + ClientData clientData; { - (tclStubsPtr->tcl_AddErrorInfo)(interp, message); + return (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData); } /* Slot 1 */ -void -Tcl_AddObjErrorInfo(interp, message, length) +char * +Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) Tcl_Interp * interp; - char * message; - int length; + char * name; + char * version; + int exact; + ClientData * clientDataPtr; { - (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length); + return (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr); } /* Slot 2 */ +void +panic TCL_VARARGS_DEF(char *,format) +{ + char * var; + va_list argList; + + var = (char *) TCL_VARARGS_START(char *,format,argList); + + (tclStubsPtr->panicVA)(var, argList); + va_end(argList); +} + +/* Slot 3 */ char * Tcl_Alloc(size) unsigned int size; @@ -71,15 +88,102 @@ Tcl_Alloc(size) return (tclStubsPtr->tcl_Alloc)(size); } -/* Slot 3 */ +/* Slot 4 */ void -Tcl_AllowExceptions(interp) - Tcl_Interp * interp; +Tcl_Free(ptr) + char * ptr; { - (tclStubsPtr->tcl_AllowExceptions)(interp); + (tclStubsPtr->tcl_Free)(ptr); } -/* Slot 4 */ +/* Slot 5 */ +char * +Tcl_Realloc(ptr, size) + char * ptr; + unsigned int size; +{ + return (tclStubsPtr->tcl_Realloc)(ptr, size); +} + +/* Slot 6 */ +char * +Tcl_DbCkalloc(size, file, line) + unsigned int size; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbCkalloc)(size, file, line); +} + +/* Slot 7 */ +int +Tcl_DbCkfree(ptr, file, line) + char * ptr; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbCkfree)(ptr, file, line); +} + +/* Slot 8 */ +char * +Tcl_DbCkrealloc(ptr, size, file, line) + char * ptr; + unsigned int size; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line); +} + +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* Slot 9 */ +void +Tcl_CreateFileHandler(fd, mask, proc, clientData) + int fd; + int mask; + Tcl_FileProc * proc; + ClientData clientData; +{ + (tclStubsPtr->tcl_CreateFileHandler)(fd, mask, proc, clientData); +} + +#endif /* UNIX */ +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* Slot 10 */ +void +Tcl_DeleteFileHandler(fd) + int fd; +{ + (tclStubsPtr->tcl_DeleteFileHandler)(fd); +} + +#endif /* UNIX */ +/* Slot 11 */ +void +Tcl_SetTimer(timePtr) + Tcl_Time * timePtr; +{ + (tclStubsPtr->tcl_SetTimer)(timePtr); +} + +/* Slot 12 */ +void +Tcl_Sleep(ms) + int ms; +{ + (tclStubsPtr->tcl_Sleep)(ms); +} + +/* Slot 13 */ +int +Tcl_WaitForEvent(timePtr) + Tcl_Time * timePtr; +{ + return (tclStubsPtr->tcl_WaitForEvent)(timePtr); +} + +/* Slot 14 */ int Tcl_AppendAllObjTypes(interp, objPtr) Tcl_Interp * interp; @@ -88,70 +192,548 @@ Tcl_AppendAllObjTypes(interp, objPtr) return (tclStubsPtr->tcl_AppendAllObjTypes)(interp, objPtr); } -/* Slot 5 */ +/* Slot 15 */ void -Tcl_AppendElement(interp, string) +Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,objPtr) +{ + Tcl_Obj * var; + va_list argList; + + var = (Tcl_Obj *) TCL_VARARGS_START(Tcl_Obj *,objPtr,argList); + + (tclStubsPtr->tcl_AppendStringsToObjVA)(var, argList); + va_end(argList); +} + +/* Slot 16 */ +void +Tcl_AppendToObj(objPtr, bytes, length) + Tcl_Obj * objPtr; + char * bytes; + int length; +{ + (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length); +} + +/* Slot 17 */ +Tcl_Obj * +Tcl_ConcatObj(objc, objv) + int objc; + Tcl_Obj *CONST objv[]; +{ + return (tclStubsPtr->tcl_ConcatObj)(objc, objv); +} + +/* Slot 18 */ +int +Tcl_ConvertToType(interp, objPtr, typePtr) Tcl_Interp * interp; - char * string; + Tcl_Obj * objPtr; + Tcl_ObjType * typePtr; { - (tclStubsPtr->tcl_AppendElement)(interp, string); + return (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr); } -/* Slot 6 */ +/* Slot 19 */ void -Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,interp) +Tcl_DbDecrRefCount(objPtr, file, line) + Tcl_Obj * objPtr; + char * file; + int line; { - Tcl_Interp * var; - va_list argList; + (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line); +} - var = (Tcl_Interp *) TCL_VARARGS_START(Tcl_Interp *,interp,argList); +/* Slot 20 */ +void +Tcl_DbIncrRefCount(objPtr, file, line) + Tcl_Obj * objPtr; + char * file; + int line; +{ + (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line); +} - (tclStubsPtr->tcl_AppendResultVA)(var, argList); - va_end(argList); +/* Slot 21 */ +int +Tcl_DbIsShared(objPtr, file, line) + Tcl_Obj * objPtr; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line); } -/* Slot 7 */ +/* Slot 22 */ +Tcl_Obj * +Tcl_DbNewBooleanObj(boolValue, file, line) + int boolValue; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line); +} + +/* Slot 23 */ +Tcl_Obj * +Tcl_DbNewByteArrayObj(bytes, length, file, line) + unsigned char * bytes; + int length; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line); +} + +/* Slot 24 */ +Tcl_Obj * +Tcl_DbNewDoubleObj(doubleValue, file, line) + double doubleValue; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line); +} + +/* Slot 25 */ +Tcl_Obj * +Tcl_DbNewListObj(objc, objv, file, line) + int objc; + Tcl_Obj *CONST objv[]; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line); +} + +/* Slot 26 */ +Tcl_Obj * +Tcl_DbNewLongObj(longValue, file, line) + long longValue; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line); +} + +/* Slot 27 */ +Tcl_Obj * +Tcl_DbNewObj(file, line) + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewObj)(file, line); +} + +/* Slot 28 */ +Tcl_Obj * +Tcl_DbNewStringObj(bytes, length, file, line) + char * bytes; + int length; + char * file; + int line; +{ + return (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line); +} + +/* Slot 29 */ +Tcl_Obj * +Tcl_DuplicateObj(objPtr) + Tcl_Obj * objPtr; +{ + return (tclStubsPtr->tcl_DuplicateObj)(objPtr); +} + +/* Slot 30 */ void -Tcl_AppendResultVA(interp, argList) +TclFreeObj(objPtr) + Tcl_Obj * objPtr; +{ + (tclStubsPtr->tclFreeObj)(objPtr); +} + +/* Slot 31 */ +int +Tcl_GetBoolean(interp, string, boolPtr) Tcl_Interp * interp; - va_list argList; + char * string; + int * boolPtr; { - (tclStubsPtr->tcl_AppendResultVA)(interp, argList); + return (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr); } -/* Slot 8 */ +/* Slot 32 */ +int +Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) + Tcl_Interp * interp; + Tcl_Obj * objPtr; + int * boolPtr; +{ + return (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr); +} + +/* Slot 33 */ +unsigned char * +Tcl_GetByteArrayFromObj(objPtr, lengthPtr) + Tcl_Obj * objPtr; + int * lengthPtr; +{ + return (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr); +} + +/* Slot 34 */ +int +Tcl_GetDouble(interp, string, doublePtr) + Tcl_Interp * interp; + char * string; + double * doublePtr; +{ + return (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr); +} + +/* Slot 35 */ +int +Tcl_GetDoubleFromObj(interp, objPtr, doublePtr) + Tcl_Interp * interp; + Tcl_Obj * objPtr; + double * doublePtr; +{ + return (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr); +} + +/* Slot 36 */ +int +Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr) + Tcl_Interp * interp; + Tcl_Obj * objPtr; + char ** tablePtr; + char * msg; + int flags; + int * indexPtr; +{ + return (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr); +} + +/* Slot 37 */ +int +Tcl_GetInt(interp, string, intPtr) + Tcl_Interp * interp; + char * string; + int * intPtr; +{ + return (tclStubsPtr->tcl_GetInt)(interp, string, intPtr); +} + +/* Slot 38 */ +int +Tcl_GetIntFromObj(interp, objPtr, intPtr) + Tcl_Interp * interp; + Tcl_Obj * objPtr; + int * intPtr; +{ + return (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr); +} + +/* Slot 39 */ +int +Tcl_GetLongFromObj(interp, objPtr, longPtr) + Tcl_Interp * interp; + Tcl_Obj * objPtr; + long * longPtr; +{ + return (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr); +} + +/* Slot 40 */ +Tcl_ObjType * +Tcl_GetObjType(typeName) + char * typeName; +{ + return (tclStubsPtr->tcl_GetObjType)(typeName); +} + +/* Slot 41 */ +char * +Tcl_GetStringFromObj(objPtr, lengthPtr) + Tcl_Obj * objPtr; + int * lengthPtr; +{ + return (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr); +} + +/* Slot 42 */ void -Tcl_AppendToObj(objPtr, bytes, length) +Tcl_InvalidateStringRep(objPtr) Tcl_Obj * objPtr; +{ + (tclStubsPtr->tcl_InvalidateStringRep)(objPtr); +} + +/* Slot 43 */ +int +Tcl_ListObjAppendList(interp, listPtr, elemListPtr) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + Tcl_Obj * elemListPtr; +{ + return (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr); +} + +/* Slot 44 */ +int +Tcl_ListObjAppendElement(interp, listPtr, objPtr) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + Tcl_Obj * objPtr; +{ + return (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr); +} + +/* Slot 45 */ +int +Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + int * objcPtr; + Tcl_Obj *** objvPtr; +{ + return (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr); +} + +/* Slot 46 */ +int +Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + int index; + Tcl_Obj ** objPtrPtr; +{ + return (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr); +} + +/* Slot 47 */ +int +Tcl_ListObjLength(interp, listPtr, intPtr) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + int * intPtr; +{ + return (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr); +} + +/* Slot 48 */ +int +Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv) + Tcl_Interp * interp; + Tcl_Obj * listPtr; + int first; + int count; + int objc; + Tcl_Obj *CONST objv[]; +{ + return (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv); +} + +/* Slot 49 */ +Tcl_Obj * +Tcl_NewBooleanObj(boolValue) + int boolValue; +{ + return (tclStubsPtr->tcl_NewBooleanObj)(boolValue); +} + +/* Slot 50 */ +Tcl_Obj * +Tcl_NewByteArrayObj(bytes, length) + unsigned char * bytes; + int length; +{ + return (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length); +} + +/* Slot 51 */ +Tcl_Obj * +Tcl_NewDoubleObj(doubleValue) + double doubleValue; +{ + return (tclStubsPtr->tcl_NewDoubleObj)(doubleValue); +} + +/* Slot 52 */ +Tcl_Obj * +Tcl_NewIntObj(intValue) + int intValue; +{ + return (tclStubsPtr->tcl_NewIntObj)(intValue); +} + +/* Slot 53 */ +Tcl_Obj * +Tcl_NewListObj(objc, objv) + int objc; + Tcl_Obj *CONST objv[]; +{ + return (tclStubsPtr->tcl_NewListObj)(objc, objv); +} + +/* Slot 54 */ +Tcl_Obj * +Tcl_NewLongObj(longValue) + long longValue; +{ + return (tclStubsPtr->tcl_NewLongObj)(longValue); +} + +/* Slot 55 */ +Tcl_Obj * +Tcl_NewObj() +{ + return (tclStubsPtr->tcl_NewObj)(); +} + +/* Slot 56 */ +Tcl_Obj * +Tcl_NewStringObj(bytes, length) char * bytes; int length; { - (tclStubsPtr->tcl_AppendToObj)(objPtr, bytes, length); + return (tclStubsPtr->tcl_NewStringObj)(bytes, length); } -/* Slot 9 */ +/* Slot 57 */ void -Tcl_AppendStringsToObj TCL_VARARGS_DEF(Tcl_Obj *,objPtr) +Tcl_SetBooleanObj(objPtr, boolValue) + Tcl_Obj * objPtr; + int boolValue; { - Tcl_Obj * var; - va_list argList; + (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue); +} - var = (Tcl_Obj *) TCL_VARARGS_START(Tcl_Obj *,objPtr,argList); +/* Slot 58 */ +unsigned char * +Tcl_SetByteArrayLength(objPtr, length) + Tcl_Obj * objPtr; + int length; +{ + return (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length); +} - (tclStubsPtr->tcl_AppendStringsToObjVA)(var, argList); - va_end(argList); +/* Slot 59 */ +void +Tcl_SetByteArrayObj(objPtr, bytes, length) + Tcl_Obj * objPtr; + unsigned char * bytes; + int length; +{ + (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length); } -/* Slot 10 */ +/* Slot 60 */ void -Tcl_AppendStringsToObjVA(objPtr, argList) +Tcl_SetDoubleObj(objPtr, doubleValue) Tcl_Obj * objPtr; - va_list argList; + double doubleValue; { - (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList); + (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue); } -/* Slot 11 */ +/* Slot 61 */ +void +Tcl_SetIntObj(objPtr, intValue) + Tcl_Obj * objPtr; + int intValue; +{ + (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue); +} + +/* Slot 62 */ +void +Tcl_SetListObj(objPtr, objc, objv) + Tcl_Obj * objPtr; + int objc; + Tcl_Obj *CONST objv[]; +{ + (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv); +} + +/* Slot 63 */ +void +Tcl_SetLongObj(objPtr, longValue) + Tcl_Obj * objPtr; + long longValue; +{ + (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue); +} + +/* Slot 64 */ +void +Tcl_SetObjLength(objPtr, length) + Tcl_Obj * objPtr; + int length; +{ + (tclStubsPtr->tcl_SetObjLength)(objPtr, length); +} + +/* Slot 65 */ +void +Tcl_SetStringObj(objPtr, bytes, length) + Tcl_Obj * objPtr; + char * bytes; + int length; +{ + (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length); +} + +/* Slot 66 */ +void +Tcl_AddErrorInfo(interp, message) + Tcl_Interp * interp; + char * message; +{ + (tclStubsPtr->tcl_AddErrorInfo)(interp, message); +} + +/* Slot 67 */ +void +Tcl_AddObjErrorInfo(interp, message, length) + Tcl_Interp * interp; + char * message; + int length; +{ + (tclStubsPtr->tcl_AddObjErrorInfo)(interp, message, length); +} + +/* Slot 68 */ +void +Tcl_AllowExceptions(interp) + Tcl_Interp * interp; +{ + (tclStubsPtr->tcl_AllowExceptions)(interp); +} + +/* Slot 69 */ +void +Tcl_AppendElement(interp, string) + Tcl_Interp * interp; + char * string; +{ + (tclStubsPtr->tcl_AppendElement)(interp, string); +} + +/* Slot 70 */ +void +Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,interp) +{ + Tcl_Interp * var; + va_list argList; + + var = (Tcl_Interp *) TCL_VARARGS_START(Tcl_Interp *,interp,argList); + + (tclStubsPtr->tcl_AppendResultVA)(var, argList); + va_end(argList); +} + +/* Slot 71 */ Tcl_AsyncHandler Tcl_AsyncCreate(proc, clientData) Tcl_AsyncProc * proc; @@ -160,7 +742,7 @@ Tcl_AsyncCreate(proc, clientData) return (tclStubsPtr->tcl_AsyncCreate)(proc, clientData); } -/* Slot 12 */ +/* Slot 72 */ void Tcl_AsyncDelete(async) Tcl_AsyncHandler async; @@ -168,7 +750,7 @@ Tcl_AsyncDelete(async) (tclStubsPtr->tcl_AsyncDelete)(async); } -/* Slot 13 */ +/* Slot 73 */ int Tcl_AsyncInvoke(interp, code) Tcl_Interp * interp; @@ -177,7 +759,7 @@ Tcl_AsyncInvoke(interp, code) return (tclStubsPtr->tcl_AsyncInvoke)(interp, code); } -/* Slot 14 */ +/* Slot 74 */ void Tcl_AsyncMark(async) Tcl_AsyncHandler async; @@ -185,14 +767,14 @@ Tcl_AsyncMark(async) (tclStubsPtr->tcl_AsyncMark)(async); } -/* Slot 15 */ +/* Slot 75 */ int Tcl_AsyncReady() { return (tclStubsPtr->tcl_AsyncReady)(); } -/* Slot 16 */ +/* Slot 76 */ void Tcl_BackgroundError(interp) Tcl_Interp * interp; @@ -200,7 +782,7 @@ Tcl_BackgroundError(interp) (tclStubsPtr->tcl_BackgroundError)(interp); } -/* Slot 17 */ +/* Slot 77 */ char Tcl_Backslash(src, readPtr) CONST char * src; @@ -209,7 +791,7 @@ Tcl_Backslash(src, readPtr) return (tclStubsPtr->tcl_Backslash)(src, readPtr); } -/* Slot 18 */ +/* Slot 78 */ int Tcl_BadChannelOption(interp, optionName, optionList) Tcl_Interp * interp; @@ -219,7 +801,7 @@ Tcl_BadChannelOption(interp, optionName, optionList) return (tclStubsPtr->tcl_BadChannelOption)(interp, optionName, optionList); } -/* Slot 19 */ +/* Slot 79 */ void Tcl_CallWhenDeleted(interp, proc, clientData) Tcl_Interp * interp; @@ -229,7 +811,7 @@ Tcl_CallWhenDeleted(interp, proc, clientData) (tclStubsPtr->tcl_CallWhenDeleted)(interp, proc, clientData); } -/* Slot 20 */ +/* Slot 80 */ void Tcl_CancelIdleCall(idleProc, clientData) Tcl_IdleProc * idleProc; @@ -238,7 +820,7 @@ Tcl_CancelIdleCall(idleProc, clientData) (tclStubsPtr->tcl_CancelIdleCall)(idleProc, clientData); } -/* Slot 21 */ +/* Slot 81 */ int Tcl_Close(interp, chan) Tcl_Interp * interp; @@ -247,7 +829,7 @@ Tcl_Close(interp, chan) return (tclStubsPtr->tcl_Close)(interp, chan); } -/* Slot 22 */ +/* Slot 82 */ int Tcl_CommandComplete(cmd) char * cmd; @@ -255,7 +837,7 @@ Tcl_CommandComplete(cmd) return (tclStubsPtr->tcl_CommandComplete)(cmd); } -/* Slot 23 */ +/* Slot 83 */ char * Tcl_Concat(argc, argv) int argc; @@ -264,47 +846,28 @@ Tcl_Concat(argc, argv) return (tclStubsPtr->tcl_Concat)(argc, argv); } -/* Slot 24 */ -Tcl_Obj * -Tcl_ConcatObj(objc, objv) - int objc; - Tcl_Obj *CONST objv[]; -{ - return (tclStubsPtr->tcl_ConcatObj)(objc, objv); -} - -/* Slot 25 */ +/* Slot 84 */ int -Tcl_ConvertCountedElement(src, length, dst, flags) +Tcl_ConvertElement(src, dst, flags) CONST char * src; - int length; char * dst; int flags; { - return (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags); + return (tclStubsPtr->tcl_ConvertElement)(src, dst, flags); } -/* Slot 26 */ +/* Slot 85 */ int -Tcl_ConvertElement(src, dst, flags) +Tcl_ConvertCountedElement(src, length, dst, flags) CONST char * src; + int length; char * dst; int flags; { - return (tclStubsPtr->tcl_ConvertElement)(src, dst, flags); -} - -/* Slot 27 */ -int -Tcl_ConvertToType(interp, objPtr, typePtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - Tcl_ObjType * typePtr; -{ - return (tclStubsPtr->tcl_ConvertToType)(interp, objPtr, typePtr); + return (tclStubsPtr->tcl_ConvertCountedElement)(src, length, dst, flags); } -/* Slot 28 */ +/* Slot 86 */ int Tcl_CreateAlias(slave, slaveCmd, target, targetCmd, argc, argv) Tcl_Interp * slave; @@ -317,7 +880,7 @@ Tcl_CreateAlias(slave, slaveCmd, target, targetCmd, argc, argv) return (tclStubsPtr->tcl_CreateAlias)(slave, slaveCmd, target, targetCmd, argc, argv); } -/* Slot 29 */ +/* Slot 87 */ int Tcl_CreateAliasObj(slave, slaveCmd, target, targetCmd, objc, objv) Tcl_Interp * slave; @@ -330,7 +893,7 @@ Tcl_CreateAliasObj(slave, slaveCmd, target, targetCmd, objc, objv) return (tclStubsPtr->tcl_CreateAliasObj)(slave, slaveCmd, target, targetCmd, objc, objv); } -/* Slot 30 */ +/* Slot 88 */ Tcl_Channel Tcl_CreateChannel(typePtr, chanName, instanceData, mask) Tcl_ChannelType * typePtr; @@ -341,7 +904,7 @@ Tcl_CreateChannel(typePtr, chanName, instanceData, mask) return (tclStubsPtr->tcl_CreateChannel)(typePtr, chanName, instanceData, mask); } -/* Slot 31 */ +/* Slot 89 */ void Tcl_CreateChannelHandler(chan, mask, proc, clientData) Tcl_Channel chan; @@ -352,7 +915,7 @@ Tcl_CreateChannelHandler(chan, mask, proc, clientData) (tclStubsPtr->tcl_CreateChannelHandler)(chan, mask, proc, clientData); } -/* Slot 32 */ +/* Slot 90 */ void Tcl_CreateCloseHandler(chan, proc, clientData) Tcl_Channel chan; @@ -362,7 +925,7 @@ Tcl_CreateCloseHandler(chan, proc, clientData) (tclStubsPtr->tcl_CreateCloseHandler)(chan, proc, clientData); } -/* Slot 33 */ +/* Slot 91 */ Tcl_Command Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc) Tcl_Interp * interp; @@ -374,7 +937,7 @@ Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc) return (tclStubsPtr->tcl_CreateCommand)(interp, cmdName, proc, clientData, deleteProc); } -/* Slot 34 */ +/* Slot 92 */ void Tcl_CreateEventSource(setupProc, checkProc, clientData) Tcl_EventSetupProc * setupProc; @@ -384,7 +947,7 @@ Tcl_CreateEventSource(setupProc, checkProc, clientData) (tclStubsPtr->tcl_CreateEventSource)(setupProc, checkProc, clientData); } -/* Slot 35 */ +/* Slot 93 */ void Tcl_CreateExitHandler(proc, clientData) Tcl_ExitProc * proc; @@ -393,14 +956,14 @@ Tcl_CreateExitHandler(proc, clientData) (tclStubsPtr->tcl_CreateExitHandler)(proc, clientData); } -/* Slot 36 */ +/* Slot 94 */ Tcl_Interp * Tcl_CreateInterp() { return (tclStubsPtr->tcl_CreateInterp)(); } -/* Slot 37 */ +/* Slot 95 */ void Tcl_CreateMathFunc(interp, name, numArgs, argTypes, proc, clientData) Tcl_Interp * interp; @@ -413,7 +976,7 @@ Tcl_CreateMathFunc(interp, name, numArgs, argTypes, proc, clientData) (tclStubsPtr->tcl_CreateMathFunc)(interp, name, numArgs, argTypes, proc, clientData); } -/* Slot 38 */ +/* Slot 96 */ Tcl_Command Tcl_CreateObjCommand(interp, cmdName, proc, clientData, deleteProc) Tcl_Interp * interp; @@ -425,7 +988,7 @@ Tcl_CreateObjCommand(interp, cmdName, proc, clientData, deleteProc) return (tclStubsPtr->tcl_CreateObjCommand)(interp, cmdName, proc, clientData, deleteProc); } -/* Slot 39 */ +/* Slot 97 */ Tcl_Interp * Tcl_CreateSlave(interp, slaveName, isSafe) Tcl_Interp * interp; @@ -435,7 +998,7 @@ Tcl_CreateSlave(interp, slaveName, isSafe) return (tclStubsPtr->tcl_CreateSlave)(interp, slaveName, isSafe); } -/* Slot 40 */ +/* Slot 98 */ Tcl_TimerToken Tcl_CreateTimerHandler(milliseconds, proc, clientData) int milliseconds; @@ -445,7 +1008,7 @@ Tcl_CreateTimerHandler(milliseconds, proc, clientData) return (tclStubsPtr->tcl_CreateTimerHandler)(milliseconds, proc, clientData); } -/* Slot 41 */ +/* Slot 99 */ Tcl_Trace Tcl_CreateTrace(interp, level, proc, clientData) Tcl_Interp * interp; @@ -456,149 +1019,36 @@ Tcl_CreateTrace(interp, level, proc, clientData) return (tclStubsPtr->tcl_CreateTrace)(interp, level, proc, clientData); } -/* Slot 42 */ -char * -Tcl_DbCkalloc(size, file, line) - unsigned int size; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbCkalloc)(size, file, line); -} - -/* Slot 43 */ -int -Tcl_DbCkfree(ptr, file, line) - char * ptr; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbCkfree)(ptr, file, line); -} - -/* Slot 44 */ -char * -Tcl_DbCkrealloc(ptr, size, file, line) - char * ptr; - unsigned int size; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbCkrealloc)(ptr, size, file, line); -} - -/* Slot 45 */ +/* Slot 100 */ void -Tcl_DbDecrRefCount(objPtr, file, line) - Tcl_Obj * objPtr; - char * file; - int line; +Tcl_DeleteAssocData(interp, name) + Tcl_Interp * interp; + char * name; { - (tclStubsPtr->tcl_DbDecrRefCount)(objPtr, file, line); + (tclStubsPtr->tcl_DeleteAssocData)(interp, name); } -/* Slot 46 */ +/* Slot 101 */ void -Tcl_DbIncrRefCount(objPtr, file, line) - Tcl_Obj * objPtr; - char * file; - int line; -{ - (tclStubsPtr->tcl_DbIncrRefCount)(objPtr, file, line); -} - -/* Slot 47 */ -int -Tcl_DbIsShared(objPtr, file, line) - Tcl_Obj * objPtr; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbIsShared)(objPtr, file, line); -} - -/* Slot 48 */ -Tcl_Obj * -Tcl_DbNewBooleanObj(boolValue, file, line) - int boolValue; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewBooleanObj)(boolValue, file, line); -} - -/* Slot 49 */ -Tcl_Obj * -Tcl_DbNewByteArrayObj(bytes, length, file, line) - unsigned char * bytes; - int length; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewByteArrayObj)(bytes, length, file, line); -} - -/* Slot 50 */ -Tcl_Obj * -Tcl_DbNewDoubleObj(doubleValue, file, line) - double doubleValue; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewDoubleObj)(doubleValue, file, line); -} - -/* Slot 51 */ -Tcl_Obj * -Tcl_DbNewListObj(objc, objv, file, line) - int objc; - Tcl_Obj *CONST objv[]; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewListObj)(objc, objv, file, line); -} - -/* Slot 52 */ -Tcl_Obj * -Tcl_DbNewLongObj(longValue, file, line) - long longValue; - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewLongObj)(longValue, file, line); -} - -/* Slot 53 */ -Tcl_Obj * -Tcl_DbNewObj(file, line) - char * file; - int line; -{ - return (tclStubsPtr->tcl_DbNewObj)(file, line); -} - -/* Slot 54 */ -Tcl_Obj * -Tcl_DbNewStringObj(bytes, length, file, line) - char * bytes; - int length; - char * file; - int line; +Tcl_DeleteChannelHandler(chan, proc, clientData) + Tcl_Channel chan; + Tcl_ChannelProc * proc; + ClientData clientData; { - return (tclStubsPtr->tcl_DbNewStringObj)(bytes, length, file, line); + (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData); } -/* Slot 55 */ +/* Slot 102 */ void -Tcl_DeleteAssocData(interp, name) - Tcl_Interp * interp; - char * name; +Tcl_DeleteCloseHandler(chan, proc, clientData) + Tcl_Channel chan; + Tcl_CloseProc * proc; + ClientData clientData; { - (tclStubsPtr->tcl_DeleteAssocData)(interp, name); + (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData); } -/* Slot 56 */ +/* Slot 103 */ int Tcl_DeleteCommand(interp, cmdName) Tcl_Interp * interp; @@ -607,7 +1057,7 @@ Tcl_DeleteCommand(interp, cmdName) return (tclStubsPtr->tcl_DeleteCommand)(interp, cmdName); } -/* Slot 57 */ +/* Slot 104 */ int Tcl_DeleteCommandFromToken(interp, command) Tcl_Interp * interp; @@ -616,27 +1066,7 @@ Tcl_DeleteCommandFromToken(interp, command) return (tclStubsPtr->tcl_DeleteCommandFromToken)(interp, command); } -/* Slot 58 */ -void -Tcl_DeleteChannelHandler(chan, proc, clientData) - Tcl_Channel chan; - Tcl_ChannelProc * proc; - ClientData clientData; -{ - (tclStubsPtr->tcl_DeleteChannelHandler)(chan, proc, clientData); -} - -/* Slot 59 */ -void -Tcl_DeleteCloseHandler(chan, proc, clientData) - Tcl_Channel chan; - Tcl_CloseProc * proc; - ClientData clientData; -{ - (tclStubsPtr->tcl_DeleteCloseHandler)(chan, proc, clientData); -} - -/* Slot 60 */ +/* Slot 105 */ void Tcl_DeleteEvents(proc, clientData) Tcl_EventDeleteProc * proc; @@ -645,7 +1075,7 @@ Tcl_DeleteEvents(proc, clientData) (tclStubsPtr->tcl_DeleteEvents)(proc, clientData); } -/* Slot 61 */ +/* Slot 106 */ void Tcl_DeleteEventSource(setupProc, checkProc, clientData) Tcl_EventSetupProc * setupProc; @@ -655,7 +1085,7 @@ Tcl_DeleteEventSource(setupProc, checkProc, clientData) (tclStubsPtr->tcl_DeleteEventSource)(setupProc, checkProc, clientData); } -/* Slot 62 */ +/* Slot 107 */ void Tcl_DeleteExitHandler(proc, clientData) Tcl_ExitProc * proc; @@ -664,7 +1094,7 @@ Tcl_DeleteExitHandler(proc, clientData) (tclStubsPtr->tcl_DeleteExitHandler)(proc, clientData); } -/* Slot 63 */ +/* Slot 108 */ void Tcl_DeleteHashEntry(entryPtr) Tcl_HashEntry * entryPtr; @@ -672,7 +1102,7 @@ Tcl_DeleteHashEntry(entryPtr) (tclStubsPtr->tcl_DeleteHashEntry)(entryPtr); } -/* Slot 64 */ +/* Slot 109 */ void Tcl_DeleteHashTable(tablePtr) Tcl_HashTable * tablePtr; @@ -680,7 +1110,7 @@ Tcl_DeleteHashTable(tablePtr) (tclStubsPtr->tcl_DeleteHashTable)(tablePtr); } -/* Slot 65 */ +/* Slot 110 */ void Tcl_DeleteInterp(interp) Tcl_Interp * interp; @@ -688,7 +1118,16 @@ Tcl_DeleteInterp(interp) (tclStubsPtr->tcl_DeleteInterp)(interp); } -/* Slot 66 */ +/* Slot 111 */ +void +Tcl_DetachPids(numPids, pidPtr) + int numPids; + Tcl_Pid * pidPtr; +{ + (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr); +} + +/* Slot 112 */ void Tcl_DeleteTimerHandler(token) Tcl_TimerToken token; @@ -696,7 +1135,7 @@ Tcl_DeleteTimerHandler(token) (tclStubsPtr->tcl_DeleteTimerHandler)(token); } -/* Slot 67 */ +/* Slot 113 */ void Tcl_DeleteTrace(interp, trace) Tcl_Interp * interp; @@ -705,16 +1144,7 @@ Tcl_DeleteTrace(interp, trace) (tclStubsPtr->tcl_DeleteTrace)(interp, trace); } -/* Slot 68 */ -void -Tcl_DetachPids(numPids, pidPtr) - int numPids; - Tcl_Pid * pidPtr; -{ - (tclStubsPtr->tcl_DetachPids)(numPids, pidPtr); -} - -/* Slot 69 */ +/* Slot 114 */ void Tcl_DontCallWhenDeleted(interp, proc, clientData) Tcl_Interp * interp; @@ -724,7 +1154,7 @@ Tcl_DontCallWhenDeleted(interp, proc, clientData) (tclStubsPtr->tcl_DontCallWhenDeleted)(interp, proc, clientData); } -/* Slot 70 */ +/* Slot 115 */ int Tcl_DoOneEvent(flags) int flags; @@ -732,7 +1162,7 @@ Tcl_DoOneEvent(flags) return (tclStubsPtr->tcl_DoOneEvent)(flags); } -/* Slot 71 */ +/* Slot 116 */ void Tcl_DoWhenIdle(proc, clientData) Tcl_IdleProc * proc; @@ -741,7 +1171,7 @@ Tcl_DoWhenIdle(proc, clientData) (tclStubsPtr->tcl_DoWhenIdle)(proc, clientData); } -/* Slot 72 */ +/* Slot 117 */ char * Tcl_DStringAppend(dsPtr, string, length) Tcl_DString * dsPtr; @@ -751,7 +1181,7 @@ Tcl_DStringAppend(dsPtr, string, length) return (tclStubsPtr->tcl_DStringAppend)(dsPtr, string, length); } -/* Slot 73 */ +/* Slot 118 */ char * Tcl_DStringAppendElement(dsPtr, string) Tcl_DString * dsPtr; @@ -760,7 +1190,7 @@ Tcl_DStringAppendElement(dsPtr, string) return (tclStubsPtr->tcl_DStringAppendElement)(dsPtr, string); } -/* Slot 74 */ +/* Slot 119 */ void Tcl_DStringEndSublist(dsPtr) Tcl_DString * dsPtr; @@ -768,7 +1198,7 @@ Tcl_DStringEndSublist(dsPtr) (tclStubsPtr->tcl_DStringEndSublist)(dsPtr); } -/* Slot 75 */ +/* Slot 120 */ void Tcl_DStringFree(dsPtr) Tcl_DString * dsPtr; @@ -776,7 +1206,7 @@ Tcl_DStringFree(dsPtr) (tclStubsPtr->tcl_DStringFree)(dsPtr); } -/* Slot 76 */ +/* Slot 121 */ void Tcl_DStringGetResult(interp, dsPtr) Tcl_Interp * interp; @@ -785,7 +1215,7 @@ Tcl_DStringGetResult(interp, dsPtr) (tclStubsPtr->tcl_DStringGetResult)(interp, dsPtr); } -/* Slot 77 */ +/* Slot 122 */ void Tcl_DStringInit(dsPtr) Tcl_DString * dsPtr; @@ -793,7 +1223,7 @@ Tcl_DStringInit(dsPtr) (tclStubsPtr->tcl_DStringInit)(dsPtr); } -/* Slot 78 */ +/* Slot 123 */ void Tcl_DStringResult(interp, dsPtr) Tcl_Interp * interp; @@ -802,7 +1232,7 @@ Tcl_DStringResult(interp, dsPtr) (tclStubsPtr->tcl_DStringResult)(interp, dsPtr); } -/* Slot 79 */ +/* Slot 124 */ void Tcl_DStringSetLength(dsPtr, length) Tcl_DString * dsPtr; @@ -811,7 +1241,7 @@ Tcl_DStringSetLength(dsPtr, length) (tclStubsPtr->tcl_DStringSetLength)(dsPtr, length); } -/* Slot 80 */ +/* Slot 125 */ void Tcl_DStringStartSublist(dsPtr) Tcl_DString * dsPtr; @@ -819,23 +1249,7 @@ Tcl_DStringStartSublist(dsPtr) (tclStubsPtr->tcl_DStringStartSublist)(dsPtr); } -/* Slot 81 */ -int -Tcl_DumpActiveMemory(fileName) - char * fileName; -{ - return (tclStubsPtr->tcl_DumpActiveMemory)(fileName); -} - -/* Slot 82 */ -Tcl_Obj * -Tcl_DuplicateObj(objPtr) - Tcl_Obj * objPtr; -{ - return (tclStubsPtr->tcl_DuplicateObj)(objPtr); -} - -/* Slot 83 */ +/* Slot 126 */ int Tcl_Eof(chan) Tcl_Channel chan; @@ -843,14 +1257,14 @@ Tcl_Eof(chan) return (tclStubsPtr->tcl_Eof)(chan); } -/* Slot 84 */ +/* Slot 127 */ char * Tcl_ErrnoId() { return (tclStubsPtr->tcl_ErrnoId)(); } -/* Slot 85 */ +/* Slot 128 */ char * Tcl_ErrnoMsg(err) int err; @@ -858,7 +1272,7 @@ Tcl_ErrnoMsg(err) return (tclStubsPtr->tcl_ErrnoMsg)(err); } -/* Slot 86 */ +/* Slot 129 */ int Tcl_Eval(interp, string) Tcl_Interp * interp; @@ -867,7 +1281,7 @@ Tcl_Eval(interp, string) return (tclStubsPtr->tcl_Eval)(interp, string); } -/* Slot 87 */ +/* Slot 130 */ int Tcl_EvalFile(interp, fileName) Tcl_Interp * interp; @@ -876,16 +1290,7 @@ Tcl_EvalFile(interp, fileName) return (tclStubsPtr->tcl_EvalFile)(interp, fileName); } -/* Slot 88 */ -void -Tcl_EventuallyFree(clientData, freeProc) - ClientData clientData; - Tcl_FreeProc * freeProc; -{ - (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc); -} - -/* Slot 89 */ +/* Slot 131 */ int Tcl_EvalObj(interp, objPtr) Tcl_Interp * interp; @@ -894,7 +1299,16 @@ Tcl_EvalObj(interp, objPtr) return (tclStubsPtr->tcl_EvalObj)(interp, objPtr); } -/* Slot 90 */ +/* Slot 132 */ +void +Tcl_EventuallyFree(clientData, freeProc) + ClientData clientData; + Tcl_FreeProc * freeProc; +{ + (tclStubsPtr->tcl_EventuallyFree)(clientData, freeProc); +} + +/* Slot 133 */ void Tcl_Exit(status) int status; @@ -902,7 +1316,7 @@ Tcl_Exit(status) (tclStubsPtr->tcl_Exit)(status); } -/* Slot 91 */ +/* Slot 134 */ int Tcl_ExposeCommand(interp, hiddenCmdToken, cmdName) Tcl_Interp * interp; @@ -912,7 +1326,7 @@ Tcl_ExposeCommand(interp, hiddenCmdToken, cmdName) return (tclStubsPtr->tcl_ExposeCommand)(interp, hiddenCmdToken, cmdName); } -/* Slot 92 */ +/* Slot 135 */ int Tcl_ExprBoolean(interp, string, ptr) Tcl_Interp * interp; @@ -922,7 +1336,7 @@ Tcl_ExprBoolean(interp, string, ptr) return (tclStubsPtr->tcl_ExprBoolean)(interp, string, ptr); } -/* Slot 93 */ +/* Slot 136 */ int Tcl_ExprBooleanObj(interp, objPtr, ptr) Tcl_Interp * interp; @@ -932,7 +1346,7 @@ Tcl_ExprBooleanObj(interp, objPtr, ptr) return (tclStubsPtr->tcl_ExprBooleanObj)(interp, objPtr, ptr); } -/* Slot 94 */ +/* Slot 137 */ int Tcl_ExprDouble(interp, string, ptr) Tcl_Interp * interp; @@ -942,7 +1356,7 @@ Tcl_ExprDouble(interp, string, ptr) return (tclStubsPtr->tcl_ExprDouble)(interp, string, ptr); } -/* Slot 95 */ +/* Slot 138 */ int Tcl_ExprDoubleObj(interp, objPtr, ptr) Tcl_Interp * interp; @@ -952,7 +1366,7 @@ Tcl_ExprDoubleObj(interp, objPtr, ptr) return (tclStubsPtr->tcl_ExprDoubleObj)(interp, objPtr, ptr); } -/* Slot 96 */ +/* Slot 139 */ int Tcl_ExprLong(interp, string, ptr) Tcl_Interp * interp; @@ -962,7 +1376,7 @@ Tcl_ExprLong(interp, string, ptr) return (tclStubsPtr->tcl_ExprLong)(interp, string, ptr); } -/* Slot 97 */ +/* Slot 140 */ int Tcl_ExprLongObj(interp, objPtr, ptr) Tcl_Interp * interp; @@ -972,7 +1386,7 @@ Tcl_ExprLongObj(interp, objPtr, ptr) return (tclStubsPtr->tcl_ExprLongObj)(interp, objPtr, ptr); } -/* Slot 98 */ +/* Slot 141 */ int Tcl_ExprObj(interp, objPtr, resultPtrPtr) Tcl_Interp * interp; @@ -982,7 +1396,7 @@ Tcl_ExprObj(interp, objPtr, resultPtrPtr) return (tclStubsPtr->tcl_ExprObj)(interp, objPtr, resultPtrPtr); } -/* Slot 99 */ +/* Slot 142 */ int Tcl_ExprString(interp, string) Tcl_Interp * interp; @@ -991,14 +1405,14 @@ Tcl_ExprString(interp, string) return (tclStubsPtr->tcl_ExprString)(interp, string); } -/* Slot 100 */ +/* Slot 143 */ void Tcl_Finalize() { (tclStubsPtr->tcl_Finalize)(); } -/* Slot 101 */ +/* Slot 144 */ void Tcl_FindExecutable(argv0) char * argv0; @@ -1006,7 +1420,7 @@ Tcl_FindExecutable(argv0) (tclStubsPtr->tcl_FindExecutable)(argv0); } -/* Slot 102 */ +/* Slot 145 */ Tcl_HashEntry * Tcl_FirstHashEntry(tablePtr, searchPtr) Tcl_HashTable * tablePtr; @@ -1015,7 +1429,7 @@ Tcl_FirstHashEntry(tablePtr, searchPtr) return (tclStubsPtr->tcl_FirstHashEntry)(tablePtr, searchPtr); } -/* Slot 103 */ +/* Slot 146 */ int Tcl_Flush(chan) Tcl_Channel chan; @@ -1023,23 +1437,7 @@ Tcl_Flush(chan) return (tclStubsPtr->tcl_Flush)(chan); } -/* Slot 104 */ -void -Tcl_Free(ptr) - char * ptr; -{ - (tclStubsPtr->tcl_Free)(ptr); -} - -/* Slot 105 */ -void -TclFreeObj(objPtr) - Tcl_Obj * objPtr; -{ - (tclStubsPtr->tclFreeObj)(objPtr); -} - -/* Slot 106 */ +/* Slot 147 */ void Tcl_FreeResult(interp) Tcl_Interp * interp; @@ -1047,7 +1445,7 @@ Tcl_FreeResult(interp) (tclStubsPtr->tcl_FreeResult)(interp); } -/* Slot 107 */ +/* Slot 148 */ int Tcl_GetAlias(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) Tcl_Interp * interp; @@ -1060,7 +1458,7 @@ Tcl_GetAlias(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr) return (tclStubsPtr->tcl_GetAlias)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, argcPtr, argvPtr); } -/* Slot 108 */ +/* Slot 149 */ int Tcl_GetAliasObj(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) Tcl_Interp * interp; @@ -1073,7 +1471,7 @@ Tcl_GetAliasObj(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv) return (tclStubsPtr->tcl_GetAliasObj)(interp, slaveCmd, targetInterpPtr, targetCmdPtr, objcPtr, objv); } -/* Slot 109 */ +/* Slot 150 */ ClientData Tcl_GetAssocData(interp, name, procPtr) Tcl_Interp * interp; @@ -1083,36 +1481,7 @@ Tcl_GetAssocData(interp, name, procPtr) return (tclStubsPtr->tcl_GetAssocData)(interp, name, procPtr); } -/* Slot 110 */ -int -Tcl_GetBoolean(interp, string, boolPtr) - Tcl_Interp * interp; - char * string; - int * boolPtr; -{ - return (tclStubsPtr->tcl_GetBoolean)(interp, string, boolPtr); -} - -/* Slot 111 */ -int -Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - int * boolPtr; -{ - return (tclStubsPtr->tcl_GetBooleanFromObj)(interp, objPtr, boolPtr); -} - -/* Slot 112 */ -unsigned char * -Tcl_GetByteArrayFromObj(objPtr, lengthPtr) - Tcl_Obj * objPtr; - int * lengthPtr; -{ - return (tclStubsPtr->tcl_GetByteArrayFromObj)(objPtr, lengthPtr); -} - -/* Slot 113 */ +/* Slot 151 */ Tcl_Channel Tcl_GetChannel(interp, chanName, modePtr) Tcl_Interp * interp; @@ -1122,7 +1491,7 @@ Tcl_GetChannel(interp, chanName, modePtr) return (tclStubsPtr->tcl_GetChannel)(interp, chanName, modePtr); } -/* Slot 114 */ +/* Slot 152 */ int Tcl_GetChannelBufferSize(chan) Tcl_Channel chan; @@ -1130,7 +1499,7 @@ Tcl_GetChannelBufferSize(chan) return (tclStubsPtr->tcl_GetChannelBufferSize)(chan); } -/* Slot 115 */ +/* Slot 153 */ int Tcl_GetChannelHandle(chan, direction, handlePtr) Tcl_Channel chan; @@ -1140,7 +1509,7 @@ Tcl_GetChannelHandle(chan, direction, handlePtr) return (tclStubsPtr->tcl_GetChannelHandle)(chan, direction, handlePtr); } -/* Slot 116 */ +/* Slot 154 */ ClientData Tcl_GetChannelInstanceData(chan) Tcl_Channel chan; @@ -1148,7 +1517,7 @@ Tcl_GetChannelInstanceData(chan) return (tclStubsPtr->tcl_GetChannelInstanceData)(chan); } -/* Slot 117 */ +/* Slot 155 */ int Tcl_GetChannelMode(chan) Tcl_Channel chan; @@ -1156,7 +1525,7 @@ Tcl_GetChannelMode(chan) return (tclStubsPtr->tcl_GetChannelMode)(chan); } -/* Slot 118 */ +/* Slot 156 */ char * Tcl_GetChannelName(chan) Tcl_Channel chan; @@ -1164,7 +1533,7 @@ Tcl_GetChannelName(chan) return (tclStubsPtr->tcl_GetChannelName)(chan); } -/* Slot 119 */ +/* Slot 157 */ int Tcl_GetChannelOption(interp, chan, optionName, dsPtr) Tcl_Interp * interp; @@ -1175,7 +1544,7 @@ Tcl_GetChannelOption(interp, chan, optionName, dsPtr) return (tclStubsPtr->tcl_GetChannelOption)(interp, chan, optionName, dsPtr); } -/* Slot 120 */ +/* Slot 158 */ Tcl_ChannelType * Tcl_GetChannelType(chan) Tcl_Channel chan; @@ -1183,7 +1552,7 @@ Tcl_GetChannelType(chan) return (tclStubsPtr->tcl_GetChannelType)(chan); } -/* Slot 121 */ +/* Slot 159 */ int Tcl_GetCommandInfo(interp, cmdName, infoPtr) Tcl_Interp * interp; @@ -1193,7 +1562,7 @@ Tcl_GetCommandInfo(interp, cmdName, infoPtr) return (tclStubsPtr->tcl_GetCommandInfo)(interp, cmdName, infoPtr); } -/* Slot 122 */ +/* Slot 160 */ char * Tcl_GetCommandName(interp, command) Tcl_Interp * interp; @@ -1202,64 +1571,21 @@ Tcl_GetCommandName(interp, command) return (tclStubsPtr->tcl_GetCommandName)(interp, command); } -/* Slot 123 */ -int -Tcl_GetDouble(interp, string, doublePtr) - Tcl_Interp * interp; - char * string; - double * doublePtr; -{ - return (tclStubsPtr->tcl_GetDouble)(interp, string, doublePtr); -} - -/* Slot 124 */ -int -Tcl_GetDoubleFromObj(interp, objPtr, doublePtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - double * doublePtr; -{ - return (tclStubsPtr->tcl_GetDoubleFromObj)(interp, objPtr, doublePtr); -} - -/* Slot 125 */ +/* Slot 161 */ int Tcl_GetErrno() { return (tclStubsPtr->tcl_GetErrno)(); } -/* Slot 126 */ +/* Slot 162 */ char * Tcl_GetHostName() { return (tclStubsPtr->tcl_GetHostName)(); } -/* Slot 127 */ -int -Tcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - char ** tablePtr; - char * msg; - int flags; - int * indexPtr; -{ - return (tclStubsPtr->tcl_GetIndexFromObj)(interp, objPtr, tablePtr, msg, flags, indexPtr); -} - -/* Slot 128 */ -int -Tcl_GetInt(interp, string, intPtr) - Tcl_Interp * interp; - char * string; - int * intPtr; -{ - return (tclStubsPtr->tcl_GetInt)(interp, string, intPtr); -} - -/* Slot 129 */ +/* Slot 163 */ int Tcl_GetInterpPath(askInterp, slaveInterp) Tcl_Interp * askInterp; @@ -1268,27 +1594,7 @@ Tcl_GetInterpPath(askInterp, slaveInterp) return (tclStubsPtr->tcl_GetInterpPath)(askInterp, slaveInterp); } -/* Slot 130 */ -int -Tcl_GetIntFromObj(interp, objPtr, intPtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - int * intPtr; -{ - return (tclStubsPtr->tcl_GetIntFromObj)(interp, objPtr, intPtr); -} - -/* Slot 131 */ -int -Tcl_GetLongFromObj(interp, objPtr, longPtr) - Tcl_Interp * interp; - Tcl_Obj * objPtr; - long * longPtr; -{ - return (tclStubsPtr->tcl_GetLongFromObj)(interp, objPtr, longPtr); -} - -/* Slot 132 */ +/* Slot 164 */ Tcl_Interp * Tcl_GetMaster(interp) Tcl_Interp * interp; @@ -1296,14 +1602,14 @@ Tcl_GetMaster(interp) return (tclStubsPtr->tcl_GetMaster)(interp); } -/* Slot 133 */ +/* Slot 165 */ CONST char * Tcl_GetNameOfExecutable() { return (tclStubsPtr->tcl_GetNameOfExecutable)(); } -/* Slot 134 */ +/* Slot 166 */ Tcl_Obj * Tcl_GetObjResult(interp) Tcl_Interp * interp; @@ -1311,15 +1617,21 @@ Tcl_GetObjResult(interp) return (tclStubsPtr->tcl_GetObjResult)(interp); } -/* Slot 135 */ -Tcl_ObjType * -Tcl_GetObjType(typeName) - char * typeName; +#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ +/* Slot 167 */ +int +Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr) + Tcl_Interp * interp; + char * string; + int write; + int checkUsage; + ClientData * filePtr; { - return (tclStubsPtr->tcl_GetObjType)(typeName); + return (tclStubsPtr->tcl_GetOpenFile)(interp, string, write, checkUsage, filePtr); } -/* Slot 136 */ +#endif /* UNIX */ +/* Slot 168 */ Tcl_PathType Tcl_GetPathType(path) char * path; @@ -1327,7 +1639,7 @@ Tcl_GetPathType(path) return (tclStubsPtr->tcl_GetPathType)(path); } -/* Slot 137 */ +/* Slot 169 */ int Tcl_Gets(chan, dsPtr) Tcl_Channel chan; @@ -1336,7 +1648,7 @@ Tcl_Gets(chan, dsPtr) return (tclStubsPtr->tcl_Gets)(chan, dsPtr); } -/* Slot 138 */ +/* Slot 170 */ int Tcl_GetsObj(chan, objPtr) Tcl_Channel chan; @@ -1345,14 +1657,14 @@ Tcl_GetsObj(chan, objPtr) return (tclStubsPtr->tcl_GetsObj)(chan, objPtr); } -/* Slot 139 */ +/* Slot 171 */ int Tcl_GetServiceMode() { return (tclStubsPtr->tcl_GetServiceMode)(); } -/* Slot 140 */ +/* Slot 172 */ Tcl_Interp * Tcl_GetSlave(interp, slaveName) Tcl_Interp * interp; @@ -1361,7 +1673,7 @@ Tcl_GetSlave(interp, slaveName) return (tclStubsPtr->tcl_GetSlave)(interp, slaveName); } -/* Slot 141 */ +/* Slot 173 */ Tcl_Channel Tcl_GetStdChannel(type) int type; @@ -1369,16 +1681,7 @@ Tcl_GetStdChannel(type) return (tclStubsPtr->tcl_GetStdChannel)(type); } -/* Slot 142 */ -char * -Tcl_GetStringFromObj(objPtr, lengthPtr) - Tcl_Obj * objPtr; - int * lengthPtr; -{ - return (tclStubsPtr->tcl_GetStringFromObj)(objPtr, lengthPtr); -} - -/* Slot 143 */ +/* Slot 174 */ char * Tcl_GetStringResult(interp) Tcl_Interp * interp; @@ -1386,7 +1689,7 @@ Tcl_GetStringResult(interp) return (tclStubsPtr->tcl_GetStringResult)(interp); } -/* Slot 144 */ +/* Slot 175 */ char * Tcl_GetVar(interp, varName, flags) Tcl_Interp * interp; @@ -1396,7 +1699,7 @@ Tcl_GetVar(interp, varName, flags) return (tclStubsPtr->tcl_GetVar)(interp, varName, flags); } -/* Slot 145 */ +/* Slot 176 */ char * Tcl_GetVar2(interp, part1, part2, flags) Tcl_Interp * interp; @@ -1407,7 +1710,7 @@ Tcl_GetVar2(interp, part1, part2, flags) return (tclStubsPtr->tcl_GetVar2)(interp, part1, part2, flags); } -/* Slot 146 */ +/* Slot 177 */ int Tcl_GlobalEval(interp, command) Tcl_Interp * interp; @@ -1416,7 +1719,7 @@ Tcl_GlobalEval(interp, command) return (tclStubsPtr->tcl_GlobalEval)(interp, command); } -/* Slot 147 */ +/* Slot 178 */ int Tcl_GlobalEvalObj(interp, objPtr) Tcl_Interp * interp; @@ -1425,15 +1728,7 @@ Tcl_GlobalEvalObj(interp, objPtr) return (tclStubsPtr->tcl_GlobalEvalObj)(interp, objPtr); } -/* Slot 148 */ -char * -Tcl_HashStats(tablePtr) - Tcl_HashTable * tablePtr; -{ - return (tclStubsPtr->tcl_HashStats)(tablePtr); -} - -/* Slot 149 */ +/* Slot 179 */ int Tcl_HideCommand(interp, cmdName, hiddenCmdToken) Tcl_Interp * interp; @@ -1443,7 +1738,7 @@ Tcl_HideCommand(interp, cmdName, hiddenCmdToken) return (tclStubsPtr->tcl_HideCommand)(interp, cmdName, hiddenCmdToken); } -/* Slot 150 */ +/* Slot 180 */ int Tcl_Init(interp) Tcl_Interp * interp; @@ -1451,7 +1746,7 @@ Tcl_Init(interp) return (tclStubsPtr->tcl_Init)(interp); } -/* Slot 151 */ +/* Slot 181 */ void Tcl_InitHashTable(tablePtr, keyType) Tcl_HashTable * tablePtr; @@ -1460,7 +1755,7 @@ Tcl_InitHashTable(tablePtr, keyType) (tclStubsPtr->tcl_InitHashTable)(tablePtr, keyType); } -/* Slot 152 */ +/* Slot 182 */ int Tcl_InputBlocked(chan) Tcl_Channel chan; @@ -1468,7 +1763,7 @@ Tcl_InputBlocked(chan) return (tclStubsPtr->tcl_InputBlocked)(chan); } -/* Slot 153 */ +/* Slot 183 */ int Tcl_InputBuffered(chan) Tcl_Channel chan; @@ -1476,7 +1771,7 @@ Tcl_InputBuffered(chan) return (tclStubsPtr->tcl_InputBuffered)(chan); } -/* Slot 154 */ +/* Slot 184 */ int Tcl_InterpDeleted(interp) Tcl_Interp * interp; @@ -1484,7 +1779,7 @@ Tcl_InterpDeleted(interp) return (tclStubsPtr->tcl_InterpDeleted)(interp); } -/* Slot 155 */ +/* Slot 185 */ int Tcl_IsSafe(interp) Tcl_Interp * interp; @@ -1492,15 +1787,7 @@ Tcl_IsSafe(interp) return (tclStubsPtr->tcl_IsSafe)(interp); } -/* Slot 156 */ -void -Tcl_InvalidateStringRep(objPtr) - Tcl_Obj * objPtr; -{ - (tclStubsPtr->tcl_InvalidateStringRep)(objPtr); -} - -/* Slot 157 */ +/* Slot 186 */ char * Tcl_JoinPath(argc, argv, resultPtr) int argc; @@ -1510,7 +1797,7 @@ Tcl_JoinPath(argc, argv, resultPtr) return (tclStubsPtr->tcl_JoinPath)(argc, argv, resultPtr); } -/* Slot 158 */ +/* Slot 187 */ int Tcl_LinkVar(interp, varName, addr, type) Tcl_Interp * interp; @@ -1521,72 +1808,8 @@ Tcl_LinkVar(interp, varName, addr, type) return (tclStubsPtr->tcl_LinkVar)(interp, varName, addr, type); } -/* Slot 159 */ -int -Tcl_ListObjAppendList(interp, listPtr, elemListPtr) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - Tcl_Obj * elemListPtr; -{ - return (tclStubsPtr->tcl_ListObjAppendList)(interp, listPtr, elemListPtr); -} - -/* Slot 160 */ -int -Tcl_ListObjAppendElement(interp, listPtr, objPtr) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - Tcl_Obj * objPtr; -{ - return (tclStubsPtr->tcl_ListObjAppendElement)(interp, listPtr, objPtr); -} - -/* Slot 161 */ -int -Tcl_ListObjGetElements(interp, listPtr, objcPtr, objvPtr) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - int * objcPtr; - Tcl_Obj *** objvPtr; -{ - return (tclStubsPtr->tcl_ListObjGetElements)(interp, listPtr, objcPtr, objvPtr); -} - -/* Slot 162 */ -int -Tcl_ListObjIndex(interp, listPtr, index, objPtrPtr) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - int index; - Tcl_Obj ** objPtrPtr; -{ - return (tclStubsPtr->tcl_ListObjIndex)(interp, listPtr, index, objPtrPtr); -} - -/* Slot 163 */ -int -Tcl_ListObjLength(interp, listPtr, intPtr) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - int * intPtr; -{ - return (tclStubsPtr->tcl_ListObjLength)(interp, listPtr, intPtr); -} - -/* Slot 164 */ -int -Tcl_ListObjReplace(interp, listPtr, first, count, objc, objv) - Tcl_Interp * interp; - Tcl_Obj * listPtr; - int first; - int count; - int objc; - Tcl_Obj *CONST objv[]; -{ - return (tclStubsPtr->tcl_ListObjReplace)(interp, listPtr, first, count, objc, objv); -} - -/* Slot 165 */ +/* Slot 188 is reserved */ +/* Slot 189 */ Tcl_Channel Tcl_MakeFileChannel(handle, mode) ClientData handle; @@ -1595,7 +1818,7 @@ Tcl_MakeFileChannel(handle, mode) return (tclStubsPtr->tcl_MakeFileChannel)(handle, mode); } -/* Slot 166 */ +/* Slot 190 */ int Tcl_MakeSafe(interp) Tcl_Interp * interp; @@ -1603,7 +1826,7 @@ Tcl_MakeSafe(interp) return (tclStubsPtr->tcl_MakeSafe)(interp); } -/* Slot 167 */ +/* Slot 191 */ Tcl_Channel Tcl_MakeTcpClientChannel(tcpSocket) ClientData tcpSocket; @@ -1611,7 +1834,7 @@ Tcl_MakeTcpClientChannel(tcpSocket) return (tclStubsPtr->tcl_MakeTcpClientChannel)(tcpSocket); } -/* Slot 168 */ +/* Slot 192 */ char * Tcl_Merge(argc, argv) int argc; @@ -1620,73 +1843,7 @@ Tcl_Merge(argc, argv) return (tclStubsPtr->tcl_Merge)(argc, argv); } -/* Slot 169 */ -Tcl_Obj * -Tcl_NewBooleanObj(boolValue) - int boolValue; -{ - return (tclStubsPtr->tcl_NewBooleanObj)(boolValue); -} - -/* Slot 170 */ -Tcl_Obj * -Tcl_NewByteArrayObj(bytes, length) - unsigned char * bytes; - int length; -{ - return (tclStubsPtr->tcl_NewByteArrayObj)(bytes, length); -} - -/* Slot 171 */ -Tcl_Obj * -Tcl_NewDoubleObj(doubleValue) - double doubleValue; -{ - return (tclStubsPtr->tcl_NewDoubleObj)(doubleValue); -} - -/* Slot 172 */ -Tcl_Obj * -Tcl_NewIntObj(intValue) - int intValue; -{ - return (tclStubsPtr->tcl_NewIntObj)(intValue); -} - -/* Slot 173 */ -Tcl_Obj * -Tcl_NewListObj(objc, objv) - int objc; - Tcl_Obj *CONST objv[]; -{ - return (tclStubsPtr->tcl_NewListObj)(objc, objv); -} - -/* Slot 174 */ -Tcl_Obj * -Tcl_NewLongObj(longValue) - long longValue; -{ - return (tclStubsPtr->tcl_NewLongObj)(longValue); -} - -/* Slot 175 */ -Tcl_Obj * -Tcl_NewObj() -{ - return (tclStubsPtr->tcl_NewObj)(); -} - -/* Slot 176 */ -Tcl_Obj * -Tcl_NewStringObj(bytes, length) - char * bytes; - int length; -{ - return (tclStubsPtr->tcl_NewStringObj)(bytes, length); -} - -/* Slot 177 */ +/* Slot 193 */ Tcl_HashEntry * Tcl_NextHashEntry(searchPtr) Tcl_HashSearch * searchPtr; @@ -1694,7 +1851,7 @@ Tcl_NextHashEntry(searchPtr) return (tclStubsPtr->tcl_NextHashEntry)(searchPtr); } -/* Slot 178 */ +/* Slot 194 */ void Tcl_NotifyChannel(channel, mask) Tcl_Channel channel; @@ -1703,7 +1860,7 @@ Tcl_NotifyChannel(channel, mask) (tclStubsPtr->tcl_NotifyChannel)(channel, mask); } -/* Slot 179 */ +/* Slot 195 */ Tcl_Obj * Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags) Tcl_Interp * interp; @@ -1714,7 +1871,7 @@ Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags) return (tclStubsPtr->tcl_ObjGetVar2)(interp, part1Ptr, part2Ptr, flags); } -/* Slot 180 */ +/* Slot 196 */ Tcl_Obj * Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags) Tcl_Interp * interp; @@ -1726,7 +1883,7 @@ Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags) return (tclStubsPtr->tcl_ObjSetVar2)(interp, part1Ptr, part2Ptr, newValuePtr, flags); } -/* Slot 181 */ +/* Slot 197 */ Tcl_Channel Tcl_OpenCommandChannel(interp, argc, argv, flags) Tcl_Interp * interp; @@ -1737,7 +1894,7 @@ Tcl_OpenCommandChannel(interp, argc, argv, flags) return (tclStubsPtr->tcl_OpenCommandChannel)(interp, argc, argv, flags); } -/* Slot 182 */ +/* Slot 198 */ Tcl_Channel Tcl_OpenFileChannel(interp, fileName, modeString, permissions) Tcl_Interp * interp; @@ -1748,7 +1905,7 @@ Tcl_OpenFileChannel(interp, fileName, modeString, permissions) return (tclStubsPtr->tcl_OpenFileChannel)(interp, fileName, modeString, permissions); } -/* Slot 183 */ +/* Slot 199 */ Tcl_Channel Tcl_OpenTcpClient(interp, port, address, myaddr, myport, async) Tcl_Interp * interp; @@ -1761,7 +1918,7 @@ Tcl_OpenTcpClient(interp, port, address, myaddr, myport, async) return (tclStubsPtr->tcl_OpenTcpClient)(interp, port, address, myaddr, myport, async); } -/* Slot 184 */ +/* Slot 200 */ Tcl_Channel Tcl_OpenTcpServer(interp, port, host, acceptProc, callbackData) Tcl_Interp * interp; @@ -1773,114 +1930,7 @@ Tcl_OpenTcpServer(interp, port, host, acceptProc, callbackData) return (tclStubsPtr->tcl_OpenTcpServer)(interp, port, host, acceptProc, callbackData); } -/* Slot 185 */ -void -panic TCL_VARARGS_DEF(char *,format) -{ - char * var; - va_list argList; - - var = (char *) TCL_VARARGS_START(char *,format,argList); - - (tclStubsPtr->panicVA)(var, argList); - va_end(argList); -} - -/* Slot 186 */ -void -panicVA(format, argList) - char * format; - va_list argList; -{ - (tclStubsPtr->panicVA)(format, argList); -} - -/* Slot 187 */ -char * -Tcl_ParseVar(interp, string, termPtr) - Tcl_Interp * interp; - char * string; - char ** termPtr; -{ - return (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr); -} - -/* Slot 188 */ -char * -Tcl_PkgPresent(interp, name, version, exact) - Tcl_Interp * interp; - char * name; - char * version; - int exact; -{ - return (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact); -} - -/* Slot 189 */ -char * -Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) - Tcl_Interp * interp; - char * name; - char * version; - int exact; - ClientData * clientDataPtr; -{ - return (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr); -} - -/* Slot 190 */ -int -Tcl_PkgProvide(interp, name, version) - Tcl_Interp * interp; - char * name; - char * version; -{ - return (tclStubsPtr->tcl_PkgProvide)(interp, name, version); -} - -/* Slot 191 */ -int -Tcl_PkgProvideEx(interp, name, version, clientData) - Tcl_Interp * interp; - char * name; - char * version; - ClientData clientData; -{ - return (tclStubsPtr->tcl_PkgProvideEx)(interp, name, version, clientData); -} - -/* Slot 192 */ -char * -Tcl_PkgRequire(interp, name, version, exact) - Tcl_Interp * interp; - char * name; - char * version; - int exact; -{ - return (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact); -} - -/* Slot 193 */ -char * -Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) - Tcl_Interp * interp; - char * name; - char * version; - int exact; - ClientData * clientDataPtr; -{ - return (tclStubsPtr->tcl_PkgRequireEx)(interp, name, version, exact, clientDataPtr); -} - -/* Slot 194 */ -char * -Tcl_PosixError(interp) - Tcl_Interp * interp; -{ - return (tclStubsPtr->tcl_PosixError)(interp); -} - -/* Slot 195 */ +/* Slot 201 */ void Tcl_Preserve(data) ClientData data; @@ -1888,7 +1938,7 @@ Tcl_Preserve(data) (tclStubsPtr->tcl_Preserve)(data); } -/* Slot 196 */ +/* Slot 202 */ void Tcl_PrintDouble(interp, value, dst) Tcl_Interp * interp; @@ -1898,7 +1948,7 @@ Tcl_PrintDouble(interp, value, dst) (tclStubsPtr->tcl_PrintDouble)(interp, value, dst); } -/* Slot 197 */ +/* Slot 203 */ int Tcl_PutEnv(string) CONST char * string; @@ -1906,7 +1956,15 @@ Tcl_PutEnv(string) return (tclStubsPtr->tcl_PutEnv)(string); } -/* Slot 198 */ +/* Slot 204 */ +char * +Tcl_PosixError(interp) + Tcl_Interp * interp; +{ + return (tclStubsPtr->tcl_PosixError)(interp); +} + +/* Slot 205 */ void Tcl_QueueEvent(evPtr, position) Tcl_Event * evPtr; @@ -1915,7 +1973,7 @@ Tcl_QueueEvent(evPtr, position) (tclStubsPtr->tcl_QueueEvent)(evPtr, position); } -/* Slot 199 */ +/* Slot 206 */ int Tcl_Read(chan, bufPtr, toRead) Tcl_Channel chan; @@ -1925,23 +1983,14 @@ Tcl_Read(chan, bufPtr, toRead) return (tclStubsPtr->tcl_Read)(chan, bufPtr, toRead); } -/* Slot 200 */ -char * -Tcl_Realloc(ptr, size) - char * ptr; - unsigned int size; -{ - return (tclStubsPtr->tcl_Realloc)(ptr, size); -} - -/* Slot 201 */ +/* Slot 207 */ void Tcl_ReapDetachedProcs() { (tclStubsPtr->tcl_ReapDetachedProcs)(); } -/* Slot 202 */ +/* Slot 208 */ int Tcl_RecordAndEval(interp, cmd, flags) Tcl_Interp * interp; @@ -1951,7 +2000,7 @@ Tcl_RecordAndEval(interp, cmd, flags) return (tclStubsPtr->tcl_RecordAndEval)(interp, cmd, flags); } -/* Slot 203 */ +/* Slot 209 */ int Tcl_RecordAndEvalObj(interp, cmdPtr, flags) Tcl_Interp * interp; @@ -1961,7 +2010,24 @@ Tcl_RecordAndEvalObj(interp, cmdPtr, flags) return (tclStubsPtr->tcl_RecordAndEvalObj)(interp, cmdPtr, flags); } -/* Slot 204 */ +/* Slot 210 */ +void +Tcl_RegisterChannel(interp, chan) + Tcl_Interp * interp; + Tcl_Channel chan; +{ + (tclStubsPtr->tcl_RegisterChannel)(interp, chan); +} + +/* Slot 211 */ +void +Tcl_RegisterObjType(typePtr) + Tcl_ObjType * typePtr; +{ + (tclStubsPtr->tcl_RegisterObjType)(typePtr); +} + +/* Slot 212 */ Tcl_RegExp Tcl_RegExpCompile(interp, string) Tcl_Interp * interp; @@ -1970,7 +2036,7 @@ Tcl_RegExpCompile(interp, string) return (tclStubsPtr->tcl_RegExpCompile)(interp, string); } -/* Slot 205 */ +/* Slot 213 */ int Tcl_RegExpExec(interp, regexp, string, start) Tcl_Interp * interp; @@ -1981,7 +2047,7 @@ Tcl_RegExpExec(interp, regexp, string, start) return (tclStubsPtr->tcl_RegExpExec)(interp, regexp, string, start); } -/* Slot 206 */ +/* Slot 214 */ int Tcl_RegExpMatch(interp, string, pattern) Tcl_Interp * interp; @@ -1991,7 +2057,7 @@ Tcl_RegExpMatch(interp, string, pattern) return (tclStubsPtr->tcl_RegExpMatch)(interp, string, pattern); } -/* Slot 207 */ +/* Slot 215 */ void Tcl_RegExpRange(regexp, index, startPtr, endPtr) Tcl_RegExp regexp; @@ -2002,24 +2068,7 @@ Tcl_RegExpRange(regexp, index, startPtr, endPtr) (tclStubsPtr->tcl_RegExpRange)(regexp, index, startPtr, endPtr); } -/* Slot 208 */ -void -Tcl_RegisterChannel(interp, chan) - Tcl_Interp * interp; - Tcl_Channel chan; -{ - (tclStubsPtr->tcl_RegisterChannel)(interp, chan); -} - -/* Slot 209 */ -void -Tcl_RegisterObjType(typePtr) - Tcl_ObjType * typePtr; -{ - (tclStubsPtr->tcl_RegisterObjType)(typePtr); -} - -/* Slot 210 */ +/* Slot 216 */ void Tcl_Release(clientData) ClientData clientData; @@ -2027,7 +2076,7 @@ Tcl_Release(clientData) (tclStubsPtr->tcl_Release)(clientData); } -/* Slot 211 */ +/* Slot 217 */ void Tcl_ResetResult(interp) Tcl_Interp * interp; @@ -2035,26 +2084,26 @@ Tcl_ResetResult(interp) (tclStubsPtr->tcl_ResetResult)(interp); } -/* Slot 212 */ +/* Slot 218 */ int -Tcl_ScanCountedElement(string, length, flagPtr) +Tcl_ScanElement(string, flagPtr) CONST char * string; - int length; int * flagPtr; { - return (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr); + return (tclStubsPtr->tcl_ScanElement)(string, flagPtr); } -/* Slot 213 */ +/* Slot 219 */ int -Tcl_ScanElement(string, flagPtr) +Tcl_ScanCountedElement(string, length, flagPtr) CONST char * string; + int length; int * flagPtr; { - return (tclStubsPtr->tcl_ScanElement)(string, flagPtr); + return (tclStubsPtr->tcl_ScanCountedElement)(string, length, flagPtr); } -/* Slot 214 */ +/* Slot 220 */ int Tcl_Seek(chan, offset, mode) Tcl_Channel chan; @@ -2064,14 +2113,14 @@ Tcl_Seek(chan, offset, mode) return (tclStubsPtr->tcl_Seek)(chan, offset, mode); } -/* Slot 215 */ +/* Slot 221 */ int Tcl_ServiceAll() { return (tclStubsPtr->tcl_ServiceAll)(); } -/* Slot 216 */ +/* Slot 222 */ int Tcl_ServiceEvent(flags) int flags; @@ -2079,7 +2128,7 @@ Tcl_ServiceEvent(flags) return (tclStubsPtr->tcl_ServiceEvent)(flags); } -/* Slot 217 */ +/* Slot 223 */ void Tcl_SetAssocData(interp, name, proc, clientData) Tcl_Interp * interp; @@ -2090,35 +2139,7 @@ Tcl_SetAssocData(interp, name, proc, clientData) (tclStubsPtr->tcl_SetAssocData)(interp, name, proc, clientData); } -/* Slot 218 */ -void -Tcl_SetBooleanObj(objPtr, boolValue) - Tcl_Obj * objPtr; - int boolValue; -{ - (tclStubsPtr->tcl_SetBooleanObj)(objPtr, boolValue); -} - -/* Slot 219 */ -unsigned char * -Tcl_SetByteArrayLength(objPtr, length) - Tcl_Obj * objPtr; - int length; -{ - return (tclStubsPtr->tcl_SetByteArrayLength)(objPtr, length); -} - -/* Slot 220 */ -void -Tcl_SetByteArrayObj(objPtr, bytes, length) - Tcl_Obj * objPtr; - unsigned char * bytes; - int length; -{ - (tclStubsPtr->tcl_SetByteArrayObj)(objPtr, bytes, length); -} - -/* Slot 221 */ +/* Slot 224 */ void Tcl_SetChannelBufferSize(chan, sz) Tcl_Channel chan; @@ -2127,7 +2148,7 @@ Tcl_SetChannelBufferSize(chan, sz) (tclStubsPtr->tcl_SetChannelBufferSize)(chan, sz); } -/* Slot 222 */ +/* Slot 225 */ int Tcl_SetChannelOption(interp, chan, optionName, newValue) Tcl_Interp * interp; @@ -2138,7 +2159,7 @@ Tcl_SetChannelOption(interp, chan, optionName, newValue) return (tclStubsPtr->tcl_SetChannelOption)(interp, chan, optionName, newValue); } -/* Slot 223 */ +/* Slot 226 */ int Tcl_SetCommandInfo(interp, cmdName, infoPtr) Tcl_Interp * interp; @@ -2148,16 +2169,7 @@ Tcl_SetCommandInfo(interp, cmdName, infoPtr) return (tclStubsPtr->tcl_SetCommandInfo)(interp, cmdName, infoPtr); } -/* Slot 224 */ -void -Tcl_SetDoubleObj(objPtr, doubleValue) - Tcl_Obj * objPtr; - double doubleValue; -{ - (tclStubsPtr->tcl_SetDoubleObj)(objPtr, doubleValue); -} - -/* Slot 225 */ +/* Slot 227 */ void Tcl_SetErrno(err) int err; @@ -2165,7 +2177,7 @@ Tcl_SetErrno(err) (tclStubsPtr->tcl_SetErrno)(err); } -/* Slot 226 */ +/* Slot 228 */ void Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,interp) { @@ -2178,79 +2190,15 @@ Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,interp) va_end(argList); } -/* Slot 227 */ -void -Tcl_SetErrorCodeVA(interp, argList) - Tcl_Interp * interp; - va_list argList; -{ - (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList); -} - -/* Slot 228 */ -void -Tcl_SetIntObj(objPtr, intValue) - Tcl_Obj * objPtr; - int intValue; -{ - (tclStubsPtr->tcl_SetIntObj)(objPtr, intValue); -} - /* Slot 229 */ void -Tcl_SetListObj(objPtr, objc, objv) - Tcl_Obj * objPtr; - int objc; - Tcl_Obj *CONST objv[]; -{ - (tclStubsPtr->tcl_SetListObj)(objPtr, objc, objv); -} - -/* Slot 230 */ -void -Tcl_SetLongObj(objPtr, longValue) - Tcl_Obj * objPtr; - long longValue; -{ - (tclStubsPtr->tcl_SetLongObj)(objPtr, longValue); -} - -/* Slot 231 */ -void Tcl_SetMaxBlockTime(timePtr) Tcl_Time * timePtr; { (tclStubsPtr->tcl_SetMaxBlockTime)(timePtr); } -/* Slot 232 */ -void -Tcl_SetObjErrorCode(interp, errorObjPtr) - Tcl_Interp * interp; - Tcl_Obj * errorObjPtr; -{ - (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr); -} - -/* Slot 233 */ -void -Tcl_SetObjLength(objPtr, length) - Tcl_Obj * objPtr; - int length; -{ - (tclStubsPtr->tcl_SetObjLength)(objPtr, length); -} - -/* Slot 234 */ -void -Tcl_SetObjResult(interp, resultObjPtr) - Tcl_Interp * interp; - Tcl_Obj * resultObjPtr; -{ - (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr); -} - -/* Slot 235 */ +/* Slot 230 */ void Tcl_SetPanicProc(panicProc) Tcl_PanicProc * panicProc; @@ -2258,7 +2206,7 @@ Tcl_SetPanicProc(panicProc) (tclStubsPtr->tcl_SetPanicProc)(panicProc); } -/* Slot 236 */ +/* Slot 231 */ int Tcl_SetRecursionLimit(interp, depth) Tcl_Interp * interp; @@ -2267,7 +2215,7 @@ Tcl_SetRecursionLimit(interp, depth) return (tclStubsPtr->tcl_SetRecursionLimit)(interp, depth); } -/* Slot 237 */ +/* Slot 232 */ void Tcl_SetResult(interp, string, freeProc) Tcl_Interp * interp; @@ -2277,7 +2225,7 @@ Tcl_SetResult(interp, string, freeProc) (tclStubsPtr->tcl_SetResult)(interp, string, freeProc); } -/* Slot 238 */ +/* Slot 233 */ int Tcl_SetServiceMode(mode) int mode; @@ -2285,34 +2233,34 @@ Tcl_SetServiceMode(mode) return (tclStubsPtr->tcl_SetServiceMode)(mode); } -/* Slot 239 */ +/* Slot 234 */ void -Tcl_SetStdChannel(channel, type) - Tcl_Channel channel; - int type; +Tcl_SetObjErrorCode(interp, errorObjPtr) + Tcl_Interp * interp; + Tcl_Obj * errorObjPtr; { - (tclStubsPtr->tcl_SetStdChannel)(channel, type); + (tclStubsPtr->tcl_SetObjErrorCode)(interp, errorObjPtr); } -/* Slot 240 */ +/* Slot 235 */ void -Tcl_SetStringObj(objPtr, bytes, length) - Tcl_Obj * objPtr; - char * bytes; - int length; +Tcl_SetObjResult(interp, resultObjPtr) + Tcl_Interp * interp; + Tcl_Obj * resultObjPtr; { - (tclStubsPtr->tcl_SetStringObj)(objPtr, bytes, length); + (tclStubsPtr->tcl_SetObjResult)(interp, resultObjPtr); } -/* Slot 241 */ +/* Slot 236 */ void -Tcl_SetTimer(timePtr) - Tcl_Time * timePtr; +Tcl_SetStdChannel(channel, type) + Tcl_Channel channel; + int type; { - (tclStubsPtr->tcl_SetTimer)(timePtr); + (tclStubsPtr->tcl_SetStdChannel)(channel, type); } -/* Slot 242 */ +/* Slot 237 */ char * Tcl_SetVar(interp, varName, newValue, flags) Tcl_Interp * interp; @@ -2323,7 +2271,7 @@ Tcl_SetVar(interp, varName, newValue, flags) return (tclStubsPtr->tcl_SetVar)(interp, varName, newValue, flags); } -/* Slot 243 */ +/* Slot 238 */ char * Tcl_SetVar2(interp, part1, part2, newValue, flags) Tcl_Interp * interp; @@ -2335,7 +2283,7 @@ Tcl_SetVar2(interp, part1, part2, newValue, flags) return (tclStubsPtr->tcl_SetVar2)(interp, part1, part2, newValue, flags); } -/* Slot 244 */ +/* Slot 239 */ char * Tcl_SignalId(sig) int sig; @@ -2343,7 +2291,7 @@ Tcl_SignalId(sig) return (tclStubsPtr->tcl_SignalId)(sig); } -/* Slot 245 */ +/* Slot 240 */ char * Tcl_SignalMsg(sig) int sig; @@ -2351,15 +2299,7 @@ Tcl_SignalMsg(sig) return (tclStubsPtr->tcl_SignalMsg)(sig); } -/* Slot 246 */ -void -Tcl_Sleep(ms) - int ms; -{ - (tclStubsPtr->tcl_Sleep)(ms); -} - -/* Slot 247 */ +/* Slot 241 */ void Tcl_SourceRCFile(interp) Tcl_Interp * interp; @@ -2367,7 +2307,7 @@ Tcl_SourceRCFile(interp) (tclStubsPtr->tcl_SourceRCFile)(interp); } -/* Slot 248 */ +/* Slot 242 */ int Tcl_SplitList(interp, list, argcPtr, argvPtr) Tcl_Interp * interp; @@ -2378,7 +2318,7 @@ Tcl_SplitList(interp, list, argcPtr, argvPtr) return (tclStubsPtr->tcl_SplitList)(interp, list, argcPtr, argvPtr); } -/* Slot 249 */ +/* Slot 243 */ void Tcl_SplitPath(path, argcPtr, argvPtr) char * path; @@ -2388,7 +2328,7 @@ Tcl_SplitPath(path, argcPtr, argvPtr) (tclStubsPtr->tcl_SplitPath)(path, argcPtr, argvPtr); } -/* Slot 250 */ +/* Slot 244 */ void Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc) Tcl_Interp * interp; @@ -2399,7 +2339,7 @@ Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc) (tclStubsPtr->tcl_StaticPackage)(interp, pkgName, initProc, safeInitProc); } -/* Slot 251 */ +/* Slot 245 */ int Tcl_StringMatch(string, pattern) char * string; @@ -2408,7 +2348,7 @@ Tcl_StringMatch(string, pattern) return (tclStubsPtr->tcl_StringMatch)(string, pattern); } -/* Slot 252 */ +/* Slot 246 */ int Tcl_Tell(chan) Tcl_Channel chan; @@ -2416,7 +2356,7 @@ Tcl_Tell(chan) return (tclStubsPtr->tcl_Tell)(chan); } -/* Slot 253 */ +/* Slot 247 */ int Tcl_TraceVar(interp, varName, flags, proc, clientData) Tcl_Interp * interp; @@ -2428,7 +2368,7 @@ Tcl_TraceVar(interp, varName, flags, proc, clientData) return (tclStubsPtr->tcl_TraceVar)(interp, varName, flags, proc, clientData); } -/* Slot 254 */ +/* Slot 248 */ int Tcl_TraceVar2(interp, part1, part2, flags, proc, clientData) Tcl_Interp * interp; @@ -2441,7 +2381,7 @@ Tcl_TraceVar2(interp, part1, part2, flags, proc, clientData) return (tclStubsPtr->tcl_TraceVar2)(interp, part1, part2, flags, proc, clientData); } -/* Slot 255 */ +/* Slot 249 */ char * Tcl_TranslateFileName(interp, name, bufferPtr) Tcl_Interp * interp; @@ -2451,7 +2391,7 @@ Tcl_TranslateFileName(interp, name, bufferPtr) return (tclStubsPtr->tcl_TranslateFileName)(interp, name, bufferPtr); } -/* Slot 256 */ +/* Slot 250 */ int Tcl_Ungets(chan, str, len, atHead) Tcl_Channel chan; @@ -2462,7 +2402,7 @@ Tcl_Ungets(chan, str, len, atHead) return (tclStubsPtr->tcl_Ungets)(chan, str, len, atHead); } -/* Slot 257 */ +/* Slot 251 */ void Tcl_UnlinkVar(interp, varName) Tcl_Interp * interp; @@ -2471,7 +2411,7 @@ Tcl_UnlinkVar(interp, varName) (tclStubsPtr->tcl_UnlinkVar)(interp, varName); } -/* Slot 258 */ +/* Slot 252 */ int Tcl_UnregisterChannel(interp, chan) Tcl_Interp * interp; @@ -2480,7 +2420,7 @@ Tcl_UnregisterChannel(interp, chan) return (tclStubsPtr->tcl_UnregisterChannel)(interp, chan); } -/* Slot 259 */ +/* Slot 253 */ int Tcl_UnsetVar(interp, varName, flags) Tcl_Interp * interp; @@ -2490,7 +2430,7 @@ Tcl_UnsetVar(interp, varName, flags) return (tclStubsPtr->tcl_UnsetVar)(interp, varName, flags); } -/* Slot 260 */ +/* Slot 254 */ int Tcl_UnsetVar2(interp, part1, part2, flags) Tcl_Interp * interp; @@ -2501,7 +2441,7 @@ Tcl_UnsetVar2(interp, part1, part2, flags) return (tclStubsPtr->tcl_UnsetVar2)(interp, part1, part2, flags); } -/* Slot 261 */ +/* Slot 255 */ void Tcl_UntraceVar(interp, varName, flags, proc, clientData) Tcl_Interp * interp; @@ -2513,7 +2453,7 @@ Tcl_UntraceVar(interp, varName, flags, proc, clientData) (tclStubsPtr->tcl_UntraceVar)(interp, varName, flags, proc, clientData); } -/* Slot 262 */ +/* Slot 256 */ void Tcl_UntraceVar2(interp, part1, part2, flags, proc, clientData) Tcl_Interp * interp; @@ -2526,7 +2466,7 @@ Tcl_UntraceVar2(interp, part1, part2, flags, proc, clientData) (tclStubsPtr->tcl_UntraceVar2)(interp, part1, part2, flags, proc, clientData); } -/* Slot 263 */ +/* Slot 257 */ void Tcl_UpdateLinkedVar(interp, varName) Tcl_Interp * interp; @@ -2535,7 +2475,7 @@ Tcl_UpdateLinkedVar(interp, varName) (tclStubsPtr->tcl_UpdateLinkedVar)(interp, varName); } -/* Slot 264 */ +/* Slot 258 */ int Tcl_UpVar(interp, frameName, varName, localName, flags) Tcl_Interp * interp; @@ -2547,7 +2487,7 @@ Tcl_UpVar(interp, frameName, varName, localName, flags) return (tclStubsPtr->tcl_UpVar)(interp, frameName, varName, localName, flags); } -/* Slot 265 */ +/* Slot 259 */ int Tcl_UpVar2(interp, frameName, part1, part2, localName, flags) Tcl_Interp * interp; @@ -2560,16 +2500,7 @@ Tcl_UpVar2(interp, frameName, part1, part2, localName, flags) return (tclStubsPtr->tcl_UpVar2)(interp, frameName, part1, part2, localName, flags); } -/* Slot 266 */ -void -Tcl_ValidateAllMemory(file, line) - char * file; - int line; -{ - (tclStubsPtr->tcl_ValidateAllMemory)(file, line); -} - -/* Slot 267 */ +/* Slot 260 */ int Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,interp) { @@ -2584,16 +2515,7 @@ Tcl_VarEval TCL_VARARGS_DEF(Tcl_Interp *,interp) return resultValue; } -/* Slot 268 */ -int -Tcl_VarEvalVA(interp, argList) - Tcl_Interp * interp; - va_list argList; -{ - return (tclStubsPtr->tcl_VarEvalVA)(interp, argList); -} - -/* Slot 269 */ +/* Slot 261 */ ClientData Tcl_VarTraceInfo(interp, varName, flags, procPtr, prevClientData) Tcl_Interp * interp; @@ -2605,7 +2527,7 @@ Tcl_VarTraceInfo(interp, varName, flags, procPtr, prevClientData) return (tclStubsPtr->tcl_VarTraceInfo)(interp, varName, flags, procPtr, prevClientData); } -/* Slot 270 */ +/* Slot 262 */ ClientData Tcl_VarTraceInfo2(interp, part1, part2, flags, procPtr, prevClientData) Tcl_Interp * interp; @@ -2618,25 +2540,7 @@ Tcl_VarTraceInfo2(interp, part1, part2, flags, procPtr, prevClientData) return (tclStubsPtr->tcl_VarTraceInfo2)(interp, part1, part2, flags, procPtr, prevClientData); } -/* Slot 271 */ -int -Tcl_WaitForEvent(timePtr) - Tcl_Time * timePtr; -{ - return (tclStubsPtr->tcl_WaitForEvent)(timePtr); -} - -/* Slot 272 */ -Tcl_Pid -Tcl_WaitPid(pid, statPtr, options) - Tcl_Pid pid; - int * statPtr; - int options; -{ - return (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options); -} - -/* Slot 273 */ +/* Slot 263 */ int Tcl_Write(chan, s, slen) Tcl_Channel chan; @@ -2646,7 +2550,7 @@ Tcl_Write(chan, s, slen) return (tclStubsPtr->tcl_Write)(chan, s, slen); } -/* Slot 274 */ +/* Slot 264 */ void Tcl_WrongNumArgs(interp, objc, objv, message) Tcl_Interp * interp; @@ -2657,5 +2561,139 @@ Tcl_WrongNumArgs(interp, objc, objv, message) (tclStubsPtr->tcl_WrongNumArgs)(interp, objc, objv, message); } +/* Slot 265 */ +int +Tcl_DumpActiveMemory(fileName) + char * fileName; +{ + return (tclStubsPtr->tcl_DumpActiveMemory)(fileName); +} + +/* Slot 266 */ +void +Tcl_ValidateAllMemory(file, line) + char * file; + int line; +{ + (tclStubsPtr->tcl_ValidateAllMemory)(file, line); +} + +/* Slot 267 */ +void +Tcl_AppendResultVA(interp, argList) + Tcl_Interp * interp; + va_list argList; +{ + (tclStubsPtr->tcl_AppendResultVA)(interp, argList); +} + +/* Slot 268 */ +void +Tcl_AppendStringsToObjVA(objPtr, argList) + Tcl_Obj * objPtr; + va_list argList; +{ + (tclStubsPtr->tcl_AppendStringsToObjVA)(objPtr, argList); +} + +/* Slot 269 */ +char * +Tcl_HashStats(tablePtr) + Tcl_HashTable * tablePtr; +{ + return (tclStubsPtr->tcl_HashStats)(tablePtr); +} + +/* Slot 270 */ +char * +Tcl_ParseVar(interp, string, termPtr) + Tcl_Interp * interp; + char * string; + char ** termPtr; +{ + return (tclStubsPtr->tcl_ParseVar)(interp, string, termPtr); +} + +/* Slot 271 */ +char * +Tcl_PkgPresent(interp, name, version, exact) + Tcl_Interp * interp; + char * name; + char * version; + int exact; +{ + return (tclStubsPtr->tcl_PkgPresent)(interp, name, version, exact); +} + +/* Slot 272 */ +char * +Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr) + Tcl_Interp * interp; + char * name; + char * version; + int exact; + ClientData * clientDataPtr; +{ + return (tclStubsPtr->tcl_PkgPresentEx)(interp, name, version, exact, clientDataPtr); +} + +/* Slot 273 */ +int +Tcl_PkgProvide(interp, name, version) + Tcl_Interp * interp; + char * name; + char * version; +{ + return (tclStubsPtr->tcl_PkgProvide)(interp, name, version); +} + +/* Slot 274 */ +char * +Tcl_PkgRequire(interp, name, version, exact) + Tcl_Interp * interp; + char * name; + char * version; + int exact; +{ + return (tclStubsPtr->tcl_PkgRequire)(interp, name, version, exact); +} + +/* Slot 275 */ +void +Tcl_SetErrorCodeVA(interp, argList) + Tcl_Interp * interp; + va_list argList; +{ + (tclStubsPtr->tcl_SetErrorCodeVA)(interp, argList); +} + +/* Slot 276 */ +int +Tcl_VarEvalVA(interp, argList) + Tcl_Interp * interp; + va_list argList; +{ + return (tclStubsPtr->tcl_VarEvalVA)(interp, argList); +} + +/* Slot 277 */ +Tcl_Pid +Tcl_WaitPid(pid, statPtr, options) + Tcl_Pid pid; + int * statPtr; + int options; +{ + return (tclStubsPtr->tcl_WaitPid)(pid, statPtr, options); +} + +/* Slot 278 */ +void +panicVA(format, argList) + char * format; + va_list argList; +{ + (tclStubsPtr->panicVA)(format, argList); +} + /* !END!: Do not edit above this line. */ diff --git a/generic/tclTest.c b/generic/tclTest.c index 23dc31f..b31ed64 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclTest.c,v 1.8 1999/02/03 02:58:25 stanton Exp $ + * RCS: @(#) $Id: tclTest.c,v 1.9 1999/03/10 05:52:50 stanton Exp $ */ #define TCL_TEST @@ -2716,6 +2716,7 @@ NoopObjCmd(unused, interp, objc, objv) */ /* ARGSUSED */ +static int TestsetCmd(data, interp, argc, argv) ClientData data; /* Additional flags for Get/SetVar2. */ register Tcl_Interp *interp; /* Current interpreter. */ diff --git a/generic/tclUtil.c b/generic/tclUtil.c index bdbac1c..c02c700 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.3 1998/09/14 18:40:02 stanton Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.4 1999/03/10 05:52:50 stanton Exp $ */ #include "tclInt.h" @@ -1409,7 +1409,7 @@ Tcl_GetObjResult(interp) /* *---------------------------------------------------------------------- * - * Tcl_AppendResult -- + * Tcl_AppendResultVA -- * * Append a variable number of strings onto the interpreter's string * result. @@ -1419,8 +1419,8 @@ Tcl_GetObjResult(interp) * * Side effects: * The result of the interpreter given by the first argument is - * extended by the strings given by the second and following arguments - * (up to a terminating NULL argument). + * extended by the strings in the va_list (up to a terminating NULL + * argument). * * If the string result is empty, the object result is moved to the * string result, then the object result is reset. @@ -1429,10 +1429,13 @@ Tcl_GetObjResult(interp) */ void -Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_AppendResultVA (interp, argList) + Tcl_Interp *interp; /* Interpreter with which to associate the + * return value. */ + va_list argList; /* Variable argument list. */ { - va_list argList; - Interp *iPtr; + Interp *iPtr = (Interp *) interp; + va_list tmpArgList; char *string; int newSpace; @@ -1442,7 +1445,6 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * FAILS IF OBJECT RESULT'S STRING REPRESENTATION CONTAINS NULLS. */ - iPtr = (Interp *) TCL_VARARGS_START(Tcl_Interp *,arg1,argList); if (*(iPtr->result) == 0) { Tcl_SetResult((Tcl_Interp *) iPtr, TclGetStringFromObj(Tcl_GetObjResult((Tcl_Interp *) iPtr), @@ -1454,15 +1456,15 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * Scan through all the arguments to see how much space is needed. */ + tmpArgList = argList; newSpace = 0; while (1) { - string = va_arg(argList, char *); + string = va_arg(tmpArgList, char *); if (string == NULL) { break; } newSpace += strlen(string); } - va_end(argList); /* * If the append buffer isn't already setup and large enough to hold @@ -1480,7 +1482,6 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) * buffer. */ - TCL_VARARGS_START(Tcl_Interp *,arg1,argList); while (1) { string = va_arg(argList, char *); if (string == NULL) { @@ -1489,6 +1490,38 @@ Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) strcpy(iPtr->appendResult + iPtr->appendUsed, string); iPtr->appendUsed += strlen(string); } +} + +/* + *---------------------------------------------------------------------- + * + * Tcl_AppendResult -- + * + * Append a variable number of strings onto the interpreter's string + * result. + * + * Results: + * None. + * + * Side effects: + * The result of the interpreter given by the first argument is + * extended by the strings given by the second and following arguments + * (up to a terminating NULL argument). + * + * If the string result is empty, the object result is moved to the + * string result, then the object result is reset. + * + *---------------------------------------------------------------------- + */ + +void +Tcl_AppendResult TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + Tcl_AppendResultVA(interp, argList); va_end(argList); } @@ -1724,7 +1757,7 @@ Tcl_ResetResult(interp) /* *---------------------------------------------------------------------- * - * Tcl_SetErrorCode -- + * Tcl_SetErrorCodeVA -- * * This procedure is called to record machine-readable information * about an error that is about to be returned. @@ -1741,21 +1774,22 @@ Tcl_ResetResult(interp) * *---------------------------------------------------------------------- */ - /* VARARGS2 */ + void -Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) +Tcl_SetErrorCodeVA (interp, argList) + Tcl_Interp *interp; /* Interpreter in which to access the errorCode + * variable. */ + va_list argList; /* Variable argument list. */ { - va_list argList; char *string; int flags; - Interp *iPtr; + Interp *iPtr = (Interp *) interp; /* * Scan through the arguments one at a time, appending them to * $errorCode as list elements. */ - iPtr = (Interp *) TCL_VARARGS_START(Tcl_Interp *,arg1,argList); flags = TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT; while (1) { string = va_arg(argList, char *); @@ -1766,13 +1800,49 @@ Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) (char *) NULL, string, flags); flags |= TCL_APPEND_VALUE; } - va_end(argList); iPtr->flags |= ERROR_CODE_SET; } /* *---------------------------------------------------------------------- * + * Tcl_SetErrorCode -- + * + * This procedure is called to record machine-readable information + * about an error that is about to be returned. + * + * Results: + * None. + * + * Side effects: + * The errorCode global variable is modified to hold all of the + * arguments to this procedure, in a list form with each argument + * becoming one element of the list. A flag is set internally + * to remember that errorCode has been set, so the variable doesn't + * get set automatically when the error is returned. + * + *---------------------------------------------------------------------- + */ + /* VARARGS2 */ +void +Tcl_SetErrorCode TCL_VARARGS_DEF(Tcl_Interp *,arg1) +{ + Tcl_Interp *interp; + va_list argList; + + /* + * Scan through the arguments one at a time, appending them to + * $errorCode as list elements. + */ + + interp = TCL_VARARGS_START(Tcl_Interp *,arg1,argList); + Tcl_SetErrorCodeVA(interp, argList); + va_end(argList); +} + +/* + *---------------------------------------------------------------------- + * * Tcl_SetObjErrorCode -- * * This procedure is called to record machine-readable information diff --git a/mac/tclMac.h b/mac/tclMac.h index 593232b..a051cc8 100644 --- a/mac/tclMac.h +++ b/mac/tclMac.h @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMac.h,v 1.3 1998/11/10 06:49:22 jingham Exp $ + * RCS: @(#) $Id: tclMac.h,v 1.4 1999/03/10 05:52:51 stanton Exp $ */ #ifndef _TCLMAC @@ -31,70 +31,7 @@ typedef int (*Tcl_MacConvertEventPtr) _ANSI_ARGS_((EventRecord *eventPtr)); -/* - * This is needed by the shells to handle Macintosh events. - */ - -EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); - -/* - * These routines are useful for handling using scripts from resources - * in the application shell - */ - -EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_((Handle resource)); -EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp *interp, - char *resourceName, int resourceNumber, char *fileName)); -EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp *interp, - long resourceType, char *resourceName, - int resourceNumber, char *resFileRef, int * releaseIt)); - -/* These routines support the new OSType object type (i.e. the packed 4 - * character type and creator codes). - */ - -EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *objPtr, OSType *osTypePtr)); -EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj *objPtr, - OSType osType)); -EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType)); - - - -/* - * The following routines are utility functions in Tcl. They are exported - * here because they are needed in Tk. They are not officially supported, - * however. The first set are from the MoreFiles package. - */ - -EXTERN pascal OSErr FSpGetDirectoryID(const FSSpec *spec, - long *theDirID, Boolean *isDirectory); -EXTERN pascal short FSpOpenResFileCompat(const FSSpec *spec, - SignedByte permission); -EXTERN pascal void FSpCreateResFileCompat(const FSSpec *spec, - OSType creator, OSType fileType, - ScriptCode scriptTag); -/* - * Like the MoreFiles routines these fix problems in the standard - * Mac calls. These routines is from tclMacUtils.h. - */ - -EXTERN int FSpLocationFromPath _ANSI_ARGS_((int length, CONST char *path, - FSSpecPtr theSpec)); -EXTERN OSErr FSpPathFromLocation _ANSI_ARGS_((FSSpecPtr theSpec, - int *length, Handle *fullPath)); - -/* - * These are not in MSL 2.1.2, so we need to export them from the - * Tcl shared library. They are found in the compat directory - * except the panic routine which is found in tclMacPanic.h. - */ - -EXTERN int strncasecmp _ANSI_ARGS_((CONST char *s1, - CONST char *s2, size_t n)); -EXTERN int strcasecmp _ANSI_ARGS_((CONST char *s1, - CONST char *s2)); -EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format)); +#include "tclPlatDecls.h" #pragma export reset diff --git a/mac/tclMacChan.c b/mac/tclMacChan.c index 781ee64..38be0a4 100644 --- a/mac/tclMacChan.c +++ b/mac/tclMacChan.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacChan.c,v 1.3 1998/09/14 18:40:04 stanton Exp $ + * RCS: @(#) $Id: tclMacChan.c,v 1.4 1999/03/10 05:52:51 stanton Exp $ */ #include "tclInt.h" @@ -921,6 +921,35 @@ OpenFileChannel( /* *---------------------------------------------------------------------- * + * Tcl_MakeFileChannel -- + * + * Makes a Tcl_Channel from an existing OS level file handle. + * + * Results: + * The Tcl_Channel created around the preexisting OS level file handle. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +Tcl_Channel +Tcl_MakeFileChannel(handle, mode) + ClientData handle; /* OS level handle. */ + int mode; /* ORed combination of TCL_READABLE and + * TCL_WRITABLE to indicate file mode. */ +{ + /* + * Not implemented yet. + */ + + return NULL; +} + +/* + *---------------------------------------------------------------------- + * * FileBlockMode -- * * Set blocking or non-blocking mode on channel. Macintosh files diff --git a/mac/tclMacFile.c b/mac/tclMacFile.c index 4de2267..2fc697e 100644 --- a/mac/tclMacFile.c +++ b/mac/tclMacFile.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacFile.c,v 1.4 1998/09/14 18:40:05 stanton Exp $ + * RCS: @(#) $Id: tclMacFile.c,v 1.5 1999/03/10 05:52:51 stanton Exp $ */ /* diff --git a/mac/tclMacInt.h b/mac/tclMacInt.h index a6ceda0..494cf8b 100644 --- a/mac/tclMacInt.h +++ b/mac/tclMacInt.h @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacInt.h,v 1.2 1998/09/14 18:40:05 stanton Exp $ + * RCS: @(#) $Id: tclMacInt.h,v 1.3 1999/03/10 05:52:51 stanton Exp $ */ #ifndef _TCLMACINT @@ -46,34 +46,8 @@ */ typedef pascal void (*ExitToShellProcPtr)(void); -/* - * Prototypes for functions found in the tclMacUtil.c compatability library. - */ - -EXTERN int FSpGetDefaultDir _ANSI_ARGS_((FSSpecPtr theSpec)); -EXTERN int FSpSetDefaultDir _ANSI_ARGS_((FSSpecPtr theSpec)); -EXTERN OSErr FSpFindFolder _ANSI_ARGS_((short vRefNum, OSType folderType, - Boolean createFolder, FSSpec *spec)); -EXTERN void GetGlobalMouse _ANSI_ARGS_((Point *mouse)); - -/* - * Prototypes of Mac only internal functions. - */ +#include "tclIntPlatDecls.h" -EXTERN void TclCreateMacEventSource _ANSI_ARGS_((void)); -EXTERN int TclMacConsoleInit _ANSI_ARGS_((void)); -EXTERN void TclMacExitHandler _ANSI_ARGS_((void)); -EXTERN void TclMacInitExitToShell _ANSI_ARGS_((int usePatch)); -EXTERN OSErr TclMacInstallExitToShellPatch _ANSI_ARGS_(( - ExitToShellProcPtr newProc)); -EXTERN int TclMacOSErrorToPosixError _ANSI_ARGS_((int error)); -EXTERN void TclMacRemoveTimer _ANSI_ARGS_((void *timerToken)); -EXTERN void * TclMacStartTimer _ANSI_ARGS_((long ms)); -EXTERN int TclMacTimerExpired _ANSI_ARGS_((void *timerToken)); -EXTERN int TclMacRegisterResourceFork _ANSI_ARGS_((short fileRef, Tcl_Obj *tokenPtr, - int insert)); -EXTERN short TclMacUnRegisterResourceFork _ANSI_ARGS_((char *tokenPtr, Tcl_Obj *resultPtr)); - #pragma export reset #endif /* _TCLMACINT */ diff --git a/mac/tclMacPort.h b/mac/tclMacPort.h index abf1d6c..cd269a9 100644 --- a/mac/tclMacPort.h +++ b/mac/tclMacPort.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacPort.h,v 1.5 1998/09/14 18:40:06 stanton Exp $ + * RCS: @(#) $Id: tclMacPort.h,v 1.6 1999/03/10 05:52:51 stanton Exp $ */ #ifndef _MACPORT @@ -182,20 +182,9 @@ extern char **environ; * Prototypes needed for compatability */ -EXTERN int TclMacCreateEnv _ANSI_ARGS_((void)); EXTERN int strncasecmp _ANSI_ARGS_((CONST char *s1, CONST char *s2, size_t n)); -/* - * The following declarations belong in tclInt.h, but depend on platform - * specific types (e.g. struct tm). - */ - -EXTERN struct tm * TclpGetDate _ANSI_ARGS_((const time_t *tp, - int useGMT)); -EXTERN size_t TclStrftime _ANSI_ARGS_((char *s, size_t maxsize, - const char *format, const struct tm *t)); - #define tzset() #define TclpGetPid(pid) ((unsigned long) (pid)) @@ -206,14 +195,10 @@ EXTERN size_t TclStrftime _ANSI_ARGS_((char *s, size_t maxsize, */ #define lstat(path, bufPtr) TclStat(path, bufPtr) -EXTERN FILE * TclMacFOpenHack _ANSI_ARGS_((const char *path, - const char *mode)); #define fopen(path, mode) TclMacFOpenHack(path, mode) -EXTERN int TclMacReadlink _ANSI_ARGS_((char *path, char *buf, int size)); #define readlink(fileName, buffer, size) TclMacReadlink(fileName, buffer, size) #ifdef TCL_TEST #define chmod(path, mode) TclMacChmod(path, mode) -EXTERN int TclMacChmod(char *path, int mode); #endif /* @@ -254,15 +239,4 @@ void TclUnsetEnv(CONST char *name); #define TclpFinalize() -/* - * The following define should really be in tclInt.h, but tclInt.h does - * not include tclPort.h, which includes the "struct stat" definition. - */ - -EXTERN int TclpSameFile _ANSI_ARGS_((char *file1, char *file2, - struct stat *sourceStatBufPtr, - struct stat *destStatBufPtr)) ; -EXTERN int TclpStat _ANSI_ARGS_ ((CONST char *path, struct stat *buf)); -EXTERN int TclpAccess _ANSI_ARGS_ ((CONST char *path, int mode)); - #endif /* _MACPORT */ diff --git a/mac/tclMacTime.c b/mac/tclMacTime.c index 79633de..1a2d1ed 100644 --- a/mac/tclMacTime.c +++ b/mac/tclMacTime.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacTime.c,v 1.2 1998/09/14 18:40:07 stanton Exp $ + * RCS: @(#) $Id: tclMacTime.c,v 1.3 1999/03/10 05:52:51 stanton Exp $ */ #include "tclInt.h" @@ -241,9 +241,10 @@ TclpGetTime( struct tm * TclpGetDate( - const time_t *tp, /* Time struct to fill. */ + TclpTime_t time, /* Time struct to fill. */ int useGMT) /* True if date should reflect GNT time. */ { + const time_t *tp = (const time_t *)time; DateTimeRec dtr; MachineLocation loc; long int offset; diff --git a/tests/pkg.test b/tests/pkg.test index 412d478..d379eb8 100644 --- a/tests/pkg.test +++ b/tests/pkg.test @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: pkg.test,v 1.2 1998/09/14 18:40:12 stanton Exp $ +# RCS: @(#) $Id: pkg.test,v 1.3 1999/03/10 05:52:51 stanton Exp $ if {[string compare test [info procs test]] == 1} then {source defs} @@ -483,7 +483,7 @@ test pkg-3.52 {Tcl_PackageCmd procedure, "vsatisfies" option} { } {0} test pkg-3.53 {Tcl_PackageCmd procedure, "versions" option} { list [catch {package foo} msg] $msg -} {1 {bad option "foo": should be forget, ifneeded, names, provide, require, unknown, vcompare, versions, or vsatisfies}} +} {1 {bad option "foo": should be forget, ifneeded, names, present, provide, require, unknown, vcompare, versions, or vsatisfies}} # No tests for FindPackage; can't think up anything detectable # errors. @@ -555,6 +555,78 @@ test pkg-6.9 {ComparePkgVersions procedure} { package vsatisfies 2 1 } {0} +test pkg-7.1 {Tcl_PkgPresent procedure, any version} { + package forget t + package provide t 2.4 + package present t +} {2.4} +test pkg-7.2 {Tcl_PkgPresent procedure, correct version} { + package forget t + package provide t 2.4 + package present t 2.4 +} {2.4} +test pkg-7.3 {Tcl_PkgPresent procedure, satisfying version} { + package forget t + package provide t 2.4 + package present t 2.0 +} {2.4} +test pkg-7.4 {Tcl_PkgPresent procedure, not satisfying version} { + package forget t + package provide t 2.4 + list [catch {package present t 2.6} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 2.6}} +test pkg-7.5 {Tcl_PkgPresent procedure, not satisfying version} { + package forget t + package provide t 2.4 + list [catch {package present t 1.0} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 1.0}} +test pkg-7.6 {Tcl_PkgPresent procedure, exact version} { + package forget t + package provide t 2.4 + package present -exact t 2.4 +} {2.4} +test pkg-7.7 {Tcl_PkgPresent procedure, not exact version} { + package forget t + package provide t 2.4 + list [catch {package present -exact t 2.3} msg] $msg +} {1 {version conflict for package "t": have 2.4, need 2.3}} +test pkg-7.8 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present t} msg] $msg +} {1 {package t is not present}} +test pkg-7.9 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present t 2.4} msg] $msg +} {1 {package t 2.4 is not present}} +test pkg-7.10 {Tcl_PkgPresent procedure, unknown package} { + package forget t + list [catch {package present -exact t 2.4} msg] $msg +} {1 {package t 2.4 is not present}} +test pkg-7.11 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.12 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present a b c} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.13 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact a b c} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.14 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -bs a b} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.15 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present x a.b} msg] $msg +} {1 {expected version number but got "a.b"}} +test pkg-7.16 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact x a.b} msg] $msg +} {1 {expected version number but got "a.b"}} +test pkg-7.17 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact x} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} +test pkg-7.18 {Tcl_PackageCmd procedure, "present" option} { + list [catch {package present -exact} msg] $msg +} {1 {wrong # args: should be "package present ?-exact? package ?version?"}} + set auto_path $oldPath package unknown $oldPkgUnknown concat diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl index 38b958f..1e67f94 100644 --- a/tools/genStubs.tcl +++ b/tools/genStubs.tcl @@ -8,7 +8,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: genStubs.tcl,v 1.1 1999/03/03 00:38:45 stanton Exp $ +# RCS: @(#) $Id: genStubs.tcl,v 1.2 1999/03/10 05:52:51 stanton Exp $ namespace eval genStubs { # libraryName -- @@ -214,7 +214,7 @@ proc genStubs::addPlatformGuard {plat text} { return "#ifdef __WIN32__\n${text}#endif /* __WIN32__ */\n" } unix { - return "#if !defined(__WIN32__) && !defined(MAC_TCL)\n${text}#endif /* UNIX */\n" + return "#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */\n${text}#endif /* UNIX */\n" } mac { return "#ifdef MAC_TCL\n${text}#endif /* MAC_TCL */\n" @@ -226,8 +226,8 @@ proc genStubs::addPlatformGuard {plat text} { # genStubs::emitSlots -- # # Generate the stub table slots for the given interface. If there -# are no platform specific slots, then one table is generated for -# all platforms, otherwise one table is generated for each platform. +# are no generic slots, then one table is generated for each +# platform, otherwise one table is generated for all platforms. # # Arguments: # name The name of the interface being emitted. @@ -240,43 +240,7 @@ proc genStubs::emitSlots {name textVar} { variable stubs upvar $textVar text - set lastNum -1 - if {[info exists stubs($name,generic,lastNum)]} { - set lastNum $stubs($name,generic,lastNum) - } - set output 0 - foreach plat {win unix mac} { - if {[info exists stubs($name,$plat,lastNum)]} { - set num $stubs($name,$plat,lastNum) - if {$num < $lastNum} { - set num $lastNum - } - set temp "" - for {set i 0} {$i <= $num} {incr i} { - if {[info exists stubs($name,$plat,$i)]} { - if {[info exists stubs($name,generic,$i)]} { - puts stderr "platform entry duplicates generic entry: $i" - } - append temp [makeSlot $stubs($name,$plat,$i) $i] - } elseif {[info exists stubs($name,generic,$i)]} { - append temp [makeSlot $stubs($name,generic,$i) $i] - } else { - append temp " void *reserved$i;\n" - } - } - append text [addPlatformGuard $plat $temp] - set output 1 - } - } - if {!$output} { - for {set i 0} {$i <= $lastNum} {incr i} { - if {[info exists stubs($name,generic,$i)]} { - append text [makeSlot $stubs($name,generic,$i) $i] - } else { - append text " void *reserved$i;\n" - } - } - } + forAllStubs $name makeSlot 1 text {" void *reserved$i;\n"} return } @@ -532,13 +496,14 @@ proc genStubs::makeStub {name decl index} { # Generate the stub table entry for a function. # # Arguments: +# name The interface name. # decl The function declaration. # index The slot index for this function. # # Results: # Returns the formatted table entry. -proc genStubs::makeSlot {decl index} { +proc genStubs::makeSlot {name decl index} { lassign $decl rtype fname args set lfname [string tolower [string index $fname 0]] @@ -571,6 +536,23 @@ proc genStubs::makeSlot {decl index} { return $text } +# genStubs::makeInit -- +# +# Generate the prototype for a function. +# +# Arguments: +# name The interface name. +# decl The function declaration. +# index The slot index for this function. +# +# Results: +# Returns the formatted declaration string. + +proc genStubs::makeInit {name decl index} { + append text " " [lindex $decl 1] ", /* " $index " */\n" + return $text +} + # genStubs::forAllStubs -- # # This function iterates over all of the platforms and invokes @@ -582,29 +564,74 @@ proc genStubs::makeSlot {decl index} { # slotProc The proc to invoke to handle the slot. It will # have the interface name, the declaration, and # the index appended. +# onAll If 1, emit the skip string even if there are +# definitions for one or more platforms. # textVar The variable to use for output. +# skipString The string to emit if a slot is skipped. This +# string will be subst'ed in the loop so "$i" can +# be used to substitute the index value. # # Results: # None. -proc genStubs::forAllStubs {name slotProc textVar} { +proc genStubs::forAllStubs {name slotProc onAll textVar \ + {skipString {"/* Slot $i is reserved */\n"}}} { variable stubs upvar $textVar text - foreach plat {generic win unix mac} { - if {[info exists stubs($name,$plat,lastNum)]} { - set lastNum $stubs($name,$plat,lastNum) - set temp {} - for {set i 0} {$i <= $lastNum} {incr i} { - if {![info exists stubs($name,$plat,$i)]} { - append temp "/* Slot $i is reserved */\n" - } else { - append temp [$slotProc $name $stubs($name,$plat,$i) $i] + set plats [array names stubs $name,*,lastNum] + if {[info exists stubs($name,generic,lastNum)]} { + # Emit integrated stubs block + set lastNum -1 + foreach plat [array names stubs $name,*,lastNum] { + if {$stubs($plat) > $lastNum} { + set lastNum $stubs($plat) + } + } + for {set i 0} {$i <= $lastNum} {incr i} { + set slots [array names stubs $name,*,$i] + set emit 0 + if {[info exists stubs($name,generic,$i)]} { + if {[llength $slots] > 1} { + puts stderr "platform entry duplicates generic entry: $i" + } + append text [$slotProc $name $stubs($name,generic,$i) $i] + set emit 1 + } elseif {[llength $slots] > 0} { + foreach plat {unix win mac} { + if {[info exists stubs($name,$plat,$i)]} { + append text [addPlatformGuard $plat \ + [$slotProc $name $stubs($name,$plat,$i) $i]] + set emit 1 + } elseif {$onAll} { + append text [eval {addPlatformGuard $plat} $skipString] + set emit 1 + } + } + } + if {$emit == 0} { + eval {append text} $skipString + } + } + + } else { + # Emit separate stubs blocks per platform + foreach plat {unix win mac} { + if {[info exists stubs($name,$plat,lastNum)]} { + set lastNum $stubs($name,$plat,lastNum) + set temp {} + for {set i 0} {$i <= $lastNum} {incr i} { + if {![info exists stubs($name,$plat,$i)]} { + eval {append temp} $skipString + } else { + append temp [$slotProc $name $stubs($name,$plat,$i) $i] + } } + append text [addPlatformGuard $plat $temp] } - append text [addPlatformGuard $plat $temp] } } + } # genStubs::emitDeclarations -- @@ -623,7 +650,7 @@ proc genStubs::emitDeclarations {name textVar} { upvar $textVar text append text "\n/*\n * Exported function declarations:\n */\n\n" - forAllStubs $name makeDecl text + forAllStubs $name makeDecl 0 text return } @@ -647,7 +674,7 @@ proc genStubs::emitMacros {name textVar} { append text "\n#if defined(USE_${upName}_STUBS) && !defined(USE_${upName}_STUB_PROCS)\n" append text "\n/*\n * Inline function declarations:\n */\n\n" - forAllStubs $name makeMacro text + forAllStubs $name makeMacro 0 text append text "\n#endif /* defined(USE_${upName}_STUBS) && !defined(USE_${upName}_STUB_PROCS) */\n" return @@ -713,13 +740,13 @@ proc genStubs::emitStubs {name} { variable outDir append text "\n/*\n * Exported stub functions:\n */\n\n" - forAllStubs $name makeStub text + forAllStubs $name makeStub 0 text rewriteFile [file join $outDir ${name}Stubs.c] $text return } -# genStubs::makeInit -- +# genStubs::emitInit -- # # Generate the table initializers for an interface. # @@ -730,7 +757,7 @@ proc genStubs::emitStubs {name} { # Results: # Returns the formatted output. -proc genStubs::makeInit {name textVar} { +proc genStubs::emitInit {name textVar} { variable stubs variable hooks upvar $textVar text @@ -749,53 +776,14 @@ proc genStubs::makeInit {name textVar} { append text " NULL,\n" } - set lastNum -1 - if {[info exists stubs($name,generic,lastNum)]} { - set lastNum $stubs($name,generic,lastNum) - } - set output 0 - foreach plat {win unix mac} { - if {[info exists stubs($name,$plat,lastNum)]} { - set num $stubs($name,$plat,lastNum) - if {$num < $lastNum} { - set num $lastNum - } - set temp "" - for {set i 0} {$i <= $num} {incr i} { - append temp " " - if {[info exists stubs($name,$plat,$i)]} { - if {[info exists stubs($name,generic,$i)]} { - puts stderr "platform entry duplicates generic entry: $i" - } - append temp [lindex $stubs($name,$plat,$i) 1] - } elseif {[info exists stubs($name,generic,$i)]} { - append temp [lindex $stubs($name,generic,$i) 1] - } else { - append temp "NULL" - } - append temp ", /* $i */\n" - } - append text [addPlatformGuard $plat $temp] - set output 1 - } - } - if {!$output} { - for {set i 0} {$i <= $lastNum} {incr i} { - append text " " - if {[info exists stubs($name,generic,$i)]} { - append text [lindex $stubs($name,generic,$i) 1] - } else { - append text "NULL" - } - append text ", /* $i */\n" - } - } + forAllStubs $name makeInit 1 text {" NULL, /* $i */\n"} + append text "\};\n\n" - append text "extern ${capName}Stubs *${name}StubsPtr = &${name}Stubs;\n" + append text "${capName}Stubs *${name}StubsPtr = &${name}Stubs;\n" return } -# genStubs::emitInit -- +# genStubs::emitInits -- # # This function emits the body of the <name>StubInit.c file for # the specified interface. @@ -806,14 +794,14 @@ proc genStubs::makeInit {name textVar} { # Results: # None. -proc genStubs::emitInit {} { +proc genStubs::emitInits {} { variable hooks variable outDir variable libraryName variable interfaces foreach name [lsort [array names interfaces]] { - makeInit $name text + emitInit $name text } @@ -865,7 +853,7 @@ proc genStubs::init {} { emitStubs $name } - emitInit + emitInits } # lassign -- diff --git a/unix/Makefile.in b/unix/Makefile.in index b0c688c..d9f05ee 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.17 1999/02/02 23:00:07 stanton Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.18 1999/03/10 05:52:52 stanton Exp $ # Current Tcl version; used in various names. @@ -131,6 +131,15 @@ NOTIFY_OBJS = tclUnixNotfy.o MEM_DEBUG_FLAGS = #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG +# To enable support for stubs in Tcl. +STUB_LIB_FILE = @STUB_LIB_FILE@ + +TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ +#TCL_STUB_LIB_FILE = libtclstub.a + +TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@ +#TCL_STUB_LIB_FLAG = -ltclstub + # To enable compilation debugging reverse the comment characters on # one of the following lines. COMPILE_DEBUG_FLAGS = @@ -164,6 +173,7 @@ TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ # these definitions by hand. SHLIB_LD = @SHLIB_LD@ +SHLIB_CFLAGS = @SHLIB_CFLAGS@ SHLIB_SUFFIX = @SHLIB_SUFFIX@ #SHLIB_SUFFIX = @@ -184,6 +194,9 @@ TCL_LIB_FILE = @TCL_LIB_FILE@ TCL_LIB_FLAG = @TCL_LIB_FLAG@ #TCL_LIB_FLAG = -ltcl +TCL_EXP_FILE = @TCL_EXP_FILE@ +TCL_BUILD_EXP_FILE = @TCL_BUILD_EXP_FILE@ + #---------------------------------------------------------------- # The information below is modified by the configure script when # Makefile is generated from Makefile.in. You shouldn't normally @@ -215,12 +228,17 @@ CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ ${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ ${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" +STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ +-I${GENERIC_DIR} -I${SRC_DIR} \ +${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ +${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" + LIBS = @DL_LIBS@ @LIBS@ $(MATH_LIBS) -lc DEPEND_SWITCHES = ${CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \ ${AC_FLAGS} ${MATH_FLAGS} \ ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ --DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" +-DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" $(STUB_FLAGS) TCLSH_OBJS = tclAppInit.o @@ -230,27 +248,41 @@ TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ XTTEST_OBJS = tclTest.o tclTestObj.o tclUnixTest.o tclXtNotify.o \ tclXtTest.o xtTestInit.o -GENERIC_OBJS = panic.o regexp.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o \ +GENERIC_OBJS = regexp.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o \ + tclCkalloc.o \ tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompExpr.o \ tclCompile.o tclDate.o tclEnv.o tclEvent.o tclExecute.o \ tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o \ tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOSock.o \ tclIOUtil.o tclLink.o tclListObj.o tclLoad.o tclMain.o tclNamesp.o \ - tclNotify.o tclObj.o tclParse.o tclPipe.o tclPkg.o tclPosixStr.o \ - tclPreserve.o tclProc.o tclStringObj.o tclTimer.o tclUtil.o tclVar.o \ - tclResolve.o + tclNotify.o tclObj.o tclPanic.o tclParse.o tclPipe.o tclPkg.o \ + tclPosixStr.o tclPreserve.o tclProc.o tclResolve.o tclStringObj.o \ + tclStubInit.o tclTimer.o tclUtil.o tclVar.o + +STUB_LIB_OBJS = tclIntPlatStubs.o tclIntStubs.o tclPlatStubs.o tclStubLib.o \ + tclStubs.o -OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} @DL_OBJS@ +OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \ + @DL_OBJS@ + +TCL_DECLS = \ + $(GENERIC_DIR)/tcl.decls \ + $(GENERIC_DIR)/tclInt.decls GENERIC_HDRS = \ - $(GENERIC_DIR)/tclRegexp.h \ $(GENERIC_DIR)/tcl.h \ + $(GENERIC_DIR)/tclDecls.h \ $(GENERIC_DIR)/tclInt.h \ + $(GENERIC_DIR)/tclIntDecls.h \ + $(GENERIC_DIR)/tclIntPlatDecls.h \ + $(GENERIC_DIR)/tclPatch.h \ + $(GENERIC_DIR)/tclPlatDecls.h \ $(GENERIC_DIR)/tclPort.h \ - $(GENERIC_DIR)/tclPatch.h + $(GENERIC_DIR)/tclRegexp.h GENERIC_SRCS = \ $(GENERIC_DIR)/regexp.c \ + $(GENERIC_DIR)/tclAlloc.c \ $(GENERIC_DIR)/tclAsync.c \ $(GENERIC_DIR)/tclBasic.c \ $(GENERIC_DIR)/tclBinary.c \ @@ -290,6 +322,7 @@ GENERIC_SRCS = \ $(GENERIC_DIR)/tclPreserve.c \ $(GENERIC_DIR)/tclProc.c \ $(GENERIC_DIR)/tclResolve.c \ + $(GENERIC_DIR)/tclStubInit.c \ $(GENERIC_DIR)/tclStringObj.c \ $(GENERIC_DIR)/tclTest.c \ $(GENERIC_DIR)/tclTestObj.c \ @@ -298,6 +331,13 @@ GENERIC_SRCS = \ $(GENERIC_DIR)/tclUtil.c \ $(GENERIC_DIR)/tclVar.c +STUB_SRCS = \ + $(GENERIC_DIR)/tclIntPlatStubs.c \ + $(GENERIC_DIR)/tclIntStubs.c \ + $(GENERIC_DIR)/tclPlatStubs.c \ + $(GENERIC_DIR)/tclStubLib.c \ + $(GENERIC_DIR)/tclStubs.c + UNIX_HDRS = \ $(UNIX_DIR)/tclUnixPort.h @@ -329,9 +369,9 @@ DL_SRCS = \ # compile on the current machine, and they will cause problems for # things like "make depend". -SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) +SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(STUB_SRCS) -all: ${TCL_LIB_FILE} tclsh +all: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) tclsh # The following target is configured by autoconf to generate either # a shared library or non-shared library for Tcl. @@ -340,6 +380,11 @@ ${TCL_LIB_FILE}: ${OBJS} @MAKE_LIB@ $(RANLIB) ${TCL_LIB_FILE} +${STUB_LIB_FILE}: ${STUB_LIB_OBJS} + rm -f ${STUB_LIB_FILE} + @MAKE_STUB_LIB@ + $(RANLIB) ${STUB_LIB_FILE} + # Make target which outputs the list of the .o contained in the Tcl lib # usefull to build a single big shared library containing Tcl and other # extensions. used for the Tcl Plugin. -- dl @@ -403,7 +448,7 @@ topDirName: gendate: yacc -l $(GENERIC_DIR)/tclGetDate.y sed -e 's/yy/TclDate/g' -e '/^#include <values.h>/d' \ - -e 's/SCCSID/RCS: @(#) $Id: Makefile.in,v 1.17 1999/02/02 23:00:07 stanton Exp $' + -e 's/SCCSID/RCS: @(#) \$Id\$' -e '/#ifdef __STDC__/,/#endif/d' -e '/TclDateerrlab:/d' \ -e '/TclDatenewstate:/d' -e '/#pragma/d' \ <y.tab.c >$(GENERIC_DIR)/tclDate.c @@ -433,7 +478,8 @@ install: install-binaries install-libraries install-man # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TCL_LIB_FILE) tclsh +install-binaries: $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) \ + tclsh @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ @@ -447,10 +493,20 @@ install-binaries: $(TCL_LIB_FILE) tclsh @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE)) @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) + @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \ + echo "Installing $(TCL_EXP_FILE)"; \ + $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \ + $(LIB_INSTALL_DIR)/$(TCL_EXP_FILE); \ + fi @echo "Installing tclsh" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) @echo "Installing tclConfig.sh" @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh + @if test "$(TCL_STUB_LIB_FILE)" != "" ; then \ + echo "Installing $(TCL_STUB_LIB_FILE)"; \ + $(INSTALL_DATA) $(STUB_LIB_FILE) \ + $(LIB_INSTALL_DIR)/$(TCL_STUB_LIB_FILE); \ + fi install-libraries: @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ @@ -472,8 +528,11 @@ install-libraries: else true; \ fi; \ done; - @echo "Installing tcl.h" - @$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h + @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h ; \ + do \ + echo "Installing $$i"; \ + $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \ + done; @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \ do \ echo "Installing $$i"; \ @@ -577,15 +636,18 @@ xtTestInit.o: $(UNIX_DIR)/tclAppInit.c # Object files used on all Unix systems: -panic.o: $(GENERIC_DIR)/panic.c - $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/panic.c - regexp.o: $(GENERIC_DIR)/regexp.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/regexp.c tclAppInit.o: $(UNIX_DIR)/tclAppInit.c $(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tclAppInit.c +# On unix we want to use the normal malloc/free implementation, so we +# specifically set the USE_NATIVE_MALLOC flag. + +tclAlloc.o: $(GENERIC_DIR)/tclAlloc.c + $(CC) -c $(CC_SWITCHES) -DUSE_NATIVE_MALLOC $(GENERIC_DIR)/tclAlloc.c + tclAsync.o: $(GENERIC_DIR)/tclAsync.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclAsync.c @@ -712,6 +774,9 @@ tclNotify.o: $(GENERIC_DIR)/tclNotify.c tclParse.o: $(GENERIC_DIR)/tclParse.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclParse.c +tclPanic.o: $(GENERIC_DIR)/tclPanic.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPanic.c + tclPipe.o: $(GENERIC_DIR)/tclPipe.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclPipe.c @@ -733,6 +798,9 @@ tclResolve.o: $(GENERIC_DIR)/tclResolve.c tclStringObj.o: $(GENERIC_DIR)/tclStringObj.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStringObj.c +tclStubInit.o: $(GENERIC_DIR)/tclStubInit.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclStubInit.c + tclUtil.o: $(GENERIC_DIR)/tclUtil.c $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclUtil.c @@ -815,10 +883,54 @@ tmpnam.o: $(COMPAT_DIR)/tmpnam.c waitpid.o: $(COMPAT_DIR)/waitpid.c $(CC) -c $(CC_SWITCHES) $(COMPAT_DIR)/waitpid.c + +# Stub library binaries, these must be compiled for use in a shared library +# even though they will be placed in a static archive + +tclIntPlatStubs.o: $(GENERIC_DIR)/tclIntPlatStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclIntPlatStubs.c + +tclIntStubs.o: $(GENERIC_DIR)/tclIntStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclIntStubs.c + +tclPlatStubs.o: $(GENERIC_DIR)/tclPlatStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclPlatStubs.c + +tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclStubLib.c + +tclStubs.o: $(GENERIC_DIR)/tclStubs.c + $(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclStubs.c + .c.o: $(CC) -c $(CC_SWITCHES) $< # +# Target to regenerate header files and stub files from the *.decls tables. +# + +genstubs: + tclsh $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \ + $(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls + +# +# Target to check that all exported functions have an entry in the stubs +# tables. +# + +checkstubs: + -@for i in `nm -p $(TCL_LIB_FILE) | awk '$$2 ~ /T/ { print $$3 }' \ + | sort -n`; do \ + match=0; \ + for j in $(TCL_DECLS); do \ + if [ `grep -c $$i $$j` -gt 0 ]; then \ + match=1; \ + fi; \ + done; \ + if [ $$match -eq 0 ]; then echo $$i; fi \ + done + +# # Target to check for proper usage of UCHAR macro. # diff --git a/unix/configure.in b/unix/configure.in index 67b3f6e..12561b9 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -2,7 +2,7 @@ dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. AC_INIT(../generic/tcl.h) -# RCS: @(#) $Id: configure.in,v 1.28 1999/02/03 18:37:42 stanton Exp $ +# RCS: @(#) $Id: configure.in,v 1.29 1999/03/10 05:52:52 stanton Exp $ TCL_VERSION=8.0 TCL_MAJOR_VERSION=8 @@ -641,6 +641,17 @@ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])) # a .a extension whereas shared objects for loadable # extensions have a .so extension. Defaults to # ${VERSION}${SHLIB_SUFFIX}. +# TCL_NEEDS_EXP_FILE - +# 1 means that an export file is needed to link to a +# shared library. +# +# TCL_EXP_FILE - The name of the installed export / import file which +# should be used to link to the Tcl shared library. +# Empty if Tcl is unshared. +# TCL_BUILD_EXP_FILE - +# The name of the built export / import file which +# should be used to link to the Tcl shared library. +# Empty if Tcl is unshared. #-------------------------------------------------------------------- # Step 1: set the variable "system" to hold the name and version number @@ -678,12 +689,16 @@ AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) fullSrcDir=`cd $srcdir; pwd` EXTRA_CFLAGS="" +TCL_EXPORT_FILE_SUFFIX="" TCL_UNSHARED_LIB_SUFFIX="" TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`' ECHO_VERSION='`echo ${VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O +TCL_NEEDS_EXP_FILE=0 +TCL_BUILD_EXP_FILE="" +TCL_EXP_FILE="" case $system in AIX-4.[[2-9]]) SHLIB_CFLAGS="" @@ -694,8 +709,8 @@ case $system in DL_LIBS="-ldl" LD_FLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - AIX=yes - TCL_SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + TCL_NEEDS_EXP_FILE=1 + TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp' ;; AIX-*) SHLIB_CFLAGS="" @@ -706,7 +721,8 @@ case $system in DL_LIBS="-lld" LD_FLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - TCL_SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a' + TCL_NEEDS_EXP_FILE=1 + TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp' ;; BSD/OS-2.1*|BSD/OS-3*|BSD/OS-4*) SHLIB_CFLAGS="" @@ -728,7 +744,7 @@ case $system in LD_FLAGS="" LD_SEARCH_FLAGS="" ;; - HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) + HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*|HP-UX-*.11.*) SHLIB_SUFFIX=".sl" AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) if test "$tcl_ok" = yes; then @@ -778,8 +794,8 @@ case $system in ;; IRIX64-6.*) SHLIB_CFLAGS="" - SHLIB_LD="ld -32 -shared -rdata_shared -rpath /usr/local/lib" - SHLIB_LD_LIBS="" + SHLIB_LD="ld -32 -shared -rdata_shared" + SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" @@ -795,7 +811,7 @@ case $system in DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LD_FLAGS="-rdynamic" - LD_SEARCH_FLAGS="" + LD_SEARCH_FLAGS="-Wl,-rpath,${LIB_RUNTIME_DIR}" else AC_CHECK_HEADER(dld.h, [ SHLIB_LD="ld -shared" @@ -962,7 +978,7 @@ case $system in DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LD_FLAGS="" - LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' + LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ;; ULTRIX-4.*) SHLIB_CFLAGS="-G 0" @@ -1227,34 +1243,47 @@ else ;; esac TCL_SHLIB_CFLAGS="" - TCL_LD_SEARCH_FLAGS="" + TCL_LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS}" eval "TCL_LIB_FILE=libtcl${TCL_UNSHARED_LIB_SUFFIX}" MAKE_LIB="ar cr \${TCL_LIB_FILE} \${OBJS}" fi +# tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed +# so that the backslashes quoting the DBX braces are dropped. + +# Trick to replace DBGX with TCL_DBGX +DBGX='${TCL_DBGX}' +eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + # Note: in the following variable, it's important to use the absolute # path name of the Tcl directory rather than "..": this is because # AIX remembers this path and will attempt to use it at run-time to look # up the Tcl library. -if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then - TCL_LIB_FLAG="-ltcl${TCL_VERSION}\${TCL_DBGX}" +if test $TCL_SHARED_BUILD = 0 -o $TCL_NEEDS_EXP_FILE = 0; then + if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then + TCL_LIB_FLAG="-ltcl${TCL_VERSION}\${TCL_DBGX}" + else + TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" + fi + TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}" + TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}" else - TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" -fi -TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}" -TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}" + TCL_BUILD_EXP_FILE="lib.exp" + eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}" -# tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed -# so that the backslashes quoting the DBX braces are dropped. - -# Trick to replace DBGX with TCL_DBGX -DBGX='${TCL_DBGX}' -eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + # Replace DBGX with TCL_DBGX + eval "TCL_EXP_FILE=\"${TCL_EXP_FILE}\"" + + TCL_BUILD_LIB_SPEC="-bI:`pwd`/${TCL_BUILD_EXP_FILE}" + TCL_LIB_SPEC="-bI:${exec_prefix}/lib/${TCL_EXP_FILE}" +fi VERSION='${VERSION}' eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" eval "CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}" +eval "CFG_TCL_EXPORT_FILE_SUFFIX=${TCL_EXPORT_FILE_SUFFIX}" +VERSION=${TCL_VERSION} #-------------------------------------------------------------------- # The statements below define the symbol TCL_PACKAGE_PATH, which @@ -1269,6 +1298,40 @@ else TCL_PACKAGE_PATH="${prefix}/lib" fi +#-------------------------------------------------------------------- +# The statements below define various symbols relating to Tcl +# stub support. +#-------------------------------------------------------------------- +# Replace ${VERSION} with contents of ${TCL_VERSION} +eval "STUB_LIB_FILE=libtclstub${TCL_UNSHARED_LIB_SUFFIX}" +# Replace DBGX with TCL_DBGX +eval "STUB_LIB_FILE=\"${STUB_LIB_FILE}\"" + +MAKE_STUB_LIB="ar cr \${STUB_LIB_FILE} \${STUB_LIB_OBJS}" + +TCL_STUB_LIB_FILE=${STUB_LIB_FILE} + +if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then + TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}\${TCL_DBGX}" +else + TCL_STUB_LIB_FLAG="-ltclstub`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}" +fi + +TCL_BUILD_STUB_LIB_SPEC="-L`pwd` ${TCL_STUB_LIB_FLAG}" +TCL_STUB_LIB_SPEC="-L${exec_prefix}/lib ${TCL_STUB_LIB_FLAG}" +TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +TCL_STUB_LIB_PATH="${exec_prefix}/lib/${TCL_STUB_LIB_FILE}" + +AC_SUBST(STUB_LIB_FILE) + +AC_SUBST(TCL_STUB_LIB_FILE) +AC_SUBST(TCL_STUB_LIB_FLAG) +AC_SUBST(TCL_BUILD_STUB_LIB_SPEC) +AC_SUBST(TCL_STUB_LIB_SPEC) +AC_SUBST(TCL_BUILD_STUB_LIB_PATH) +AC_SUBST(TCL_STUB_LIB_PATH) +AC_SUBST(MAKE_STUB_LIB) + AC_SUBST(BUILD_DLTEST) AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_DEFAULT) @@ -1276,6 +1339,7 @@ AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(CFLAGS_WARNING) AC_SUBST(CFG_TCL_SHARED_LIB_SUFFIX) AC_SUBST(CFG_TCL_UNSHARED_LIB_SUFFIX) +AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX) AC_SUBST(TCL_DBGX) AC_SUBST(DL_LIBS) AC_SUBST(DL_OBJS) @@ -1291,6 +1355,9 @@ AC_SUBST(TCL_BUILD_LIB_SPEC) AC_SUBST(TCL_LD_SEARCH_FLAGS) AC_SUBST(TCL_LIB_FILE) AC_SUBST(TCL_LIB_FLAG) +AC_SUBST(TCL_NEEDS_EXP_FILE) +AC_SUBST(TCL_BUILD_EXP_FILE) +AC_SUBST(TCL_EXP_FILE) AC_SUBST(TCL_LIB_SPEC) AC_SUBST(TCL_LIB_VERSIONS_OK) AC_SUBST(TCL_MAJOR_VERSION) @@ -10,7 +10,7 @@ # symbols exported by those files, and then invokes "ldCmd" to # perform the real link. # -# RCS: @(#) $Id: ldAix,v 1.2 1998/09/14 18:40:16 stanton Exp $ +# RCS: @(#) $Id: ldAix,v 1.3 1999/03/10 05:52:52 stanton Exp $ # Extract from the arguments the names of all of the object files. @@ -23,6 +23,9 @@ for i do fi done +# Extract the name of the object file that we're linking. +outputFile=`echo $args | sed -e 's/.*-o \([^ ]*\).*/\1/'` + # Create the export file from all of the object files, using nm followed # by sed editing. Here are some tricky aspects of this: # @@ -49,13 +52,12 @@ if test $osver -eq 3; then nmopts="-e" fi rm -f lib.exp -echo "#! " >lib.exp +echo "#! $outputFile" >lib.exp /usr/ccs/bin/nm $nmopts -h $ofiles | sed -e '/:$/d' -e '/ U /d' -e '/[ ]0|extern/d' -e '/unamex/d' -e 's/^\.//' -e 's/[ |].*//' | sort | uniq >>lib.exp -# Extract the name of the object file that we're linking. If it's a .a -# file, then link all the objects together into a single file "shr.o" -# and then put that into the archive. Otherwise link the object files -# directly into the .a file. +# If we're linking a .a file, then link all the objects together into a +# single file "shr.o" and then put that into the archive. Otherwise link +# the object files directly into the .a file. outputFile=`echo $args | sed -e 's/.*-o \([^ ]*\).*/\1/'` noDotA=`echo $outputFile | sed -e '/\.a$/d'` diff --git a/unix/mkLinks b/unix/mkLinks index b4da360..0b1b75e 100644 --- a/unix/mkLinks +++ b/unix/mkLinks @@ -728,6 +728,10 @@ if test -r PkgRequire.3; then ln PkgRequire.3 Tcl_PkgRequire.3 fi if test -r AddErrInfo.3; then + rm -f Tcl_SetErrorCodeVA.3 + ln AddErrInfo.3 Tcl_SetErrorCodeVA.3 +fi +if test -r AddErrInfo.3; then rm -f Tcl_PosixError.3 ln AddErrInfo.3 Tcl_PosixError.3 fi diff --git a/unix/tclConfig.sh.in b/unix/tclConfig.sh.in index 4936f52..ae7c03c 100644 --- a/unix/tclConfig.sh.in +++ b/unix/tclConfig.sh.in @@ -9,7 +9,7 @@ # # The information in this file is specific to a single platform. # -# RCS: @(#) $Id: tclConfig.sh.in,v 1.8 1998/10/20 20:01:23 rjohnson Exp $ +# RCS: @(#) $Id: tclConfig.sh.in,v 1.9 1999/03/10 05:52:52 stanton Exp $ # Tcl's version number. TCL_VERSION='@TCL_VERSION@' @@ -37,6 +37,15 @@ TCL_SHARED_BUILD=@TCL_SHARED_BUILD@ # The name of the Tcl library (may be either a .a file or a shared library): TCL_LIB_FILE='@TCL_LIB_FILE@' +# Flag to indicate whether shared libraries need export files. +TCL_NEEDS_EXP_FILE=@TCL_NEEDS_EXP_FILE@ + +# String that can be evaluated to generate the part of the export file +# name that comes after the "libxxx" (includes version number, if any, +# extension, and anything else needed). May depend on the variables +# VERSION. On most UNIX systems this is ${VERSION}.exp. +TCL_EXPORT_FILE_SUFFIX='@CFG_TCL_EXPORT_FILE_SUFFIX@' + # Additional libraries to use when linking Tcl. TCL_LIBS='@DL_LIBS@ @LIBS@ @MATH_LIBS@' @@ -128,3 +137,26 @@ TCL_SRC_DIR='@TCL_SRC_DIR@' # "package require" commands. Contains the "prefix" directory plus also # the "exec_prefix" directory, if it is different. TCL_PACKAGE_PATH='@TCL_PACKAGE_PATH@' + +# Tcl supports stub. +TCL_SUPPORTS_STUBS=@TCL_SUPPORTS_STUBS@ + +# The name of the Tcl stub library (.a): +TCL_STUB_LIB_FILE='@TCL_STUB_LIB_FILE@' + +# -l flag to pass to the linker to pick up the Tcl stub library +TCL_STUB_LIB_FLAG='@TCL_STUB_LIB_FLAG@' + +# String to pass to linker to pick up the Tcl stub library from its +# build directory. +TCL_BUILD_STUB_LIB_SPEC='@TCL_BUILD_STUB_LIB_SPEC@' + +# String to pass to linker to pick up the Tcl stub library from its +# installed directory. +TCL_STUB_LIB_SPEC='@TCL_STUB_LIB_SPEC@' + +# Path to the Tcl stub library in the build directory. +TCL_BUILD_STUB_LIB_PATH='@TCL_BUILD_STUB_LIB_PATH@' + +# Path to the Tcl stub library in the install directory. +TCL_STUB_LIB_PATH='@TCL_STUB_LIB_PATH@' diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index f554e68..ace9c3e 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixFile.c,v 1.4 1998/09/14 18:40:17 stanton Exp $ + * RCS: @(#) $Id: tclUnixFile.c,v 1.5 1999/03/10 05:52:52 stanton Exp $ */ #include "tclInt.h" @@ -37,7 +37,6 @@ extern pid_t waitpid _ANSI_ARGS_((pid_t pid, int *stat_loc, int options)); * Static routines for this file: */ -static void FreeCurrentDir _ANSI_ARGS_((ClientData clientData)); static void FreeExecutableName _ANSI_ARGS_((ClientData clientData)); /* @@ -535,3 +534,52 @@ TclMatchFiles(interp, separators, dirPtr, pattern, tail) closedir(d); return result; } + +/* + *--------------------------------------------------------------------------- + * + * TclpAccess -- + * + * This function replaces the library version of access(). + * + * Results: + * See access() documentation. + * + * Side effects: + * See access() documentation. + * + *--------------------------------------------------------------------------- + */ + +int +TclpAccess(path, mode) + CONST char *path; /* Path of file to access. */ + int mode; /* Permission setting. */ +{ + return access(path, mode); +} + +/* + *---------------------------------------------------------------------- + * + * TclpStat -- + * + * This function replaces the library version of stat(). + * + * Results: + * See stat() documentation. + * + * Side effects: + * See stat() documentation. + * + *---------------------------------------------------------------------- + */ + +int +TclpStat(path, bufPtr) + CONST char *path; /* Path of file to stat. */ + struct stat *bufPtr; /* Filled with results of stat call. */ +{ + return stat(path, bufPtr); +} + diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c index ded700b..30259ae 100644 --- a/unix/tclUnixInit.c +++ b/unix/tclUnixInit.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixInit.c,v 1.11 1998/09/14 18:40:17 stanton Exp $ + * RCS: @(#) $Id: tclUnixInit.c,v 1.12 1999/03/10 05:52:52 stanton Exp $ */ #include "tclInt.h" @@ -280,3 +280,30 @@ Tcl_SourceRCFile(interp) Tcl_DStringFree(&temp); } } + +/* + *---------------------------------------------------------------------- + * + * TclpCheckStackSpace -- + * + * Detect if we are about to blow the stack. Called before an + * evaluation can happen when nesting depth is checked. + * + * Results: + * 1 if there is enough stack space to continue; 0 if not. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +int +TclpCheckStackSpace() +{ + /* + * This function is unimplemented on Unix platforms. + */ + + return 1; +} diff --git a/unix/tclUnixPort.h b/unix/tclUnixPort.h index ca8c815..da64295 100644 --- a/unix/tclUnixPort.h +++ b/unix/tclUnixPort.h @@ -19,7 +19,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixPort.h,v 1.8 1998/09/29 18:22:39 rjohnson Exp $ + * RCS: @(#) $Id: tclUnixPort.h,v 1.9 1999/03/10 05:52:52 stanton Exp $ */ #ifndef _TCLUNIXPORT @@ -148,16 +148,6 @@ #endif /* - * The following defines denote malloc and free as the system calls - * used to allocate new memory. These defines are only used in the - * file tclCkalloc.c. - */ - -#define TclpAlloc(size) malloc(size) -#define TclpFree(ptr) free(ptr) -#define TclpRealloc(ptr, size) realloc(ptr, size) - -/* * The default platform eol translation on Unix is TCL_TRANSLATE_LF: */ @@ -300,15 +290,6 @@ EXTERN int gettimeofday _ANSI_ARGS_((struct timeval *tp, #endif /* - * On UNIX, there's no platform specific implementation of "TclpStat(...)" - * or "TclpAccess(...)". Simply call "stat(...)' and "access(...)" - * respectively. - */ - -#define TclpStat stat -#define TclpAccess access - -/* * On systems without symbolic links (i.e. S_IFLNK isn't defined) * define "lstat" to use "stat" instead. */ @@ -443,12 +424,6 @@ EXTERN int gettimeofday _ANSI_ARGS_((struct timeval *tp, #define TclPlatformExit(status) exit(status) /* - * The following functions always succeeds under Unix. - */ - -#define TclHasSockets(interp) (TCL_OK) - -/* * Variables provided by the C library: */ @@ -472,8 +447,6 @@ extern double strtod(); * standard Unix routines. */ -#define TclpGetDate(t,u) ((u) ? gmtime((t)) : localtime((t))) -#define TclStrftime(s,m,f,t) (strftime((s),(m),(f),(t))) #define TclpGetPid(pid) ((unsigned long) (pid)) #define TclpReleaseFile(file) @@ -484,11 +457,7 @@ extern double strtod(); #define TclpFinalize() -/* - * The following routine is only exported for testing purposes. - */ - -EXTERN int TclUnixWaitForFile _ANSI_ARGS_((int fd, int mask, - int timeout)); +#include "tclPlatDecls.h" +#include "tclIntPlatDecls.h" #endif /* _TCLUNIXPORT */ diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c index 7a479b2..2013e8f 100644 --- a/unix/tclUnixSock.c +++ b/unix/tclUnixSock.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixSock.c,v 1.2 1998/09/14 18:40:17 stanton Exp $ + * RCS: @(#) $Id: tclUnixSock.c,v 1.3 1999/03/10 05:52:52 stanton Exp $ */ #include "tcl.h" @@ -98,3 +98,26 @@ Tcl_GetHostName() hostname[0] = 0; return hostname; } + +/* + *---------------------------------------------------------------------- + * + * TclHasSockets -- + * + * Detect if sockets are available on this platform. + * + * Results: + * Returns TCL_OK. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +int +TclHasSockets(interp) + Tcl_Interp *interp; /* Not used. */ +{ + return TCL_OK; +} diff --git a/unix/tclUnixTime.c b/unix/tclUnixTime.c index b330d84..02a1570 100644 --- a/unix/tclUnixTime.c +++ b/unix/tclUnixTime.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixTime.c,v 1.2 1998/09/14 18:40:18 stanton Exp $ + * RCS: @(#) $Id: tclUnixTime.c,v 1.3 1999/03/10 05:52:53 stanton Exp $ */ #include "tclInt.h" @@ -234,3 +234,61 @@ TclpGetTime(timePtr) timePtr->sec = tv.tv_sec; timePtr->usec = tv.tv_usec; } + +/* + *---------------------------------------------------------------------- + * + * TclpGetDate -- + * + * This function converts between seconds and struct tm. If + * useGMT is true, then the returned date will be in Greenwich + * Mean Time (GMT). Otherwise, it will be in the local time zone. + * + * Results: + * Returns a static tm structure. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +struct tm * +TclpGetDate(time, useGMT) + TclpTime_t time; + int useGMT; +{ + const time_t *tp = (const time_t *)time; + + if (useGMT) { + return gmtime(tp); + } else { + return localtime(tp); + } +} + +/* + *---------------------------------------------------------------------- + * + * TclStrftime -- + * + * On Unix, we can safely call the native strftime implementation. + * + * Results: + * The normal strftime result. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +size_t +TclStrftime(s, maxsize, format, t) + char *s; + size_t maxsize; + const char *format; + const struct tm *t; +{ + return strftime(s, maxsize, format, t); +} diff --git a/win/makefile.vc b/win/makefile.vc index c054590..24f3dd7 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -6,7 +6,7 @@ # Copyright (c) 1995-1996 Sun Microsystems, Inc. # Copyright (c) 1998-1999 by Scriptics Corporation. # -# RCS: @(#) $Id: makefile.vc,v 1.24 1999/02/03 02:59:17 stanton Exp $ +# RCS: @(#) $Id: makefile.vc,v 1.25 1999/03/10 05:52:53 stanton Exp $ # Does not depend on the presence of any environment variables in # order to compile tcl; all needed information is derived from @@ -53,20 +53,21 @@ NODEBUG = 1 # -DTCL_MEM_DEBUG Enables the debugging memory allocator. # -DTCL_COMPILE_DEBUG Enables byte compilation logging. # -DTCL_COMPILE_STATS Enables byte compilation statistics gathering. -# -DUSE_NATIVEMALLOC Disables the Tcl memory allocator in favor +# -DUSE_NATIVE_MALLOC Disables the Tcl memory allocator in favor # of the native malloc implementation. This is # needed when using Purify. # #DEBUGDEFINES = -DTCL_MEM_DEBUG #DEBUGDEFINES = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG #DEBUGDEFINES = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS -#DEBUGDEFINES = -DUSE_NATIVEMALLOC +#DEBUGDEFINES = -DUSE_NATIVE_MALLOC ###################################################################### # Do not modify below this line ###################################################################### NAMEPREFIX = tcl +STUBPREFIX = $(NAMEPREFIX)stub DOTVERSION = 8.0 VERSION = 80 @@ -85,6 +86,10 @@ OUTDIR = $(TMPDIR) TCLLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib TCLDLLNAME = $(NAMEPREFIX)$(VERSION)$(DBGX).dll TCLDLL = $(OUTDIR)\$(TCLDLLNAME) + +TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION)$(DBGX).lib +TCLSTUBLIB = $(OUTDIR)\$(TCLSTUBLIBNAME) + TCLPLUGINLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)p$(DBGX).lib TCLPLUGINDLLNAME= $(NAMEPREFIX)$(VERSION)p$(DBGX).dll TCLPLUGINDLL = $(OUTDIR)\$(TCLPLUGINDLLNAME) @@ -116,7 +121,6 @@ TCLTESTOBJS = \ $(TMPDIR)\testMain.obj TCLOBJS = \ - $(TMPDIR)\panic.obj \ $(TMPDIR)\regexp.obj \ $(TMPDIR)\strftime.obj \ $(TMPDIR)\tclAlloc.obj \ @@ -152,6 +156,7 @@ TCLOBJS = \ $(TMPDIR)\tclNamesp.obj \ $(TMPDIR)\tclNotify.obj \ $(TMPDIR)\tclObj.obj \ + $(TMPDIR)\tclPanic.obj \ $(TMPDIR)\tclParse.obj \ $(TMPDIR)\tclPipe.obj \ $(TMPDIR)\tclPkg.obj \ @@ -160,6 +165,7 @@ TCLOBJS = \ $(TMPDIR)\tclResolve.obj \ $(TMPDIR)\tclProc.obj \ $(TMPDIR)\tclStringObj.obj \ + $(TMPDIR)\tclStubInit.obj \ $(TMPDIR)\tclTimer.obj \ $(TMPDIR)\tclUtil.obj \ $(TMPDIR)\tclVar.obj \ @@ -176,10 +182,18 @@ TCLOBJS = \ $(TMPDIR)\tclWinSock.obj \ $(TMPDIR)\tclWinTime.obj +TCLSTUBOBJS = \ + $(TMPDIR)\tclStubLib.obj \ + $(TMPDIR)\tclStubs.obj \ + $(TMPDIR)\tclPlatStubs.obj \ + $(TMPDIR)\tclIntStubs.obj \ + $(TMPDIR)\tclIntPlatStubs.obj + cc32 = "$(TOOLS32)\bin\cl.exe" link32 = "$(TOOLS32)\bin\link.exe" rc32 = "$(TOOLS32_rc)\bin\rc.exe" include32 = -I"$(TOOLS32)\include" +lib32 = "$(TOOLS32)\bin\lib.exe" cc16 = "$(TOOLS16)\bin\cl.exe" link16 = "$(TOOLS16)\bin\link.exe" @@ -317,6 +331,9 @@ $(TCLDLL): $(TCLOBJS) $(TMPDIR)\tcl.def $(TMPDIR)\tcl.res $(TCLOBJS) << +$(TCLSTUBLIB): $(TCLSTUBOBJS) + $(lib32) /out:$@ $(TCLSTUBOBJS) + $(TCLPLUGINLIB): $(TCLPLUGINDLL) $(TCLPLUGINDLL): $(TCLOBJS) $(TMPDIR)\plugin.def $(TMPDIR)\tcl.res @@ -369,10 +386,10 @@ $(TCLPIPEDLL): $(WINDIR)\stub16.c set LIB="$(TOOLS32)\lib" $(link32) $(ldebug) $(conlflags) -out:$@ $(TMPDIR)\stub16.obj $(guilibs) -$(TCLREGDLL): $(TMPDIR)\tclWinReg.obj +$(TCLREGDLL): $(TMPDIR)\tclWinReg.obj $(TCLSTUBLIB) set LIB="$(TOOLS32)\lib" $(link32) $(ldebug) $(dlllflags) -out:$@ $(TMPDIR)\tclWinReg.obj \ - $(conlibsdll) $(TCLLIB) + $(conlibsdll) $(TCLSTUBLIB) $(CAT32): $(WINDIR)\cat.c $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $? @@ -407,6 +424,8 @@ install-binaries: $(TCLSH) @copy $(TCLPIPEDLL) $(BIN_INSTALL_DIR) @echo installing $(TCLREGDLLNAME) @copy $(TCLREGDLL) $(LIB_INSTALL_DIR) + echo installing $(TCLSTUBLIBNAME) + copy $(TCLSTUBLIB) $(LIB_INSTALL_DIR) install-libraries: -@mkd $(LIB_INSTALL_DIR) @@ -434,12 +453,19 @@ package ifneeded registry 1.0 "load [list [file join $$dir .. $(TCLREGDLLNAME)]] -@copy $(ROOT)\library\word.tcl $(SCRIPT_INSTALL_DIR) # +# Regenerate the stubs files. +# + +genstubs: + tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \ + $(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls + +# # Special case object file targets # $(TMPDIR)\tclWinInit.obj: $(WINDIR)\tclWinInit.c - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) $(EXTFLAGS) \ - -Fo$(TMPDIR)\ $? + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) $(EXTFLAGS) -Fo$(TMPDIR)\ $? $(TMPDIR)\testMain.obj: $(WINDIR)\tclAppInit.c $(cc32) $(TCL_CFLAGS) -DTCL_TEST -Fo$(TMPDIR)\testMain.obj $? @@ -456,18 +482,35 @@ $(TMPDIR)\tclWinTest.obj: $(WINDIR)\tclWinTest.c $(TMPDIR)\tclAppInit.obj : $(WINDIR)\tclAppInit.c $(cc32) $(TCL_CFLAGS) -Fo$@ $? +# The following objects should be built using the stub interfaces + +$(TMPDIR)\tclWinReg.obj : $(WINDIR)\tclWinReg.c + $(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -Fo$@ $? + +# The following objects are part of the stub library and should not +# be built as DLL objects but none of the symbols should be exported + +$(TMPDIR)\tclStubs.obj : $(GENERICDIR)\tclStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclPlatStubs.obj : $(GENERICDIR)\tclPlatStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclIntStubs.obj : $(GENERICDIR)\tclIntStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? +$(TMPDIR)\tclPlatIntStubs.obj : $(GENERICDIR)\tclPlatIntStubs.c + $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -Fo$@ $? + # # Implicit rules # {$(WINDIR)}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(GENERICDIR)}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(ROOT)\compat}.c{$(TMPDIR)}.obj: - $(cc32) -DDLL_BUILD -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< + $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -Fo$(TMPDIR)\ $< {$(WINDIR)}.rc{$(TMPDIR)}.res: $(rc32) -fo $@ -r -i $(GENERICDIR) -i $(WINDIR) -D__WIN32__ \ diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c index 9de0589..16c47c1 100644 --- a/win/tclWin32Dll.c +++ b/win/tclWin32Dll.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWin32Dll.c,v 1.4 1998/09/14 18:40:19 stanton Exp $ + * RCS: @(#) $Id: tclWin32Dll.c,v 1.5 1999/03/10 05:52:53 stanton Exp $ */ #include "tclWinInt.h" @@ -378,6 +378,41 @@ TclWinGetTclInstance() /* *---------------------------------------------------------------------- * + * TclpCheckStackSpace -- + * + * Detect if we are about to blow the stack. Called before an + * evaluation can happen when nesting depth is checked. + * + * Results: + * 1 if there is enough stack space to continue; 0 if not. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +int +TclpCheckStackSpace() +{ + /* + * We can recurse only if there is at least TCL_WIN_STACK_THRESHOLD + * bytes of stack space left. alloca() is cheap on windows; basically + * it just subtracts from the stack pointer causing the OS to throw an + * exception if the stack pointer is set below the bottom of the stack. + */ + + try { + alloca(TCL_WIN_STACK_THRESHOLD); + return 1; + } except (1) {} + + return 0; +} + +/* + *---------------------------------------------------------------------- + * * TclWinGetPlatformId -- * * Determines whether running under NT, 95, or Win32s, to allow diff --git a/win/tclWinChan.c b/win/tclWinChan.c index 3d2c4e6..c2ba568 100644 --- a/win/tclWinChan.c +++ b/win/tclWinChan.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinChan.c,v 1.4 1999/01/04 19:25:05 rjohnson Exp $ + * RCS: @(#) $Id: tclWinChan.c,v 1.5 1999/03/10 05:52:53 stanton Exp $ */ #include "tclWinInt.h" @@ -454,6 +454,7 @@ FileSeekProc(instanceData, offset, mode, errorCodePtr) newPos = SetFilePointer(infoPtr->handle, offset, NULL, moveMethod); if (newPos == 0xFFFFFFFF) { TclWinConvertError(GetLastError()); + *errorCodePtr = errno; return -1; } return newPos; diff --git a/win/tclWinFile.c b/win/tclWinFile.c index 4f0f26d..b43ff51 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFile.c,v 1.3 1998/09/14 18:40:20 stanton Exp $ + * RCS: @(#) $Id: tclWinFile.c,v 1.4 1999/03/10 05:52:53 stanton Exp $ */ #include "tclWinInt.h" @@ -644,4 +644,30 @@ TclpAccess( } return result; } + +/* + *---------------------------------------------------------------------- + * + * TclGetUserHome -- + * + * This function takes the passed in user name and finds the + * corresponding home directory specified in the password file. + * + * Results: + * On Windows we always return a NULL. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ +char * +TclGetUserHome( + char *name, /* User name to use to find home directory. */ + Tcl_DString *bufferPtr) /* May be used to hold result. Must not hold + * anything at the time of the call, and need + * not even be initialized. */ +{ + return NULL; +} diff --git a/win/tclWinInt.h b/win/tclWinInt.h index 4169472..e0e1903 100644 --- a/win/tclWinInt.h +++ b/win/tclWinInt.h @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinInt.h,v 1.5 1998/09/14 18:40:20 stanton Exp $ + * RCS: @(#) $Id: tclWinInt.h,v 1.6 1999/03/10 05:52:53 stanton Exp $ */ #ifndef _TCLWININT @@ -27,6 +27,14 @@ #endif /* + * The following specifies how much stack space TclpCheckStackSpace() + * ensures is available. TclpCheckStackSpace() is called by Tcl_EvalObj() + * to help avoid overflowing the stack in the case of infinite recursion. + */ + +#define TCL_WIN_STACK_THRESHOLD 0x2000 + +/* * Some versions of Borland C have a define for the OSVERSIONINFO for * Win32s and for NT, but not for Windows 95. */ @@ -35,10 +43,12 @@ #define VER_PLATFORM_WIN32_WINDOWS 1 #endif -EXTERN int TclWinGetPlatformId(void); +/* + * Declarations of functions that are not accessible by way of the + * stubs table. + */ + EXTERN void TclWinInit(HINSTANCE hInst); -EXTERN int TclWinSynchSpawn(void *args, int type, void **trans, - Tcl_Pid *pidPtr); # undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/win/tclWinPort.h b/win/tclWinPort.h index faca7e7..2bb6b72 100644 --- a/win/tclWinPort.h +++ b/win/tclWinPort.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinPort.h,v 1.6 1998/09/30 23:57:18 stanton Exp $ + * RCS: @(#) $Id: tclWinPort.h,v 1.7 1999/03/10 05:52:53 stanton Exp $ */ #ifndef _TCLWINPORT @@ -206,12 +206,6 @@ #endif /* - * Provide a stub definition for TclGetUserHome(). - */ - -#define TclGetUserHome(name,bufferPtr) (NULL) - -/* * Visual C++ has some odd names for common functions, so we need to * define a few macros to handle them. Also, it defines EDEADLOCK and * EDEADLK as the same value, which confuses Tcl_ErrnoId(). @@ -354,52 +348,21 @@ /* * The following implements the Windows method for exiting the process. */ -#define TclPlatformExit(status) exit(status) - - -/* - * The following declarations belong in tclInt.h, but depend on platform - * specific types (e.g. struct tm). - */ -EXTERN struct tm * TclpGetDate _ANSI_ARGS_((const time_t *tp, - int useGMT)); -EXTERN unsigned long TclpGetPid _ANSI_ARGS_((Tcl_Pid pid)); -EXTERN size_t TclStrftime _ANSI_ARGS_((char *s, size_t maxsize, - const char *format, const struct tm *t)); +#define TclPlatformExit(status) exit(status) /* * The following prototypes and defines replace the Windows versions - * of POSIX function that various compilier vendors didn't implement + * of POSIX function that various compiler vendors didn't implement * well or consistantly. */ #define lstat TclStat -EXTERN int TclpStat _ANSI_ARGS_((CONST char *path, - struct stat *buf)); -EXTERN int TclpAccess _ANSI_ARGS_((CONST char *path, - int mode)); - #define TclpReleaseFile(file) ckfree((char *) file) -/* - * Declarations for Windows specific functions. - */ - -EXTERN void TclWinConvertError _ANSI_ARGS_((DWORD errCode)); -EXTERN void TclWinConvertWSAError _ANSI_ARGS_((DWORD errCode)); -EXTERN struct servent * PASCAL FAR - TclWinGetServByName _ANSI_ARGS_((const char FAR *nm, - const char FAR *proto)); -EXTERN int PASCAL FAR TclWinGetSockOpt _ANSI_ARGS_((SOCKET s, int level, - int optname, char FAR * optval, int FAR *optlen)); -EXTERN HINSTANCE TclWinGetTclInstance _ANSI_ARGS_((void)); -EXTERN HINSTANCE TclWinLoadLibrary _ANSI_ARGS_((char *name)); -EXTERN u_short PASCAL FAR - TclWinNToHS _ANSI_ARGS_((u_short ns)); -EXTERN int PASCAL FAR TclWinSetSockOpt _ANSI_ARGS_((SOCKET s, int level, - int optname, const char FAR * optval, int optlen)); +#include "tclPlatDecls.h" +#include "tclIntPlatDecls.h" # undef TCL_STORAGE_CLASS # define TCL_STORAGE_CLASS DLLIMPORT diff --git a/win/tclWinReg.c b/win/tclWinReg.c index 58d0b61..0f892df 100644 --- a/win/tclWinReg.c +++ b/win/tclWinReg.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinReg.c,v 1.7 1999/02/02 22:25:21 stanton Exp $ + * RCS: @(#) $Id: tclWinReg.c,v 1.8 1999/03/10 05:52:53 stanton Exp $ */ #include <tcl.h> @@ -30,17 +30,6 @@ #define TCL_STORAGE_CLASS DLLEXPORT /* - * VC++ has an alternate entry point called DllMain, so we need to rename - * our entry point. - */ - -#ifdef DLL_BUILD -# if defined(_MSC_VER) -# define DllEntryPoint DllMain -# endif -#endif - -/* * The following macros convert between different endian ints. */ @@ -118,38 +107,7 @@ static int SetValue(Tcl_Interp *interp, Tcl_Obj *keyNameObj, Tcl_Obj *typeObj); EXTERN int Registry_Init(Tcl_Interp *interp); - -/* - *---------------------------------------------------------------------- - * - * DllEntryPoint -- - * - * This wrapper function is used by Windows to invoke the - * initialization code for the DLL. If we are compiling - * with Visual C++, this routine will be renamed to DllMain. - * routine. - * - * Results: - * Returns TRUE; - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ -#ifdef __WIN32__ -#ifdef DLL_BUILD -BOOL APIENTRY -DllEntryPoint( - HINSTANCE hInst, /* Library instance handle. */ - DWORD reason, /* Reason this function is being called. */ - LPVOID reserved) /* Not used. */ -{ - return TRUE; -} -#endif -#endif /* *---------------------------------------------------------------------- @@ -171,6 +129,9 @@ int Registry_Init( Tcl_Interp *interp) { + if (!Tcl_InitStubs(interp, "8.0", 0)) { + return TCL_ERROR; + } Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd, NULL, NULL); return Tcl_PkgProvide(interp, "registry", "1.0"); } diff --git a/win/tclWinSock.c b/win/tclWinSock.c index a8f2a2f..9fa05c9 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinSock.c,v 1.5 1999/02/03 00:51:20 stanton Exp $ + * RCS: @(#) $Id: tclWinSock.c,v 1.6 1999/03/10 05:52:54 stanton Exp $ */ #include "tclInt.h" @@ -2081,7 +2081,7 @@ Tcl_GetHostName() *---------------------------------------------------------------------- */ -int PASCAL FAR +int TclWinGetSockOpt(SOCKET s, int level, int optname, char FAR * optval, int FAR *optlen) { @@ -2099,7 +2099,7 @@ TclWinGetSockOpt(SOCKET s, int level, int optname, char FAR * optval, return (*winSock.getsockopt)(s, level, optname, optval, optlen); } -int PASCAL FAR +int TclWinSetSockOpt(SOCKET s, int level, int optname, const char FAR * optval, int optlen) { @@ -2117,7 +2117,7 @@ TclWinSetSockOpt(SOCKET s, int level, int optname, const char FAR * optval, return (*winSock.setsockopt)(s, level, optname, optval, optlen); } -u_short PASCAL FAR +u_short TclWinNToHS(u_short netshort) { /* @@ -2134,8 +2134,8 @@ TclWinNToHS(u_short netshort) return (*winSock.ntohs)(netshort); } -struct servent FAR * PASCAL FAR -TclWinGetServByName(const char FAR * name, const char FAR * proto) +struct servent * +TclWinGetServByName(const char * name, const char * proto) { /* * Check that WinSock is initialized; do not call it if not, to @@ -2145,7 +2145,7 @@ TclWinGetServByName(const char FAR * name, const char FAR * proto) */ if (winSock.hInstance == NULL) { - return (struct servent FAR *) NULL; + return (struct servent *) NULL; } return (*winSock.getservbyname)(name, proto); diff --git a/win/tclWinTime.c b/win/tclWinTime.c index 089a057..0630caf 100644 --- a/win/tclWinTime.c +++ b/win/tclWinTime.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinTime.c,v 1.2 1998/09/14 18:40:20 stanton Exp $ + * RCS: @(#) $Id: tclWinTime.c,v 1.3 1999/03/10 05:52:54 stanton Exp $ */ #include "tclInt.h" @@ -191,10 +191,12 @@ TclpGetTZName() */ struct tm * -TclpGetDate(tp, useGMT) - const time_t *tp; +TclpGetDate(t, useGMT) + TclpTime_t t; int useGMT; { + const time_t *tp = (const time_t *) t; + struct tm *tmPtr; long time; |