diff options
| -rw-r--r-- | generic/tclInt.decls | 130 | ||||
| -rw-r--r-- | generic/tclIntDecls.h | 9 | ||||
| -rw-r--r-- | generic/tclProc.c | 56 | ||||
| -rw-r--r-- | generic/tclStubInit.c | 2 | ||||
| -rw-r--r-- | generic/tclTomMath.decls | 10 |
5 files changed, 186 insertions, 21 deletions
diff --git a/generic/tclInt.decls b/generic/tclInt.decls index 43e0a85..1c7cac9 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -37,6 +37,11 @@ declare 6 { declare 7 { size_t TclCopyAndCollapse(size_t count, const char *src, char *dst) } +# Removed in 9.0: +#declare 8 { +# int TclCopyChannelOld(Tcl_Interp *interp, Tcl_Channel inChan, +# Tcl_Channel outChan, int toRead, Tcl_Obj *cmdPtr) +#} # TclCreatePipeline unofficially exported for use by BLT. declare 9 { size_t TclCreatePipeline(Tcl_Interp *interp, size_t argc, const char **argv, @@ -85,6 +90,14 @@ declare 32 { int TclGetFrame(Tcl_Interp *interp, const char *str, CallFrame **framePtrPtr) } +# Removed in 9.0: +#declare 34 { +# int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr, +# int endValue, int *indexPtr) +#} +#declare 37 { +# int TclGetLoadedPackages(Tcl_Interp *interp, const char *targetName) +#} declare 38 { int TclGetNamespaceForQualName(Tcl_Interp *interp, const char *qualName, Namespace *cxtNsPtr, int flags, Namespace **nsPtrPtr, @@ -103,12 +116,24 @@ declare 41 { declare 42 { const char *TclpGetUserHome(const char *name, Tcl_DString *bufferPtr) } +declare 43 { + Tcl_ObjCmdProc2 *TclGetObjInterpProc2(void) +} +# Removed in 9.0: +#declare 44 { +# int TclGuessPackageName(const char *fileName, Tcl_DString *bufPtr) +#} declare 45 { int TclHideUnsafeCommands(Tcl_Interp *interp) } declare 46 { int TclInExit(void) } +# Removed in 9.0: +#declare 50 { +# void TclInitCompiledLocals(Tcl_Interp *interp, CallFrame *framePtr, +# Namespace *nsPtr) +#} declare 51 { int TclInterpInit(Tcl_Interp *interp) } @@ -157,9 +182,18 @@ declare 75 { declare 76 { unsigned long long TclpGetSeconds(void) } +# Removed in 9.0: +#declare 77 { +# void TclpGetTime(Tcl_Time *time) +#} declare 81 { void *TclpRealloc(void *ptr, size_t size) } +# Removed in 9.0: +#declare 88 { +# char *TclPrecTraceProc(void *clientData, Tcl_Interp *interp, +# const char *name1, const char *name2, int flags) +#} declare 89 { int TclPreventAliasLoop(Tcl_Interp *interp, Tcl_Interp *cmdInterp, Tcl_Command cmd) @@ -196,6 +230,10 @@ declare 103 { int TclSockGetPort(Tcl_Interp *interp, const char *str, const char *proto, int *portPtr) } +# Removed in 9.0: +#declare 104 { +# int TclSockMinimumBuffersOld(int sock, int size) +#} declare 108 { void TclTeardownNamespace(Namespace *nsPtr) } @@ -205,10 +243,6 @@ declare 109 { declare 110 { int TclSockMinimumBuffers(void *sock, size_t size) } -# Removed in 8.1: -# declare 110 { -# 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. @@ -218,6 +252,30 @@ declare 111 { Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, Tcl_ResolveCompiledVarProc *compiledVarProc) } +# Removed in 9.0: +#declare 112 { +# int TclAppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr, +# Tcl_Obj *objPtr) +#} +#declare 113 { +# Tcl_Namespace *TclCreateNamespace(Tcl_Interp *interp, const char *name, +# void *clientData, Tcl_NamespaceDeleteProc *deleteProc) +#} +#declare 114 { +# void TclDeleteNamespace(Tcl_Namespace *nsPtr) +#} +#declare 115 { +# int TclExport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, +# const char *pattern, int resetListFirst) +#} +#declare 116 { +# Tcl_Command TclFindCommand(Tcl_Interp *interp, const char *name, +# Tcl_Namespace *contextNsPtr, int flags) +#} +#declare 117 { +# Tcl_Namespace *TclFindNamespace(Tcl_Interp *interp, const char *name, +# Tcl_Namespace *contextNsPtr, int flags) +#} declare 118 { int Tcl_GetInterpResolvers(Tcl_Interp *interp, const char *name, Tcl_ResolverInfo *resInfo) @@ -230,10 +288,33 @@ declare 120 { Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags) } +# Removed in 9.0: +#declare 121 { +# int TclForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, +# const char *pattern) +#} +#declare 122 { +# Tcl_Command TclGetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr) +#} +#declare 123 { +# void TclGetCommandFullName(Tcl_Interp *interp, Tcl_Command command, +# Tcl_Obj *objPtr) +#} +#declare 124 { +# Tcl_Namespace *TclGetCurrentNamespace_(Tcl_Interp *interp) +#} +#declare 125 { +# Tcl_Namespace *TclGetGlobalNamespace_(Tcl_Interp *interp) +#} declare 126 { void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable, Tcl_Obj *objPtr) } +# Removed in 9.0: +#declare 127 { +# int TclImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr, +# const char *pattern, int allowOverwrite) +#} declare 128 { void Tcl_PopCallFrame(Tcl_Interp *interp) } @@ -252,6 +333,10 @@ declare 131 { declare 132 { int TclpHasSockets(Tcl_Interp *interp) } +# Removed in 9.0: +#declare 133 { +# struct tm *TclpGetDate(const time_t *time, int useGMT) +#} declare 138 { const char *TclGetEnv(const char *name, Tcl_DString *valuePtr) } @@ -306,6 +391,14 @@ declare 156 { declare 157 { Var *TclVarTraceExists(Tcl_Interp *interp, const char *varName) } +# Removed in 9.0: +#declare 158 { +# void TclSetStartupScriptFileName(const char *filename) +#} +#declare 159 { +# const char *TclGetStartupScriptFileName(void) +#} + declare 161 { int TclChannelTransform(Tcl_Interp *interp, Tcl_Channel chan, Tcl_Obj *cmdObjPtr) @@ -342,6 +435,13 @@ declare 166 { size_t index, Tcl_Obj *valuePtr) } +# Removed in 9.0: +#declare 167 { +# void TclSetStartupScriptPath(Tcl_Obj *pathPtr) +#} +#declare 168 { +# Tcl_Obj *TclGetStartupScriptPath(void) +#} # variant of Tcl_UtfNCmp that takes n as bytes, not chars declare 169 { int TclpUtfNcmp2(const char *s1, const char *s2, size_t n) @@ -374,6 +474,22 @@ declare 177 { void TclVarErrMsg(Tcl_Interp *interp, const char *part1, const char *part2, const char *operation, const char *reason) } +# Removed in 9.0: +#declare 178 { +# void TclSetStartupScript(Tcl_Obj *pathPtr, const char *encodingName) +#} +#declare 179 { +# Tcl_Obj *TclGetStartupScript(const char **encodingNamePtr) +#} +#declare 182 { +# struct tm *TclpLocaltime(const time_t *clock) +#} +#declare 183 { +# struct tm *TclpGmtime(const time_t *clock) +#} + +# For the new "Thread Storage" subsystem. + declare 198 { int TclObjGetFrame(Tcl_Interp *interp, Tcl_Obj *objPtr, CallFrame **framePtrPtr) @@ -478,6 +594,10 @@ declare 234 { declare 235 { void TclInitVarHashTable(TclVarHashTable *tablePtr, Namespace *nsPtr) } +# Removed in 9.0: +#declare 236 { +# void TclBackgroundException(Tcl_Interp *interp, int code) +#} # TIP #285: Script cancellation support. declare 237 { @@ -583,7 +703,6 @@ declare 258 { Tcl_Obj *basenameObj) } - # TIP 625: for unit testing - create list objects with span declare 260 { Tcl_Obj *TclListTestObj(int length, int leadingSpace, int endSpace) @@ -593,7 +712,6 @@ declare 260 { declare 261 { void TclListObjValidate(Tcl_Interp *interp, Tcl_Obj *listObj) } - ############################################################################## diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h index 2be46bc..d19bc7e 100644 --- a/generic/tclIntDecls.h +++ b/generic/tclIntDecls.h @@ -130,7 +130,8 @@ EXTERN Tcl_Command TclGetOriginalCommand(Tcl_Command command); /* 42 */ EXTERN const char * TclpGetUserHome(const char *name, Tcl_DString *bufferPtr); -/* Slot 43 is reserved */ +/* 43 */ +EXTERN Tcl_ObjCmdProc2 * TclGetObjInterpProc2(void); /* Slot 44 is reserved */ /* 45 */ EXTERN int TclHideUnsafeCommands(Tcl_Interp *interp); @@ -631,7 +632,7 @@ typedef struct TclIntStubs { int (*tclGetOpenMode) (Tcl_Interp *interp, const char *str, int *seekFlagPtr); /* 40 */ Tcl_Command (*tclGetOriginalCommand) (Tcl_Command command); /* 41 */ const char * (*tclpGetUserHome) (const char *name, Tcl_DString *bufferPtr); /* 42 */ - void (*reserved43)(void); + Tcl_ObjCmdProc2 * (*tclGetObjInterpProc2) (void); /* 43 */ void (*reserved44)(void); int (*tclHideUnsafeCommands) (Tcl_Interp *interp); /* 45 */ int (*tclInExit) (void); /* 46 */ @@ -929,7 +930,8 @@ extern const TclIntStubs *tclIntStubsPtr; (tclIntStubsPtr->tclGetOriginalCommand) /* 41 */ #define TclpGetUserHome \ (tclIntStubsPtr->tclpGetUserHome) /* 42 */ -/* Slot 43 is reserved */ +#define TclGetObjInterpProc2 \ + (tclIntStubsPtr->tclGetObjInterpProc2) /* 43 */ /* Slot 44 is reserved */ #define TclHideUnsafeCommands \ (tclIntStubsPtr->tclHideUnsafeCommands) /* 45 */ @@ -1281,6 +1283,7 @@ extern const TclIntStubs *tclIntStubsPtr; #endif /* defined(USE_TCL_STUBS) */ #undef TclObjInterpProc #define TclObjInterpProc TclGetObjInterpProc() +#define TclObjInterpProc2 TclGetObjInterpProc2() #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT diff --git a/generic/tclProc.c b/generic/tclProc.c index 4d421c7..7d92388 100644 --- a/generic/tclProc.c +++ b/generic/tclProc.c @@ -1631,6 +1631,43 @@ TclNRInterpProc( } return TclNRInterpProcCore(interp, objv[0], 1, &MakeProcError); } + +static int +NRInterpProc2( + ClientData clientData, /* Record describing procedure to be + * interpreted. */ + Tcl_Interp *interp,/* Interpreter in which procedure was + * invoked. */ + size_t objc, /* Count of number of arguments to this + * procedure. */ + Tcl_Obj *const objv[]) /* Argument value objects. */ +{ + int result = TclPushProcCallFrame(clientData, interp, objc, objv, + /*isLambda*/ 0); + + if (result != TCL_OK) { + return TCL_ERROR; + } + return TclNRInterpProcCore(interp, objv[0], 1, &MakeProcError); +} + +static int +ObjInterpProc2( + ClientData clientData, /* Record describing procedure to be + * interpreted. */ + Tcl_Interp *interp,/* Interpreter in which procedure was + * invoked. */ + size_t objc, /* Count of number of arguments to this + * procedure. */ + Tcl_Obj *const objv[]) /* Argument value objects. */ +{ + /* + * Not used much in the core; external interface for iTcl + */ + + return Tcl_NRCallObjProc2(interp, NRInterpProc2, clientData, objc, objv); +} + /* *---------------------------------------------------------------------- @@ -2224,15 +2261,16 @@ TclUpdateReturnInfo( /* *---------------------------------------------------------------------- * - * TclGetObjInterpProc -- + * TclGetObjInterpProc/TclGetObjInterpProc2 -- * - * Returns a pointer to the TclObjInterpProc function; this is different - * from the value obtained from the TclObjInterpProc reference on systems - * like Windows where import and export versions of a function exported - * by a DLL exist. + * Returns a pointer to the TclObjInterpProc/ObjInterpProc2 functions; + * this is different from the value obtained from the TclObjInterpProc + * reference on systems like Windows where import and export versions + * of a function exported by a DLL exist. * * Results: - * Returns the internal address of the TclObjInterpProc function. + * Returns the internal address of the TclObjInterpProc/ObjInterpProc2 + * functions. * * Side effects: * None. @@ -2245,6 +2283,12 @@ TclGetObjInterpProc(void) { return TclObjInterpProc; } + +Tcl_ObjCmdProc2 * +TclGetObjInterpProc2(void) +{ + return ObjInterpProc2; +} /* *---------------------------------------------------------------------- diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index a00e835..947b056 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -435,7 +435,7 @@ static const TclIntStubs tclIntStubs = { TclGetOpenMode, /* 40 */ TclGetOriginalCommand, /* 41 */ TclpGetUserHome, /* 42 */ - 0, /* 43 */ + TclGetObjInterpProc2, /* 43 */ 0, /* 44 */ TclHideUnsafeCommands, /* 45 */ TclInExit, /* 46 */ diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls index 9c5ca8b..d9335c5 100644 --- a/generic/tclTomMath.decls +++ b/generic/tclTomMath.decls @@ -74,7 +74,7 @@ declare 16 { mp_err MP_WUR TclBN_mp_div_2d(const mp_int *a, int b, mp_int *q, mp_int *r) } # Removed in 9.0 -#declare 17 {deprecated {is private function in libtommath}} { +#declare 17 { # mp_err TclBN_mp_div_3(const mp_int *a, mp_int *q, mp_digit *r) #} declare 18 { @@ -141,7 +141,7 @@ declare 38 { mp_err MP_WUR TclBN_mp_shrink(mp_int *a) } # Removed in 9.0 -#declare 39 {deprecated {macro calling mp_set_u64}} { +#declare 39 { # void TclBN_mp_set(mp_int *a, unsigned int b) #} # Removed in 9.0 @@ -180,18 +180,18 @@ declare 49 { void TclBN_mp_zero(mp_int *a) } # Removed in 9.0 -#declare 61 {deprecated {macro calling mp_init_u64}} { +#declare 61 { # mp_err TclBN_mp_init_ul(mp_int *a, unsigned long i) #} # Removed in 9.0 -#declare 62 {deprecated {macro calling mp_set_u64}} { +#declare 62 { # void TclBN_mp_set_ul(mp_int *a, unsigned long i) #} declare 63 { int MP_WUR TclBN_mp_cnt_lsb(const mp_int *a) } # Removed in 9.0 -#declare 64 {deprecated {macro calling mp_init_i64}} { +#declare 64 { # int TclBN_mp_init_l(mp_int *bignum, long initVal) #} declare 65 { |
