summaryrefslogtreecommitdiffstats
path: root/generic/tclStubInit.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclStubInit.c')
-rw-r--r--generic/tclStubInit.c1293
1 files changed, 359 insertions, 934 deletions
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 975e3ab..6499bc2 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -1,35 +1,22 @@
-/*
+/*
* tclStubInit.c --
*
* This file contains the initializers for the Tcl stub vectors.
*
- * Copyright © 1998-1999 Scriptics Corporation.
+ * 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.
*/
#include "tclInt.h"
-#include "tommath_private.h"
-#include "tclTomMath.h"
-
-#ifdef __CYGWIN__
-# include <wchar.h>
-#endif
-
-#ifdef __GNUC__
-#pragma GCC dependency "tcl.decls"
-#pragma GCC dependency "tclInt.decls"
-#pragma GCC dependency "tclTomMath.decls"
-#endif
+#include "tommath.h"
/*
* Remove macros that will interfere with the definitions below.
*/
#undef Tcl_Alloc
-#undef Tcl_AttemptAlloc
-#undef Tcl_AttemptRealloc
#undef Tcl_Free
#undef Tcl_Realloc
#undef Tcl_NewBooleanObj
@@ -38,441 +25,105 @@
#undef Tcl_NewIntObj
#undef Tcl_NewListObj
#undef Tcl_NewLongObj
-#undef Tcl_DbNewLongObj
#undef Tcl_NewObj
#undef Tcl_NewStringObj
-#undef Tcl_GetUnicode
-#undef Tcl_GetUnicodeFromObj
-#undef Tcl_AppendUnicodeToObj
-#undef Tcl_NewUnicodeObj
-#undef Tcl_SetUnicodeObj
-#undef Tcl_UniCharNcasecmp
-#undef Tcl_UniCharCaseMatch
-#undef Tcl_UniCharLen
-#undef Tcl_UniCharNcmp
#undef Tcl_DumpActiveMemory
#undef Tcl_ValidateAllMemory
#undef Tcl_FindHashEntry
#undef Tcl_CreateHashEntry
-#undef Tcl_Panic
-#undef Tcl_FindExecutable
-#undef Tcl_SetExitProc
-#undef Tcl_SetPanicProc
#undef TclpGetPid
#undef TclSockMinimumBuffers
-#undef Tcl_SetIntObj
-#undef Tcl_SetLongObj
-#undef TclpInetNtoa
#undef TclWinGetServByName
#undef TclWinGetSockOpt
#undef TclWinSetSockOpt
-#undef TclWinNToHS
-#undef TclStaticLibrary
-#undef Tcl_BackgroundError
-#undef TclGuessPackageName
-#undef TclGetLoadedPackages
-#define TclStaticLibrary Tcl_StaticLibrary
-#undef Tcl_UniCharToUtfDString
-#undef Tcl_UtfToUniCharDString
-#undef Tcl_UtfToUniChar
-#undef Tcl_MacOSXOpenBundleResources
-#undef TclWinConvertWSAError
-#undef TclWinConvertError
-#undef TclObjInterpProc
-
-#if defined(_WIN32) || defined(__CYGWIN__)
-#define TclWinConvertWSAError (void (*)(DWORD))(void *)Tcl_WinConvertError
-#define TclWinConvertError (void (*)(DWORD))(void *)Tcl_WinConvertError
-#endif
+#define TclUnusedStubEntry NULL
+/*
+ * Keep a record of the original Notifier procedures, created in the
+ * same compilation unit as the stub tables so we can later do reliable,
+ * portable comparisons to see whether a Tcl_SetNotifier() call swapped
+ * new routines into the stub table.
+ */
-#if defined(TCL_NO_DEPRECATED)
-static void uniCodePanic(void) {
- Tcl_Panic("Tcl is compiled without the the UTF16 compatibility layer (-DTCL_NO_DEPRECATED)");
-}
-# define Tcl_GetUnicode (unsigned short *(*)(Tcl_Obj *))(void *)uniCodePanic
-# define Tcl_GetUnicodeFromObj (unsigned short *(*)(Tcl_Obj *, int *))(void *)uniCodePanic
-# define Tcl_NewUnicodeObj (Tcl_Obj *(*)(const unsigned short *, int))(void *)uniCodePanic
-# define Tcl_SetUnicodeObj (void(*)(Tcl_Obj *, const unsigned short *, int))(void *)uniCodePanic
-# define Tcl_AppendUnicodeToObj (void(*)(Tcl_Obj *, const unsigned short *, int))(void *)uniCodePanic
-# define Tcl_UtfAtIndex (const char *(*)(const char *, int))(void *)uniCodePanic
-# define Tcl_GetCharLength (int(*)(Tcl_Obj *))(void *)uniCodePanic
-# define Tcl_UniCharNcmp (int(*)(const unsigned short *, const unsigned short *, unsigned long))(void *)uniCodePanic
-# define Tcl_UniCharNcasecmp (int(*)(const unsigned short *, const unsigned short *, unsigned long))(void *)uniCodePanic
-# define Tcl_UniCharCaseMatch (int(*)(const unsigned short *, const unsigned short *, int))(void *)uniCodePanic
-# define Tcl_GetRange (Tcl_Obj *(*)(Tcl_Obj *, int, int))(void *)uniCodePanic
-# define Tcl_GetUniChar (int(*)(Tcl_Obj *, int))(void *)uniCodePanic
-# define Tcl_NumUtfChars (int(*)(const char *, int))(void *)uniCodePanic
-# define Tcl_UtfNcmp (int(*)(const char *, const char *, unsigned long))(void *)uniCodePanic
-# define Tcl_UtfNcasecmp (int(*)(const char *, const char *, unsigned long))(void *)uniCodePanic
+Tcl_NotifierProcs tclOriginalNotifier = {
+ Tcl_SetTimer,
+ Tcl_WaitForEvent,
+#if !defined(__WIN32__) /* UNIX */
+ Tcl_CreateFileHandler,
+ Tcl_DeleteFileHandler,
+#else
+ NULL,
+ NULL,
#endif
-
-#define TclUtfCharComplete UtfCharComplete
-#define TclUtfNext UtfNext
-#define TclUtfPrev UtfPrev
-
-static int TclUtfCharComplete(const char *src, int length) {
- if ((unsigned)((unsigned char)*(src) - 0xF0) < 5) {
- return length < 3;
- }
- return Tcl_UtfCharComplete(src, length);
-}
-
-static const char *TclUtfNext(const char *src) {
- if ((unsigned)((unsigned char)*(src) - 0xF0) < 5) {
- return src + 1;
- }
- return Tcl_UtfNext(src);
-}
-
-static const char *TclUtfPrev(const char *src, const char *start) {
- if ((src >= start + 3) && ((src[-1] & 0xC0) == 0x80)
- && ((src[-2] & 0xC0) == 0x80) && ((src[-3] & 0xC0) == 0x80)) {
- return src - 3;
- }
- return Tcl_UtfPrev(src, start);
-}
-
-#define TclBN_mp_add mp_add
-#define TclBN_mp_and mp_and
-#define TclBN_mp_clamp mp_clamp
-#define TclBN_mp_clear mp_clear
-#define TclBN_mp_clear_multi mp_clear_multi
-#define TclBN_mp_cmp mp_cmp
-#define TclBN_mp_cmp_mag mp_cmp_mag
-#define TclBN_mp_cnt_lsb mp_cnt_lsb
-#define TclBN_mp_copy mp_copy
-#define TclBN_mp_count_bits mp_count_bits
-#define TclBN_mp_div mp_div
-#define TclBN_mp_div_2 mp_div_2
-#define TclBN_mp_div_2d mp_div_2d
-#define TclBN_mp_exch mp_exch
-#define TclBN_mp_get_mag_u64 mp_get_mag_u64
-#define TclBN_mp_grow mp_grow
-#define TclBN_mp_init mp_init
-#define TclBN_mp_init_copy mp_init_copy
-#define TclBN_mp_init_multi mp_init_multi
-#define TclBN_mp_init_size mp_init_size
-#define TclBN_mp_init_i64 mp_init_i64
-#define TclBN_mp_init_u64 mp_init_u64
-#define TclBN_mp_lshd mp_lshd
-#define TclBN_mp_mod mp_mod
-#define TclBN_mp_mod_2d mp_mod_2d
-#define TclBN_mp_mul mp_mul
-#define TclBN_mp_mul_2 mp_mul_2
-#define TclBN_mp_mul_2d mp_mul_2d
-#define TclBN_mp_neg mp_neg
-#define TclBN_mp_or mp_or
-#define TclBN_mp_pack mp_pack
-#define TclBN_mp_pack_count mp_pack_count
-#define TclBN_mp_radix_size mp_radix_size
-#define TclBN_mp_reverse mp_reverse
-#define TclBN_mp_read_radix mp_read_radix
-#define TclBN_mp_rshd mp_rshd
-#define TclBN_mp_set_i64 mp_set_i64
-#define TclBN_mp_set_u64 mp_set_u64
-#define TclBN_mp_shrink mp_shrink
-#define TclBN_mp_sqr mp_sqr
-#define TclBN_mp_sqrt mp_sqrt
-#define TclBN_mp_sub mp_sub
-#define TclBN_mp_signed_rsh mp_signed_rsh
-#define TclBN_mp_tc_and TclBN_mp_and
-#define TclBN_mp_tc_div_2d mp_signed_rsh
-#define TclBN_mp_tc_or TclBN_mp_or
-#define TclBN_mp_tc_xor TclBN_mp_xor
-#define TclBN_mp_to_radix mp_to_radix
-#define TclBN_mp_to_ubin mp_to_ubin
-#define TclBN_mp_ubin_size mp_ubin_size
-#define TclBN_mp_unpack mp_unpack
-#define TclBN_mp_xor mp_xor
-#define TclBN_mp_zero mp_zero
-#define TclBN_s_mp_add s_mp_add
-#define TclBN_s_mp_balance_mul s_mp_balance_mul
-#define TclBN_mp_karatsuba_mul s_mp_karatsuba_mul
-#define TclBN_mp_karatsuba_sqr s_mp_karatsuba_sqr
-#define TclBN_s_mp_mul_digs s_mp_mul_digs
-#define TclBN_s_mp_mul_digs_fast s_mp_mul_digs_fast
-#define TclBN_s_mp_reverse s_mp_reverse
-#define TclBN_s_mp_sqr s_mp_sqr
-#define TclBN_s_mp_sqr_fast s_mp_sqr_fast
-#define TclBN_s_mp_sub s_mp_sub
-#define TclBN_mp_toom_mul s_mp_toom_mul
-#define TclBN_mp_toom_sqr s_mp_toom_sqr
-#define TclUnusedStubEntry 0
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
/* See bug 510001: TclSockMinimumBuffers needs plat imp */
-#if defined(_WIN64) || defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
+#ifdef _WIN64
# define TclSockMinimumBuffersOld 0
#else
-#define TclSockMinimumBuffersOld sockMinimumBuffersOld
-static int TclSockMinimumBuffersOld(int sock, int size)
+int TclSockMinimumBuffersOld(sock, size)
+ int sock;
+ int size;
{
return TclSockMinimumBuffers(INT2PTR(sock), size);
}
#endif
-mp_err TclBN_mp_set_int(mp_int *a, unsigned long i)
-{
- TclBN_mp_set_u64(a, i);
- return MP_OKAY;
-}
-
-static mp_err TclBN_mp_set_long(mp_int *a, unsigned long i)
-{
- TclBN_mp_set_u64(a, i);
- return MP_OKAY;
-}
-
-#define TclBN_mp_set_ul (void (*)(mp_int *a, unsigned long i))(void *)TclBN_mp_set_long
-
-mp_err MP_WUR TclBN_mp_expt_u32(const mp_int *a, unsigned int b, mp_int *c) {
- return mp_expt_u32(a, b, c);
-}
-mp_err TclBN_mp_add_d(const mp_int *a, unsigned int b, mp_int *c) {
- return mp_add_d(a, b, c);
-}
-mp_err TclBN_mp_cmp_d(const mp_int *a, unsigned int b) {
- return mp_cmp_d(a, b);
-}
-mp_err TclBN_mp_sub_d(const mp_int *a, unsigned int b, mp_int *c) {
- return mp_sub_d(a, b, c);
-}
-mp_err TclBN_mp_div_d(const mp_int *a, unsigned int b, mp_int *c, unsigned int *d) {
- mp_digit d2;
- mp_err result = mp_div_d(a, b, c, (d ? &d2 : NULL));
- if (d) {
- *d = d2;
- }
- return result;
-}
-mp_err TclBN_mp_div_ld(const mp_int *a, uint64_t b, mp_int *c, uint64_t *d) {
- mp_err result;
- mp_digit d2;
-
- if ((b | (mp_digit)-1) != (mp_digit)-1) {
- return MP_VAL;
- }
- result = mp_div_d(a, (mp_digit)b, c, (d ? &d2 : NULL));
- if (d) {
- *d = d2;
- }
- return result;
-}
-mp_err TclBN_mp_init_set(mp_int *a, unsigned int b) {
- return mp_init_set(a, b);
-}
-mp_err TclBN_mp_mul_d(const mp_int *a, unsigned int b, mp_int *c) {
- return mp_mul_d(a, b, c);
-}
+MODULE_SCOPE TclIntStubs tclIntStubs;
+MODULE_SCOPE TclIntPlatStubs tclIntPlatStubs;
+MODULE_SCOPE TclPlatStubs tclPlatStubs;
+MODULE_SCOPE TclStubs tclStubs;
+MODULE_SCOPE TclTomMathStubs tclTomMathStubs;
-#if defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
-# define TclBN_mp_expt_d_ex 0
-# define TclBN_mp_to_unsigned_bin 0
-# define TclBN_mp_to_unsigned_bin_n 0
-# define TclBN_mp_toradix_n 0
-# undef TclBN_mp_sqr
-# define TclBN_mp_sqr 0
-# undef TclBN_mp_div_3
-# define TclBN_mp_div_3 0
-# define TclBN_mp_init_l 0
-# define TclBN_mp_init_ul 0
-# define TclBN_mp_set 0
-# define TclSetStartupScriptPath 0
-# define TclGetStartupScriptPath 0
-# define TclSetStartupScriptFileName 0
-# define TclGetStartupScriptFileName 0
-# define TclPrecTraceProc 0
-# define TclpInetNtoa 0
-# define TclWinGetServByName 0
-# define TclWinGetSockOpt 0
-# define TclWinSetSockOpt 0
-# define TclWinNToHS 0
-# define TclWinGetPlatformId 0
-# define TclWinResetInterfaces 0
-# define TclWinSetInterfaces 0
-# define Tcl_Backslash 0
-# define Tcl_GetDefaultEncodingDir 0
-# define Tcl_SetDefaultEncodingDir 0
-# define Tcl_EvalTokens 0
-# define Tcl_CreateMathFunc 0
-# define Tcl_GetMathFuncInfo 0
-# define Tcl_ListMathFuncs 0
-# define Tcl_SetIntObj 0
-# define Tcl_SetLongObj 0
-# define Tcl_NewIntObj 0
-# define Tcl_NewLongObj 0
-# define Tcl_DbNewLongObj 0
-# define Tcl_BackgroundError 0
-# define Tcl_FreeResult 0
-# define Tcl_ChannelSeekProc 0
-# define Tcl_ChannelCloseProc 0
-# define Tcl_Close 0
-# define Tcl_MacOSXOpenBundleResources 0
-# define TclGuessPackageName 0
-# define TclGetLoadedPackages 0
-# undef TclSetPreInitScript
-# define TclSetPreInitScript 0
-# define TclInitCompiledLocals 0
-#else
-
-#define TclGuessPackageName guessPackageName
-static int TclGuessPackageName(
- TCL_UNUSED(const char *),
- TCL_UNUSED(Tcl_DString *)) {
- return 0;
-}
-#define TclGetLoadedPackages getLoadedPackages
-static int TclGetLoadedPackages(
- Tcl_Interp *interp, /* Interpreter in which to return information
- * or error message. */
- const char *targetName) /* Name of target interpreter or NULL. If
- * NULL, return info about all interps;
- * otherwise, just return info about this
- * interpreter. */
-{
- return TclGetLoadedLibraries(interp, targetName, NULL);
-}
-
-mp_err TclBN_mp_div_3(const mp_int *a, mp_int *c, unsigned int *d) {
- mp_digit d2;
- mp_err result = mp_div_d(a, 3, c, &d2);
- if (d) {
- *d = d2;
- }
- return result;
-}
-
-int TclBN_mp_expt_d_ex(const mp_int *a, unsigned int b, mp_int *c,
- TCL_UNUSED(int) /*fast*/)
-{
- return TclBN_mp_expt_u32(a, b, c);
-}
-
-mp_err TclBN_mp_to_unsigned_bin(const mp_int *a, unsigned char *b)
-{
- return TclBN_mp_to_ubin(a, b, INT_MAX, NULL);
-}
-
-mp_err TclBN_mp_to_unsigned_bin_n(const mp_int *a, unsigned char *b, unsigned long *outlen)
-{
- size_t n = TclBN_mp_ubin_size(a);
- if (*outlen < (unsigned long)n) {
- return MP_VAL;
- }
- *outlen = (unsigned long)n;
- return TclBN_mp_to_ubin(a, b, n, NULL);
-}
-
-void TclBN_reverse(unsigned char *s, int len)
-{
- if (len > 0) {
- TclBN_s_mp_reverse(s, (size_t)len);
- }
-}
-
-mp_err TclBN_mp_init_ul(mp_int *a, unsigned long b)
-{
- return TclBN_mp_init_u64(a,b);
+#if defined(_WIN32) || defined(__CYGWIN__)
+#undef TclWinNToHS
+unsigned short TclWinNToHS(unsigned short ns) {
+ return ntohs(ns);
}
+#endif
-mp_err TclBN_mp_init_l(mp_int *a, long b)
-{
- return TclBN_mp_init_i64(a,b);
-}
+#ifdef __WIN32__
+# define TclUnixWaitForFile 0
+# define TclUnixCopyFile 0
+# define TclpReaddir 0
+# define TclpIsAtty 0
+#elif defined(__CYGWIN__)
+# define TclpIsAtty TclPlatIsAtty
+# define TclWinSetInterfaces (void (*) (int)) doNothing
+# define TclWinAddProcess (void (*) (void *, unsigned int)) doNothing
+# define TclWinFlushDirtyChannels doNothing
+# define TclWinResetInterfaces doNothing
+# define TclpGetTZName 0
-void TclBN_mp_set(mp_int *a, unsigned int b) {
- TclBN_mp_set_u64(a, b);
-}
+static Tcl_Encoding winTCharEncoding;
-mp_err TclBN_mp_toradix_n(const mp_int *a, char *str, int radix, int maxlen)
+static int
+TclpIsAtty(int fd)
{
- if (maxlen < 0) {
- return MP_VAL;
- }
- return TclBN_mp_to_radix(a, str, maxlen, NULL, radix);
+ return isatty(fd);
}
-#define TclSetStartupScriptPath setStartupScriptPath
-static void TclSetStartupScriptPath(Tcl_Obj *path)
-{
- Tcl_SetStartupScript(path, NULL);
-}
-#define TclGetStartupScriptPath getStartupScriptPath
-static Tcl_Obj *TclGetStartupScriptPath(void)
-{
- return Tcl_GetStartupScript(NULL);
-}
-#define TclSetStartupScriptFileName setStartupScriptFileName
-static void TclSetStartupScriptFileName(
- const char *fileName)
-{
- Tcl_SetStartupScript(Tcl_NewStringObj(fileName,-1), NULL);
-}
-#define TclGetStartupScriptFileName getStartupScriptFileName
-static const char *TclGetStartupScriptFileName(void)
-{
- Tcl_Obj *path = Tcl_GetStartupScript(NULL);
- if (path == NULL) {
- return NULL;
- }
- return Tcl_GetString(path);
-}
-#if defined(_WIN32) || defined(__CYGWIN__)
-#undef TclWinNToHS
-#undef TclWinGetPlatformId
-#undef TclWinResetInterfaces
-#undef TclWinSetInterfaces
-static void
-doNothing(void)
-{
- /* dummy implementation, no need to do anything */
-}
-#define TclWinNToHS winNToHS
-static unsigned short TclWinNToHS(unsigned short ns) {
- return ntohs(ns);
-}
#define TclWinGetPlatformId winGetPlatformId
static int
-TclWinGetPlatformId(void)
+TclWinGetPlatformId()
{
+ /* Don't bother to determine the real platform on cygwin,
+ * because VER_PLATFORM_WIN32_NT is the only supported platform */
return 2; /* VER_PLATFORM_WIN32_NT */;
}
-#define TclWinResetInterfaces doNothing
-#define TclWinSetInterfaces (void (*) (int)) doNothing
-#endif
-#endif /* TCL_NO_DEPRECATED */
-#define TclpCreateTempFile_ TclpCreateTempFile
-#define TclUnixWaitForFile_ TclUnixWaitForFile
-#ifdef MAC_OSX_TCL /* On UNIX, fill with other stub entries */
-#define TclMacOSXNotifierAddRunLoopMode Tcl_MacOSXNotifierAddRunLoopMode
-#else
-#define TclMacOSXGetFileAttribute (int (*)(Tcl_Interp *, int, Tcl_Obj *, Tcl_Obj **))(void *)TclpCreateProcess
-#define TclMacOSXSetFileAttribute (int (*)(Tcl_Interp *, int, Tcl_Obj *, Tcl_Obj *))(void *)isatty
-#define TclMacOSXCopyFileAttributes (int (*)(const char *, const char *, const Tcl_StatBuf *))(void *)TclUnixCopyFile
-#define TclMacOSXMatchType (int (*)(Tcl_Interp *, const char *, const char *, Tcl_StatBuf *, Tcl_GlobTypeData *))(void *)TclpMakeFile
-#define TclMacOSXNotifierAddRunLoopMode (void (*)(const void *))(void *)TclpOpenFile
-#endif
-
-#ifdef _WIN32
-# define TclUnixWaitForFile 0
-# define TclUnixCopyFile 0
-# define TclUnixOpenTemporaryFile 0
-# define TclpReaddir 0
-# define TclpIsAtty 0
-#elif defined(__CYGWIN__)
-# define TclpIsAtty isatty
-#if defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
-static void
-doNothing(void)
+void *TclWinGetTclInstance()
{
- /* dummy implementation, no need to do anything */
+ void *hInstance = NULL;
+ GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
+ (const char *)&winTCharEncoding, &hInstance);
+ return hInstance;
}
-#endif
-# define TclWinAddProcess (void (*) (void *, Tcl_Size)) doNothing
-# define TclWinFlushDirtyChannels doNothing
-#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
#define TclWinSetSockOpt winSetSockOpt
static int
TclWinSetSockOpt(SOCKET s, int level, int optname,
@@ -495,7 +146,6 @@ TclWinGetServByName(const char *name, const char *proto)
{
return getservbyname(name, proto);
}
-#endif /* TCL_NO_DEPRECATED */
#define TclWinNoBackslash winNoBackslash
static char *
@@ -511,42 +161,43 @@ TclWinNoBackslash(char *path)
return path;
}
-void *TclWinGetTclInstance()
+int
+TclpGetPid(Tcl_Pid pid)
{
- void *hInstance = NULL;
- GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
- (const wchar_t *)&TclWinNoBackslash, &hInstance);
- return hInstance;
+ return (int) (size_t) pid;
}
-int
-TclpGetPid(Tcl_Pid pid)
+static void
+doNothing(void)
{
- return (TCL_HASH_TYPE)(size_t)pid;
+ /* dummy implementation, no need to do anything */
}
-#if !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
-#undef Tcl_WinUtfToTChar
char *
Tcl_WinUtfToTChar(
const char *string,
int len,
Tcl_DString *dsPtr)
{
- Tcl_DStringInit(dsPtr);
- return (char *)Tcl_UtfToChar16DString(string, len, dsPtr);
+ if (!winTCharEncoding) {
+ winTCharEncoding = Tcl_GetEncoding(0, "unicode");
+ }
+ return Tcl_UtfToExternalDString(winTCharEncoding,
+ string, len, dsPtr);
}
-#undef Tcl_WinTCharToUtf
+
char *
Tcl_WinTCharToUtf(
const char *string,
int len,
Tcl_DString *dsPtr)
{
- Tcl_DStringInit(dsPtr);
- return Tcl_Char16ToUtfDString((const unsigned short *)string, len >> 1, dsPtr);
+ if (!winTCharEncoding) {
+ winTCharEncoding = Tcl_GetEncoding(0, "unicode");
+ }
+ return Tcl_ExternalToUtfDString(winTCharEncoding,
+ string, len, dsPtr);
}
-#endif /* !defined(TCL_NO_DEPRECATED) */
#if defined(TCL_WIDE_INT_IS_LONG)
/* On Cygwin64, long is 64-bit while on Win64 long is 32-bit. Therefore
@@ -554,209 +205,88 @@ Tcl_WinTCharToUtf(
* signature. Tcl 9 must find a better solution, but that cannot be done
* without introducing a binary incompatibility.
*/
-#define Tcl_GetLongFromObj (int(*)(Tcl_Interp*,Tcl_Obj*,long*))(void *)Tcl_GetIntFromObj
+#define Tcl_DbNewLongObj ((Tcl_Obj*(*)(long,const char*,int))dbNewLongObj)
+static Tcl_Obj *dbNewLongObj(
+ int intValue,
+ const char *file,
+ int line
+) {
+#ifdef TCL_MEM_DEBUG
+ register Tcl_Obj *objPtr;
+
+ TclDbNewObj(objPtr, file, line);
+ objPtr->bytes = NULL;
+
+ objPtr->internalRep.longValue = (long) intValue;
+ objPtr->typePtr = &tclIntType;
+ return objPtr;
+#else
+ return Tcl_NewIntObj(intValue);
+#endif
+}
+#define Tcl_GetLongFromObj (int(*)(Tcl_Interp*,Tcl_Obj*,long*))Tcl_GetIntFromObj
+#define Tcl_NewLongObj (Tcl_Obj*(*)(long))Tcl_NewIntObj
+#define Tcl_SetLongObj (void(*)(Tcl_Obj*,long))Tcl_SetIntObj
static int exprInt(Tcl_Interp *interp, const char *expr, int *ptr){
long longValue;
int result = Tcl_ExprLong(interp, expr, &longValue);
if (result == TCL_OK) {
- if ((longValue >= (long)(INT_MIN))
+ if ((longValue >= -(long)(UINT_MAX))
&& (longValue <= (long)(UINT_MAX))) {
*ptr = (int)longValue;
} else {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "integer value too large to represent", -1));
+ Tcl_SetResult(interp,
+ "integer value too large to represent as non-long integer",
+ TCL_STATIC);
result = TCL_ERROR;
}
}
return result;
}
-#define Tcl_ExprLong (int(*)(Tcl_Interp*,const char*,long*))(void *)exprInt
+#define Tcl_ExprLong (int(*)(Tcl_Interp*,const char*,long*))exprInt
static int exprIntObj(Tcl_Interp *interp, Tcl_Obj*expr, int *ptr){
long longValue;
int result = Tcl_ExprLongObj(interp, expr, &longValue);
if (result == TCL_OK) {
- if ((longValue >= (long)(INT_MIN))
+ if ((longValue >= -(long)(UINT_MAX))
&& (longValue <= (long)(UINT_MAX))) {
*ptr = (int)longValue;
} else {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "integer value too large to represent", -1));
+ Tcl_SetResult(interp,
+ "integer value too large to represent as non-long integer",
+ TCL_STATIC);
result = TCL_ERROR;
}
}
return result;
}
-#define Tcl_ExprLongObj (int(*)(Tcl_Interp*,Tcl_Obj*,long*))(void *)exprIntObj
+#define Tcl_ExprLongObj (int(*)(Tcl_Interp*,Tcl_Obj*,long*))exprIntObj
+static int uniCharNcmp(const Tcl_UniChar *ucs, const Tcl_UniChar *uct, unsigned int n){
+ return Tcl_UniCharNcmp(ucs, uct, (unsigned long)n);
+}
+#define Tcl_UniCharNcmp (int(*)(const Tcl_UniChar*,const Tcl_UniChar*,unsigned long))uniCharNcmp
static int utfNcmp(const char *s1, const char *s2, unsigned int n){
return Tcl_UtfNcmp(s1, s2, (unsigned long)n);
}
-#define Tcl_UtfNcmp (int(*)(const char*,const char*,unsigned long))(void *)utfNcmp
+#define Tcl_UtfNcmp (int(*)(const char*,const char*,unsigned long))utfNcmp
static int utfNcasecmp(const char *s1, const char *s2, unsigned int n){
return Tcl_UtfNcasecmp(s1, s2, (unsigned long)n);
}
-#define Tcl_UtfNcasecmp (int(*)(const char*,const char*,unsigned long))(void *)utfNcasecmp
-
-#endif /* TCL_WIDE_INT_IS_LONG */
+#define Tcl_UtfNcasecmp (int(*)(const char*,const char*,unsigned long))utfNcasecmp
+static int uniCharNcasecmp(const Tcl_UniChar *ucs, const Tcl_UniChar *uct, unsigned int n){
+ return Tcl_UniCharNcasecmp(ucs, uct, (unsigned long)n);
+}
+#define Tcl_UniCharNcasecmp (int(*)(const Tcl_UniChar*,const Tcl_UniChar*,unsigned long))uniCharNcasecmp
+static int formatInt(char *buffer, int n){
+ return TclFormatInt(buffer, (long)n);
+}
+#define TclFormatInt (int(*)(char *, long))formatInt
-#endif /* __CYGWIN__ */
+#endif
-#if defined(TCL_NO_DEPRECATED)
-# define Tcl_SeekOld 0
-# define Tcl_TellOld 0
-# undef Tcl_SetBooleanObj
-# define Tcl_SetBooleanObj 0
-# undef Tcl_PkgPresent
-# define Tcl_PkgPresent 0
-# undef Tcl_PkgProvide
-# define Tcl_PkgProvide 0
-# undef Tcl_PkgRequire
-# define Tcl_PkgRequire 0
-# undef Tcl_GetIndexFromObj
-# define Tcl_GetIndexFromObj 0
-# define Tcl_NewBooleanObj 0
-# undef Tcl_DbNewBooleanObj
-# define Tcl_DbNewBooleanObj 0
-# undef Tcl_SetBooleanObj
-# define Tcl_SetBooleanObj 0
-# undef Tcl_SetVar
-# define Tcl_SetVar 0
-# undef Tcl_UnsetVar
-# define Tcl_UnsetVar 0
-# undef Tcl_GetVar
-# define Tcl_GetVar 0
-# undef Tcl_TraceVar
-# define Tcl_TraceVar 0
-# undef Tcl_UntraceVar
-# define Tcl_UntraceVar 0
-# undef Tcl_VarTraceInfo
-# define Tcl_VarTraceInfo 0
-# undef Tcl_UpVar
-# define Tcl_UpVar 0
-# undef Tcl_AddErrorInfo
-# define Tcl_AddErrorInfo 0
-# undef Tcl_AddObjErrorInfo
-# define Tcl_AddObjErrorInfo 0
-# undef Tcl_Eval
-# define Tcl_Eval 0
-# undef Tcl_GlobalEval
-# define Tcl_GlobalEval 0
-# undef Tcl_SaveResult
-# define Tcl_SaveResult 0
-# undef Tcl_RestoreResult
-# define Tcl_RestoreResult 0
-# undef Tcl_DiscardResult
-# define Tcl_DiscardResult 0
-# undef Tcl_SetResult
-# define Tcl_SetResult 0
-# undef Tcl_EvalObj
-# define Tcl_EvalObj 0
-# undef Tcl_GlobalEvalObj
-# define Tcl_GlobalEvalObj 0
-# define TclBackgroundException 0
-# undef TclpReaddir
-# define TclpReaddir 0
-# define TclSetStartupScript 0
-# define TclGetStartupScript 0
-# define TclGetIntForIndex 0
-# define TclCreateNamespace 0
-# define TclDeleteNamespace 0
-# define TclAppendExportList 0
-# define TclExport 0
-# define TclImport 0
-# define TclForgetImport 0
-# define TclGetCurrentNamespace_ 0
-# define TclGetGlobalNamespace_ 0
-# define TclFindNamespace 0
-# define TclFindCommand 0
-# define TclGetCommandFromObj 0
-# define TclGetCommandFullName 0
-# define TclCopyChannelOld 0
-# define Tcl_AppendResultVA 0
-# define Tcl_AppendStringsToObjVA 0
-# define Tcl_SetErrorCodeVA 0
-# define Tcl_PanicVA 0
-# define Tcl_VarEvalVA 0
-# undef TclpGetDate
-# define TclpGetDate 0
-# undef TclpLocaltime
-# define TclpLocaltime 0
-# undef TclpGmtime
-# define TclpGmtime 0
-# define TclpLocaltime_unix 0
-# define TclpGmtime_unix 0
-# define Tcl_SetExitProc 0
-# define Tcl_SetPanicProc 0
-# define Tcl_FindExecutable 0
-# undef Tcl_StringMatch
-# define Tcl_StringMatch 0
-# define TclBN_reverse 0
-# undef TclBN_s_mp_mul_digs_fast
-# define TclBN_s_mp_mul_digs_fast 0
-# undef TclBN_s_mp_sqr_fast
-# define TclBN_s_mp_sqr_fast 0
-# undef TclBN_mp_karatsuba_mul
-# define TclBN_mp_karatsuba_mul 0
-# undef TclBN_mp_karatsuba_sqr
-# define TclBN_mp_karatsuba_sqr 0
-# undef TclBN_mp_toom_mul
-# define TclBN_mp_toom_mul 0
-# undef TclBN_mp_toom_sqr
-# define TclBN_mp_toom_sqr 0
-# undef TclBN_s_mp_add
-# define TclBN_s_mp_add 0
-# undef TclBN_s_mp_mul_digs
-# define TclBN_s_mp_mul_digs 0
-# undef TclBN_s_mp_sqr
-# define TclBN_s_mp_sqr 0
-# undef TclBN_s_mp_sub
-# define TclBN_s_mp_sub 0
-# define Tcl_MakeSafe 0
-# define TclpHasSockets 0
-#else /* TCL_NO_DEPRECATED */
-# define Tcl_SeekOld seekOld
-# define Tcl_TellOld tellOld
-# define TclBackgroundException Tcl_BackgroundException
-# define TclSetStartupScript Tcl_SetStartupScript
-# define TclGetStartupScript Tcl_GetStartupScript
-# define TclGetIntForIndex Tcl_GetIntForIndex
-# define TclCreateNamespace Tcl_CreateNamespace
-# define TclDeleteNamespace Tcl_DeleteNamespace
-# define TclAppendExportList Tcl_AppendExportList
-# define TclExport Tcl_Export
-# define TclImport Tcl_Import
-# define TclForgetImport Tcl_ForgetImport
-# define TclGetCurrentNamespace_ Tcl_GetCurrentNamespace
-# define TclGetGlobalNamespace_ Tcl_GetGlobalNamespace
-# define TclFindNamespace Tcl_FindNamespace
-# define TclFindCommand Tcl_FindCommand
-# define TclGetCommandFromObj Tcl_GetCommandFromObj
-# define TclGetCommandFullName Tcl_GetCommandFullName
+#else /* UNIX and MAC */
# define TclpLocaltime_unix TclpLocaltime
# define TclpGmtime_unix TclpGmtime
-# define Tcl_MakeSafe TclMakeSafe
-
-int TclpHasSockets(TCL_UNUSED(Tcl_Interp *)) {return TCL_OK;}
-
-static int
-seekOld(
- Tcl_Channel chan, /* The channel on which to seek. */
- int offset, /* Offset to seek to. */
- int mode) /* Relative to which location to seek? */
-{
- return Tcl_Seek(chan, offset, mode);
-}
-
-static int
-tellOld(
- Tcl_Channel chan) /* The channel to return pos for. */
-{
- return Tcl_Tell(chan);
-}
-#endif /* !TCL_NO_DEPRECATED */
-
-#if defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
-#define Tcl_WinUtfToTChar 0
-#define Tcl_WinTCharToUtf 0
#endif
/*
@@ -765,164 +295,152 @@ tellOld(
* below should be made in the generic/tcl.decls script.
*/
-MODULE_SCOPE const TclStubs tclStubs;
-MODULE_SCOPE const TclTomMathStubs tclTomMathStubs;
-
-#ifdef __GNUC__
-/*
- * The rest of this file shouldn't warn about deprecated functions; they're
- * there because we intend them to be so and know that this file is OK to
- * touch those fields.
- */
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#endif
-
/* !BEGIN!: Do not edit below this line. */
-static const TclIntStubs tclIntStubs = {
+TclIntStubs tclIntStubs = {
TCL_STUB_MAGIC,
- 0,
- 0, /* 0 */
- 0, /* 1 */
- 0, /* 2 */
+ NULL,
+ NULL, /* 0 */
+ NULL, /* 1 */
+ NULL, /* 2 */
TclAllocateFreeObjects, /* 3 */
- 0, /* 4 */
+ NULL, /* 4 */
TclCleanupChildren, /* 5 */
TclCleanupCommand, /* 6 */
TclCopyAndCollapse, /* 7 */
- TclCopyChannelOld, /* 8 */
+ TclCopyChannel, /* 8 */
TclCreatePipeline, /* 9 */
TclCreateProc, /* 10 */
TclDeleteCompiledLocalVars, /* 11 */
TclDeleteVars, /* 12 */
- 0, /* 13 */
+ NULL, /* 13 */
TclDumpMemoryInfo, /* 14 */
- 0, /* 15 */
+ NULL, /* 15 */
TclExprFloatError, /* 16 */
- 0, /* 17 */
- 0, /* 18 */
- 0, /* 19 */
- 0, /* 20 */
- 0, /* 21 */
+ NULL, /* 17 */
+ NULL, /* 18 */
+ NULL, /* 19 */
+ NULL, /* 20 */
+ NULL, /* 21 */
TclFindElement, /* 22 */
TclFindProc, /* 23 */
TclFormatInt, /* 24 */
TclFreePackageInfo, /* 25 */
- 0, /* 26 */
- 0, /* 27 */
+ NULL, /* 26 */
+ NULL, /* 27 */
TclpGetDefaultStdChannel, /* 28 */
- 0, /* 29 */
- 0, /* 30 */
+ NULL, /* 29 */
+ NULL, /* 30 */
TclGetExtension, /* 31 */
TclGetFrame, /* 32 */
- 0, /* 33 */
+ NULL, /* 33 */
TclGetIntForIndex, /* 34 */
- 0, /* 35 */
- 0, /* 36 */
+ NULL, /* 35 */
+ TclGetLong, /* 36 */
TclGetLoadedPackages, /* 37 */
TclGetNamespaceForQualName, /* 38 */
TclGetObjInterpProc, /* 39 */
TclGetOpenMode, /* 40 */
TclGetOriginalCommand, /* 41 */
TclpGetUserHome, /* 42 */
- 0, /* 43 */
+ NULL, /* 43 */
TclGuessPackageName, /* 44 */
TclHideUnsafeCommands, /* 45 */
TclInExit, /* 46 */
- 0, /* 47 */
- 0, /* 48 */
- 0, /* 49 */
+ NULL, /* 47 */
+ NULL, /* 48 */
+ NULL, /* 49 */
TclInitCompiledLocals, /* 50 */
TclInterpInit, /* 51 */
- 0, /* 52 */
+ NULL, /* 52 */
TclInvokeObjectCommand, /* 53 */
TclInvokeStringCommand, /* 54 */
TclIsProc, /* 55 */
- 0, /* 56 */
- 0, /* 57 */
+ NULL, /* 56 */
+ NULL, /* 57 */
TclLookupVar, /* 58 */
- 0, /* 59 */
+ NULL, /* 59 */
TclNeedSpace, /* 60 */
TclNewProcBodyObj, /* 61 */
TclObjCommandComplete, /* 62 */
TclObjInterpProc, /* 63 */
TclObjInvoke, /* 64 */
- 0, /* 65 */
- 0, /* 66 */
- 0, /* 67 */
- 0, /* 68 */
+ NULL, /* 65 */
+ NULL, /* 66 */
+ NULL, /* 67 */
+ NULL, /* 68 */
TclpAlloc, /* 69 */
- 0, /* 70 */
- 0, /* 71 */
- 0, /* 72 */
- 0, /* 73 */
+ NULL, /* 70 */
+ NULL, /* 71 */
+ NULL, /* 72 */
+ NULL, /* 73 */
TclpFree, /* 74 */
TclpGetClicks, /* 75 */
TclpGetSeconds, /* 76 */
TclpGetTime, /* 77 */
- 0, /* 78 */
- 0, /* 79 */
- 0, /* 80 */
+ TclpGetTimeZone, /* 78 */
+ NULL, /* 79 */
+ NULL, /* 80 */
TclpRealloc, /* 81 */
- 0, /* 82 */
- 0, /* 83 */
- 0, /* 84 */
- 0, /* 85 */
- 0, /* 86 */
- 0, /* 87 */
+ NULL, /* 82 */
+ NULL, /* 83 */
+ NULL, /* 84 */
+ NULL, /* 85 */
+ NULL, /* 86 */
+ NULL, /* 87 */
TclPrecTraceProc, /* 88 */
TclPreventAliasLoop, /* 89 */
- 0, /* 90 */
+ NULL, /* 90 */
TclProcCleanupProc, /* 91 */
TclProcCompileProc, /* 92 */
TclProcDeleteProc, /* 93 */
- 0, /* 94 */
- 0, /* 95 */
+ NULL, /* 94 */
+ NULL, /* 95 */
TclRenameCommand, /* 96 */
TclResetShadowedCmdRefs, /* 97 */
TclServiceIdle, /* 98 */
- 0, /* 99 */
- 0, /* 100 */
+ NULL, /* 99 */
+ NULL, /* 100 */
TclSetPreInitScript, /* 101 */
TclSetupEnv, /* 102 */
TclSockGetPort, /* 103 */
TclSockMinimumBuffersOld, /* 104 */
- 0, /* 105 */
- 0, /* 106 */
- 0, /* 107 */
+ NULL, /* 105 */
+ NULL, /* 106 */
+ NULL, /* 107 */
TclTeardownNamespace, /* 108 */
TclUpdateReturnInfo, /* 109 */
TclSockMinimumBuffers, /* 110 */
Tcl_AddInterpResolvers, /* 111 */
- TclAppendExportList, /* 112 */
- TclCreateNamespace, /* 113 */
- TclDeleteNamespace, /* 114 */
- TclExport, /* 115 */
- TclFindCommand, /* 116 */
- TclFindNamespace, /* 117 */
+ 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 */
- TclForgetImport, /* 121 */
- TclGetCommandFromObj, /* 122 */
- TclGetCommandFullName, /* 123 */
- TclGetCurrentNamespace_, /* 124 */
- TclGetGlobalNamespace_, /* 125 */
+ Tcl_ForgetImport, /* 121 */
+ Tcl_GetCommandFromObj, /* 122 */
+ Tcl_GetCommandFullName, /* 123 */
+ Tcl_GetCurrentNamespace, /* 124 */
+ Tcl_GetGlobalNamespace, /* 125 */
Tcl_GetVariableFullName, /* 126 */
- TclImport, /* 127 */
+ Tcl_Import, /* 127 */
Tcl_PopCallFrame, /* 128 */
Tcl_PushCallFrame, /* 129 */
Tcl_RemoveInterpResolvers, /* 130 */
Tcl_SetNamespaceResolvers, /* 131 */
TclpHasSockets, /* 132 */
TclpGetDate, /* 133 */
- 0, /* 134 */
- 0, /* 135 */
- 0, /* 136 */
- 0, /* 137 */
+ NULL, /* 134 */
+ NULL, /* 135 */
+ NULL, /* 136 */
+ NULL, /* 137 */
TclGetEnv, /* 138 */
- 0, /* 139 */
- 0, /* 140 */
+ NULL, /* 139 */
+ NULL, /* 140 */
TclpGetCwd, /* 141 */
TclSetByteCodeFromAny, /* 142 */
TclAddLiteralObj, /* 143 */
@@ -936,13 +454,13 @@ static const TclIntStubs tclIntStubs = {
TclRegExpRangeUniChar, /* 151 */
TclSetLibraryPath, /* 152 */
TclGetLibraryPath, /* 153 */
- 0, /* 154 */
- 0, /* 155 */
+ NULL, /* 154 */
+ NULL, /* 155 */
TclRegError, /* 156 */
TclVarTraceExists, /* 157 */
TclSetStartupScriptFileName, /* 158 */
TclGetStartupScriptFileName, /* 159 */
- 0, /* 160 */
+ NULL, /* 160 */
TclChannelTransform, /* 161 */
TclChannelEventScriptInvoker, /* 162 */
TclGetInstructionTable, /* 163 */
@@ -956,32 +474,32 @@ static const TclIntStubs tclIntStubs = {
TclCheckExecutionTraces, /* 171 */
TclInThreadExit, /* 172 */
TclUniCharMatch, /* 173 */
- 0, /* 174 */
+ NULL, /* 174 */
TclCallVarTraces, /* 175 */
TclCleanupVar, /* 176 */
TclVarErrMsg, /* 177 */
- TclSetStartupScript, /* 178 */
- TclGetStartupScript, /* 179 */
- 0, /* 180 */
- 0, /* 181 */
+ Tcl_SetStartupScript, /* 178 */
+ Tcl_GetStartupScript, /* 179 */
+ NULL, /* 180 */
+ NULL, /* 181 */
TclpLocaltime, /* 182 */
TclpGmtime, /* 183 */
- 0, /* 184 */
- 0, /* 185 */
- 0, /* 186 */
- 0, /* 187 */
- 0, /* 188 */
- 0, /* 189 */
- 0, /* 190 */
- 0, /* 191 */
- 0, /* 192 */
- 0, /* 193 */
- 0, /* 194 */
- 0, /* 195 */
- 0, /* 196 */
- 0, /* 197 */
+ NULL, /* 184 */
+ NULL, /* 185 */
+ NULL, /* 186 */
+ NULL, /* 187 */
+ NULL, /* 188 */
+ NULL, /* 189 */
+ NULL, /* 190 */
+ NULL, /* 191 */
+ NULL, /* 192 */
+ NULL, /* 193 */
+ NULL, /* 194 */
+ NULL, /* 195 */
+ NULL, /* 196 */
+ NULL, /* 197 */
TclObjGetFrame, /* 198 */
- 0, /* 199 */
+ NULL, /* 199 */
TclpObjRemoveDirectory, /* 200 */
TclpObjCopyDirectory, /* 201 */
TclpObjCreateDirectory, /* 202 */
@@ -991,9 +509,9 @@ static const TclIntStubs tclIntStubs = {
TclpObjStat, /* 206 */
TclpObjAccess, /* 207 */
TclpOpenFileChannel, /* 208 */
- 0, /* 209 */
- 0, /* 210 */
- 0, /* 211 */
+ NULL, /* 209 */
+ NULL, /* 210 */
+ NULL, /* 211 */
TclpFindExecutable, /* 212 */
TclGetObjNameOfExecutable, /* 213 */
TclSetObjNameOfExecutable, /* 214 */
@@ -1001,16 +519,16 @@ static const TclIntStubs tclIntStubs = {
TclStackFree, /* 216 */
TclPushStackFrame, /* 217 */
TclPopStackFrame, /* 218 */
- TclpCreateTemporaryDirectory, /* 219 */
- 0, /* 220 */
- TclListTestObj, /* 221 */
- TclListObjValidate, /* 222 */
- TclGetCStackPtr, /* 223 */
+ NULL, /* 219 */
+ NULL, /* 220 */
+ NULL, /* 221 */
+ NULL, /* 222 */
+ NULL, /* 223 */
TclGetPlatform, /* 224 */
TclTraceDictPath, /* 225 */
TclObjBeingDeleted, /* 226 */
TclSetNsPath, /* 227 */
- 0, /* 228 */
+ TclObjInterpProcCore, /* 228 */
TclPtrMakeUpvar, /* 229 */
TclObjLookupVar, /* 230 */
TclGetNamespaceFromObj, /* 231 */
@@ -1019,43 +537,31 @@ static const TclIntStubs tclIntStubs = {
TclVarHashCreateVar, /* 234 */
TclInitVarHashTable, /* 235 */
TclBackgroundException, /* 236 */
- TclResetCancellation, /* 237 */
- TclNRInterpProc, /* 238 */
- TclNRInterpProcCore, /* 239 */
- TclNRRunCallbacks, /* 240 */
- TclNREvalObjEx, /* 241 */
- TclNREvalObjv, /* 242 */
+ NULL, /* 237 */
+ NULL, /* 238 */
+ NULL, /* 239 */
+ NULL, /* 240 */
+ NULL, /* 241 */
+ NULL, /* 242 */
TclDbDumpActiveObjects, /* 243 */
- TclGetNamespaceChildTable, /* 244 */
- TclGetNamespaceCommandTable, /* 245 */
- TclInitRewriteEnsemble, /* 246 */
- TclResetRewriteEnsemble, /* 247 */
- TclCopyChannel, /* 248 */
+ NULL, /* 244 */
+ NULL, /* 245 */
+ NULL, /* 246 */
+ NULL, /* 247 */
+ NULL, /* 248 */
TclDoubleDigits, /* 249 */
- TclSetChildCancelFlags, /* 250 */
- TclRegisterLiteral, /* 251 */
- TclPtrGetVar, /* 252 */
- TclPtrSetVar, /* 253 */
- TclPtrIncrObjVar, /* 254 */
- TclPtrObjMakeUpvar, /* 255 */
- TclPtrUnsetVar, /* 256 */
- TclStaticLibrary, /* 257 */
- 0, /* 258 */
- 0, /* 259 */
- 0, /* 260 */
- TclUnusedStubEntry, /* 261 */
};
-static const TclIntPlatStubs tclIntPlatStubs = {
+TclIntPlatStubs tclIntPlatStubs = {
TCL_STUB_MAGIC,
- 0,
-#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
+ NULL,
+#if !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
TclGetAndDetachPids, /* 0 */
TclpCloseFile, /* 1 */
TclpCreateCommandChannel, /* 2 */
TclpCreatePipe, /* 3 */
TclpCreateProcess, /* 4 */
- TclUnixWaitForFile_, /* 5 */
+ NULL, /* 5 */
TclpMakeFile, /* 6 */
TclpOpenFile, /* 7 */
TclUnixWaitForFile, /* 8 */
@@ -1065,24 +571,23 @@ static const TclIntPlatStubs tclIntPlatStubs = {
TclpGmtime_unix, /* 12 */
TclpInetNtoa, /* 13 */
TclUnixCopyFile, /* 14 */
- TclMacOSXGetFileAttribute, /* 15 */
- TclMacOSXSetFileAttribute, /* 16 */
- TclMacOSXCopyFileAttributes, /* 17 */
- TclMacOSXMatchType, /* 18 */
- TclMacOSXNotifierAddRunLoopMode, /* 19 */
- 0, /* 20 */
- 0, /* 21 */
- TclpCreateTempFile_, /* 22 */
- 0, /* 23 */
- 0, /* 24 */
- 0, /* 25 */
- 0, /* 26 */
- 0, /* 27 */
- 0, /* 28 */
+ NULL, /* 15 */
+ NULL, /* 16 */
+ NULL, /* 17 */
+ NULL, /* 18 */
+ NULL, /* 19 */
+ NULL, /* 20 */
+ NULL, /* 21 */
+ NULL, /* 22 */
+ NULL, /* 23 */
+ NULL, /* 24 */
+ NULL, /* 25 */
+ NULL, /* 26 */
+ NULL, /* 27 */
+ NULL, /* 28 */
TclWinCPUID, /* 29 */
- TclUnixOpenTemporaryFile, /* 30 */
#endif /* UNIX */
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
TclWinConvertError, /* 0 */
TclWinConvertWSAError, /* 1 */
TclWinGetServByName, /* 2 */
@@ -1106,14 +611,13 @@ static const TclIntPlatStubs tclIntPlatStubs = {
TclWinAddProcess, /* 20 */
TclpInetNtoa, /* 21 */
TclpCreateTempFile, /* 22 */
- 0, /* 23 */
+ TclpGetTZName, /* 23 */
TclWinNoBackslash, /* 24 */
- 0, /* 25 */
+ NULL, /* 25 */
TclWinSetInterfaces, /* 26 */
TclWinFlushDirtyChannels, /* 27 */
TclWinResetInterfaces, /* 28 */
TclWinCPUID, /* 29 */
- TclUnixOpenTemporaryFile, /* 30 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
TclGetAndDetachPids, /* 0 */
@@ -1121,7 +625,7 @@ static const TclIntPlatStubs tclIntPlatStubs = {
TclpCreateCommandChannel, /* 2 */
TclpCreatePipe, /* 3 */
TclpCreateProcess, /* 4 */
- TclUnixWaitForFile_, /* 5 */
+ NULL, /* 5 */
TclpMakeFile, /* 6 */
TclpOpenFile, /* 7 */
TclUnixWaitForFile, /* 8 */
@@ -1136,39 +640,35 @@ static const TclIntPlatStubs tclIntPlatStubs = {
TclMacOSXCopyFileAttributes, /* 17 */
TclMacOSXMatchType, /* 18 */
TclMacOSXNotifierAddRunLoopMode, /* 19 */
- 0, /* 20 */
- 0, /* 21 */
- TclpCreateTempFile_, /* 22 */
- 0, /* 23 */
- 0, /* 24 */
- 0, /* 25 */
- 0, /* 26 */
- 0, /* 27 */
- 0, /* 28 */
+ NULL, /* 20 */
+ NULL, /* 21 */
+ NULL, /* 22 */
+ NULL, /* 23 */
+ NULL, /* 24 */
+ NULL, /* 25 */
+ NULL, /* 26 */
+ NULL, /* 27 */
+ NULL, /* 28 */
TclWinCPUID, /* 29 */
- TclUnixOpenTemporaryFile, /* 30 */
#endif /* MACOSX */
};
-static const TclPlatStubs tclPlatStubs = {
+TclPlatStubs tclPlatStubs = {
TCL_STUB_MAGIC,
- 0,
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
+ NULL,
+#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
Tcl_WinUtfToTChar, /* 0 */
Tcl_WinTCharToUtf, /* 1 */
- 0, /* 2 */
- Tcl_WinConvertError, /* 3 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
Tcl_MacOSXOpenBundleResources, /* 0 */
Tcl_MacOSXOpenVersionedBundleResources, /* 1 */
- Tcl_MacOSXNotifierAddRunLoopMode, /* 2 */
#endif /* MACOSX */
};
-const TclTomMathStubs tclTomMathStubs = {
+TclTomMathStubs tclTomMathStubs = {
TCL_STUB_MAGIC,
- 0,
+ NULL,
TclBN_epoch, /* 0 */
TclBN_revision, /* 1 */
TclBN_mp_add, /* 2 */
@@ -1188,7 +688,7 @@ const TclTomMathStubs tclTomMathStubs = {
TclBN_mp_div_2d, /* 16 */
TclBN_mp_div_3, /* 17 */
TclBN_mp_exch, /* 18 */
- TclBN_mp_expt_u32, /* 19 */
+ TclBN_mp_expt_d, /* 19 */
TclBN_mp_grow, /* 20 */
TclBN_mp_init, /* 21 */
TclBN_mp_init_copy, /* 22 */
@@ -1216,12 +716,12 @@ const TclTomMathStubs tclTomMathStubs = {
TclBN_mp_to_unsigned_bin, /* 44 */
TclBN_mp_to_unsigned_bin_n, /* 45 */
TclBN_mp_toradix_n, /* 46 */
- TclBN_mp_ubin_size, /* 47 */
+ TclBN_mp_unsigned_bin_size, /* 47 */
TclBN_mp_xor, /* 48 */
TclBN_mp_zero, /* 49 */
TclBN_reverse, /* 50 */
- TclBN_s_mp_mul_digs_fast, /* 51 */
- TclBN_s_mp_sqr_fast, /* 52 */
+ TclBN_fast_s_mp_mul_digs, /* 51 */
+ TclBN_fast_s_mp_sqr, /* 52 */
TclBN_mp_karatsuba_mul, /* 53 */
TclBN_mp_karatsuba_sqr, /* 54 */
TclBN_mp_toom_mul, /* 55 */
@@ -1230,35 +730,18 @@ const TclTomMathStubs tclTomMathStubs = {
TclBN_s_mp_mul_digs, /* 58 */
TclBN_s_mp_sqr, /* 59 */
TclBN_s_mp_sub, /* 60 */
- TclBN_mp_init_ul, /* 61 */
- TclBN_mp_set_ul, /* 62 */
+ TclBN_mp_init_set_int, /* 61 */
+ TclBN_mp_set_int, /* 62 */
TclBN_mp_cnt_lsb, /* 63 */
- TclBN_mp_init_l, /* 64 */
- TclBN_mp_init_i64, /* 65 */
- TclBN_mp_init_u64, /* 66 */
- TclBN_mp_expt_d_ex, /* 67 */
- TclBN_mp_set_u64, /* 68 */
- TclBN_mp_get_mag_u64, /* 69 */
- TclBN_mp_set_i64, /* 70 */
- TclBN_mp_unpack, /* 71 */
- TclBN_mp_pack, /* 72 */
- TclBN_mp_tc_and, /* 73 */
- TclBN_mp_tc_or, /* 74 */
- TclBN_mp_tc_xor, /* 75 */
- TclBN_mp_signed_rsh, /* 76 */
- TclBN_mp_pack_count, /* 77 */
- TclBN_mp_to_ubin, /* 78 */
- TclBN_mp_div_ld, /* 79 */
- TclBN_mp_to_radix, /* 80 */
};
-static const TclStubHooks tclStubHooks = {
+static TclStubHooks tclStubHooks = {
&tclPlatStubs,
&tclIntStubs,
&tclIntPlatStubs
};
-const TclStubs tclStubs = {
+TclStubs tclStubs = {
TCL_STUB_MAGIC,
&tclStubHooks,
Tcl_PkgProvideEx, /* 0 */
@@ -1270,20 +753,20 @@ const TclStubs tclStubs = {
Tcl_DbCkalloc, /* 6 */
Tcl_DbCkfree, /* 7 */
Tcl_DbCkrealloc, /* 8 */
-#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) && !defined(MAC_OSX_TCL) /* UNIX */
Tcl_CreateFileHandler, /* 9 */
#endif /* UNIX */
-#if defined(_WIN32) /* WIN */
- 0, /* 9 */
+#if defined(__WIN32__) /* WIN */
+ NULL, /* 9 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
Tcl_CreateFileHandler, /* 9 */
#endif /* MACOSX */
-#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) && !defined(MAC_OSX_TCL) /* UNIX */
Tcl_DeleteFileHandler, /* 10 */
#endif /* UNIX */
-#if defined(_WIN32) /* WIN */
- 0, /* 10 */
+#if defined(__WIN32__) /* WIN */
+ NULL, /* 10 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
Tcl_DeleteFileHandler, /* 10 */
@@ -1374,7 +857,7 @@ const TclStubs tclStubs = {
Tcl_CreateInterp, /* 94 */
Tcl_CreateMathFunc, /* 95 */
Tcl_CreateObjCommand, /* 96 */
- Tcl_CreateChild, /* 97 */
+ Tcl_CreateSlave, /* 97 */
Tcl_CreateTimerHandler, /* 98 */
Tcl_CreateTrace, /* 99 */
Tcl_DeleteAssocData, /* 100 */
@@ -1441,14 +924,14 @@ const TclStubs tclStubs = {
Tcl_GetErrno, /* 161 */
Tcl_GetHostName, /* 162 */
Tcl_GetInterpPath, /* 163 */
- Tcl_GetParent, /* 164 */
+ Tcl_GetMaster, /* 164 */
Tcl_GetNameOfExecutable, /* 165 */
Tcl_GetObjResult, /* 166 */
-#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) && !defined(MAC_OSX_TCL) /* UNIX */
Tcl_GetOpenFile, /* 167 */
#endif /* UNIX */
-#if defined(_WIN32) /* WIN */
- 0, /* 167 */
+#if defined(__WIN32__) /* WIN */
+ NULL, /* 167 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
Tcl_GetOpenFile, /* 167 */
@@ -1457,7 +940,7 @@ const TclStubs tclStubs = {
Tcl_Gets, /* 169 */
Tcl_GetsObj, /* 170 */
Tcl_GetServiceMode, /* 171 */
- Tcl_GetChild, /* 172 */
+ Tcl_GetSlave, /* 172 */
Tcl_GetStdChannel, /* 173 */
Tcl_GetStringResult, /* 174 */
Tcl_GetVar, /* 175 */
@@ -1473,7 +956,7 @@ const TclStubs tclStubs = {
Tcl_IsSafe, /* 185 */
Tcl_JoinPath, /* 186 */
Tcl_LinkVar, /* 187 */
- 0, /* 188 */
+ NULL, /* 188 */
Tcl_MakeFileChannel, /* 189 */
Tcl_MakeSafe, /* 190 */
Tcl_MakeTcpClientChannel, /* 191 */
@@ -1529,7 +1012,7 @@ const TclStubs tclStubs = {
Tcl_SourceRCFile, /* 241 */
Tcl_SplitList, /* 242 */
Tcl_SplitPath, /* 243 */
- Tcl_StaticLibrary, /* 244 */
+ Tcl_StaticPackage, /* 244 */
Tcl_StringMatch, /* 245 */
Tcl_TellOld, /* 246 */
Tcl_TraceVar, /* 247 */
@@ -1570,7 +1053,7 @@ const TclStubs tclStubs = {
Tcl_UnstackChannel, /* 282 */
Tcl_GetStackedChannel, /* 283 */
Tcl_SetMainLoop, /* 284 */
- 0, /* 285 */
+ NULL, /* 285 */
Tcl_AppendObjToObj, /* 286 */
Tcl_CreateEncoding, /* 287 */
Tcl_CreateThreadExitHandler, /* 288 */
@@ -1611,17 +1094,17 @@ const TclStubs tclStubs = {
Tcl_UniCharToUpper, /* 323 */
Tcl_UniCharToUtf, /* 324 */
Tcl_UtfAtIndex, /* 325 */
- TclUtfCharComplete, /* 326 */
+ Tcl_UtfCharComplete, /* 326 */
Tcl_UtfBackslash, /* 327 */
Tcl_UtfFindFirst, /* 328 */
Tcl_UtfFindLast, /* 329 */
- TclUtfNext, /* 330 */
- TclUtfPrev, /* 331 */
+ Tcl_UtfNext, /* 330 */
+ Tcl_UtfPrev, /* 331 */
Tcl_UtfToExternal, /* 332 */
Tcl_UtfToExternalDString, /* 333 */
Tcl_UtfToLower, /* 334 */
Tcl_UtfToTitle, /* 335 */
- Tcl_UtfToChar16, /* 336 */
+ Tcl_UtfToUniChar, /* 336 */
Tcl_UtfToUpper, /* 337 */
Tcl_WriteChars, /* 338 */
Tcl_WriteObj, /* 339 */
@@ -1637,10 +1120,10 @@ const TclStubs tclStubs = {
Tcl_UniCharIsSpace, /* 349 */
Tcl_UniCharIsUpper, /* 350 */
Tcl_UniCharIsWordChar, /* 351 */
- Tcl_Char16Len, /* 352 */
+ Tcl_UniCharLen, /* 352 */
Tcl_UniCharNcmp, /* 353 */
- Tcl_Char16ToUtfDString, /* 354 */
- Tcl_UtfToChar16DString, /* 355 */
+ Tcl_UniCharToUtfDString, /* 354 */
+ Tcl_UtfToUniCharDString, /* 355 */
Tcl_GetRegExpFromObj, /* 356 */
Tcl_EvalTokens, /* 357 */
Tcl_FreeParse, /* 358 */
@@ -1865,115 +1348,57 @@ const TclStubs tclStubs = {
Tcl_AppendFormatToObj, /* 577 */
Tcl_ObjPrintf, /* 578 */
Tcl_AppendPrintfToObj, /* 579 */
- Tcl_CancelEval, /* 580 */
- Tcl_Canceled, /* 581 */
- Tcl_CreatePipe, /* 582 */
- Tcl_NRCreateCommand, /* 583 */
- Tcl_NREvalObj, /* 584 */
- Tcl_NREvalObjv, /* 585 */
- Tcl_NRCmdSwap, /* 586 */
- Tcl_NRAddCallback, /* 587 */
- Tcl_NRCallObjProc, /* 588 */
- Tcl_GetFSDeviceFromStat, /* 589 */
- Tcl_GetFSInodeFromStat, /* 590 */
- Tcl_GetModeFromStat, /* 591 */
- Tcl_GetLinkCountFromStat, /* 592 */
- Tcl_GetUserIdFromStat, /* 593 */
- Tcl_GetGroupIdFromStat, /* 594 */
- Tcl_GetDeviceTypeFromStat, /* 595 */
- Tcl_GetAccessTimeFromStat, /* 596 */
- Tcl_GetModificationTimeFromStat, /* 597 */
- Tcl_GetChangeTimeFromStat, /* 598 */
- Tcl_GetSizeFromStat, /* 599 */
- Tcl_GetBlocksFromStat, /* 600 */
- Tcl_GetBlockSizeFromStat, /* 601 */
- Tcl_SetEnsembleParameterList, /* 602 */
- Tcl_GetEnsembleParameterList, /* 603 */
- Tcl_ParseArgsObjv, /* 604 */
- Tcl_GetErrorLine, /* 605 */
- Tcl_SetErrorLine, /* 606 */
- Tcl_TransferResult, /* 607 */
- Tcl_InterpActive, /* 608 */
- Tcl_BackgroundException, /* 609 */
- Tcl_ZlibDeflate, /* 610 */
- Tcl_ZlibInflate, /* 611 */
- Tcl_ZlibCRC32, /* 612 */
- Tcl_ZlibAdler32, /* 613 */
- Tcl_ZlibStreamInit, /* 614 */
- Tcl_ZlibStreamGetCommandName, /* 615 */
- Tcl_ZlibStreamEof, /* 616 */
- Tcl_ZlibStreamChecksum, /* 617 */
- Tcl_ZlibStreamPut, /* 618 */
- Tcl_ZlibStreamGet, /* 619 */
- Tcl_ZlibStreamClose, /* 620 */
- Tcl_ZlibStreamReset, /* 621 */
- Tcl_SetStartupScript, /* 622 */
- Tcl_GetStartupScript, /* 623 */
- Tcl_CloseEx, /* 624 */
- Tcl_NRExprObj, /* 625 */
- Tcl_NRSubstObj, /* 626 */
- Tcl_LoadFile, /* 627 */
- Tcl_FindSymbol, /* 628 */
- Tcl_FSUnloadFile, /* 629 */
- Tcl_ZlibStreamSetCompressionDictionary, /* 630 */
- Tcl_OpenTcpServerEx, /* 631 */
- TclZipfs_Mount, /* 632 */
- TclZipfs_Unmount, /* 633 */
- TclZipfs_TclLibrary, /* 634 */
- TclZipfs_MountBuffer, /* 635 */
- Tcl_FreeInternalRep, /* 636 */
- Tcl_InitStringRep, /* 637 */
- Tcl_FetchInternalRep, /* 638 */
- Tcl_StoreInternalRep, /* 639 */
- Tcl_HasStringRep, /* 640 */
- Tcl_IncrRefCount, /* 641 */
- Tcl_DecrRefCount, /* 642 */
- Tcl_IsShared, /* 643 */
- Tcl_LinkArray, /* 644 */
- Tcl_GetIntForIndex, /* 645 */
- Tcl_UtfToUniChar, /* 646 */
- Tcl_UniCharToUtfDString, /* 647 */
- Tcl_UtfToUniCharDString, /* 648 */
- Tcl_GetBytesFromObj, /* 649 */
- 0, /* 650 */
- 0, /* 651 */
- 0, /* 652 */
- 0, /* 653 */
- Tcl_UtfCharComplete, /* 654 */
- Tcl_UtfNext, /* 655 */
- Tcl_UtfPrev, /* 656 */
- 0, /* 657 */
- Tcl_ExternalToUtfDStringEx, /* 658 */
- Tcl_UtfToExternalDStringEx, /* 659 */
- Tcl_AsyncMarkFromSignal, /* 660 */
- 0, /* 661 */
- 0, /* 662 */
- 0, /* 663 */
- 0, /* 664 */
- 0, /* 665 */
- 0, /* 666 */
- 0, /* 667 */
- Tcl_UniCharLen, /* 668 */
- TclNumUtfChars, /* 669 */
- TclGetCharLength, /* 670 */
- TclUtfAtIndex, /* 671 */
- TclGetRange, /* 672 */
- TclGetUniChar, /* 673 */
- Tcl_GetBool, /* 674 */
- Tcl_GetBoolFromObj, /* 675 */
- 0, /* 676 */
- 0, /* 677 */
- 0, /* 678 */
- 0, /* 679 */
- Tcl_GetNumberFromObj, /* 680 */
- Tcl_GetNumber, /* 681 */
- Tcl_RemoveChannelMode, /* 682 */
- Tcl_GetEncodingNulLength, /* 683 */
- Tcl_GetWideUIntFromObj, /* 684 */
- Tcl_DStringToObj, /* 685 */
- TclUtfNcmp, /* 686 */
- TclUtfNcasecmp, /* 687 */
- TclUnusedStubEntry, /* 688 */
+ NULL, /* 580 */
+ NULL, /* 581 */
+ NULL, /* 582 */
+ NULL, /* 583 */
+ NULL, /* 584 */
+ NULL, /* 585 */
+ NULL, /* 586 */
+ NULL, /* 587 */
+ NULL, /* 588 */
+ NULL, /* 589 */
+ NULL, /* 590 */
+ NULL, /* 591 */
+ NULL, /* 592 */
+ NULL, /* 593 */
+ NULL, /* 594 */
+ NULL, /* 595 */
+ NULL, /* 596 */
+ NULL, /* 597 */
+ NULL, /* 598 */
+ NULL, /* 599 */
+ NULL, /* 600 */
+ NULL, /* 601 */
+ NULL, /* 602 */
+ NULL, /* 603 */
+ NULL, /* 604 */
+ NULL, /* 605 */
+ NULL, /* 606 */
+ NULL, /* 607 */
+ NULL, /* 608 */
+ NULL, /* 609 */
+ NULL, /* 610 */
+ NULL, /* 611 */
+ NULL, /* 612 */
+ NULL, /* 613 */
+ NULL, /* 614 */
+ NULL, /* 615 */
+ NULL, /* 616 */
+ NULL, /* 617 */
+ NULL, /* 618 */
+ NULL, /* 619 */
+ NULL, /* 620 */
+ NULL, /* 621 */
+ NULL, /* 622 */
+ NULL, /* 623 */
+ NULL, /* 624 */
+ NULL, /* 625 */
+ NULL, /* 626 */
+ NULL, /* 627 */
+ NULL, /* 628 */
+ NULL, /* 629 */
+ TclUnusedStubEntry, /* 630 */
};
/* !END!: Do not edit above this line. */