summaryrefslogtreecommitdiffstats
path: root/generic/tclStubLib.c
Commit message (Collapse)AuthorAgeFilesLines
* Modify internal TclStubInfoType type: use TclStubs * in stead of ↵jan.nijtmans2013-06-211-3/+24
| | | | | ClientData, so less type casts are needed in the code. Disadvantage: somewhat more code duplication, but it makes the code much more understandable.
* split off TclInitStubTable() as separate function - which does the actual ↵jan.nijtmans2013-06-161-24/+3
| | | | stub table initialization - previously part of Tcl_InitStubs().
* Change back to using an isDigit function. We simply don't need to make any dkf2012-12-231-4/+7
| | | | | | | | | (formally non-portable) assumptions about what happens when an unsigned zero is decremented, and the code isn't in a performance-critical area. Remark by jan.nijtmans: The macro is perfectly portable! Not portable is the exact result of the substraction ('\xB0' - '0' might give 0x80 on some platforms and 0xffffff80 on others), but comparing <= 9 always gives the correct result. We are only checking for digits here! The macro correctly inlines with any compiler, so it's better anyway. Remark by dkf: But it's less clear. In this code, that's more important than a teeny bit of speed from inlining in a non-critical location.
* Inline compat Tcl_GetDefaultEncodingDir. jan.nijtmans2012-12-211-24/+9
|\ | | | | Eliminate unnecessary static HasStubSupport() and isDigit() functions, just do the same inline.
| * Make pkgb.so loadable in Tcl 8.4 as well. jan.nijtmans2012-12-211-24/+9
| |\ | | | | | | Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
| | * Turn pkgb.so into a Tcl9 interoperability test library: Whatever Tcl9 looks ↵jan.nijtmans2012-12-211-24/+9
| | | | | | | | | | | | | | | like, loading pkgb.so in Tcl 9 should either result in an error-message, either succeed, but never crash. Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
* | | Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
|\ \ \ | |/ / | | | so that we don't close off a potential avenue of future innovations.
| * | Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
| |\ \ | | |/ | | | so that we don't close off a potential avenue of future innovations.
| | * Restore the initialization of tclStubsPtr from the "Tcl" package clientDatadgp2012-12-101-2/+3
| | | | | | | | | so that we don't close off a potential avenue of future innovations.
* | | just lost one MODULE_SCOPE in the mergejan.nijtmans2012-12-071-1/+1
| | |
* | | only set tclStubsPtr if all version checks passjan.nijtmans2012-12-071-18/+9
|\ \ \ | |/ /
| * | only set tclStubsPtr when all version checks passjan.nijtmans2012-12-071-32/+18
| |\ \ | | |/
| | * only set tclStubsPtr if all version checks pass. Backported from tcl 8.5.jan.nijtmans2012-12-071-43/+62
| | |
* | | Tcl_InitStubs("8.5",1) would succeed in an "8.50" interp. Fixed.dgp2012-12-061-1/+1
|\ \ \ | |/ /
| * | Tcl_InitStubs("8.5",1) would succeed in an "8.50" interp. Fixed.dgp2012-12-061-1/+1
| | |
* | | 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-3/+1
|\ \ \ | |/ / | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
| * | 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-3/+1
| |\ \ | | |/ | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
| | * 3588687 When detecting incompatibility during stubs initialization, the errordgp2012-11-291-1/+1
| | | | | | | | | | | | message has always assumed a stubs-disabled 8.0 interp to be the cause. That's no longer a good assumption. More suitable error message committed.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | cause more harm than good. Purged them (except in zlib files).
| * | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ \ | | |/ | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * Don't set tclStubsPtr to 0 when Tcl_PkgRequireEx() failsjenglish2005-11-201-8/+4
| | | | | | | | | | | | [Fix for #1091431 "Tcl_InitStubs failure crashes wish"]
| * | * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.dgp2008-04-011-1/+3
| | |
* | | [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Remaining part.nijtmans2010-08-311-4/+4
| | | | | | | | | | | | Typo in rules.vc
* | | [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Partly.nijtmans2010-08-301-4/+4
| | |
* | | remove presence of tclTomMathStubsPtr in tclStubLib.cnijtmans2010-03-061-3/+1
| | | | | | | | | | | | test that tommath stubs are present in stub library
* | | Split tommath stub lib source filenijtmans2010-03-041-51/+6
| | | | | | | | | | | | | | | in separate file. Don't use -fvisibility=hidden for cygwin
* | | Follow-up to Fix [Bug 2954959] expr abs(0.0) is -0.0nijtmans2010-02-211-2/+2
| | | | | | | | | | | | | | | | | | Some more tests, showing that the LONG implementation was not quite correct too, and a fix for that. Some more internal "const" additions
* | | Letting CONST die a slow and graceful death, since NO_CONST wasnijtmans2008-10-221-2/+2
| | | | | | | | | | | | broken since 8.4 and no-one complained about it.
* | | * generic/tclCmdAH.c: Fix minor compiler warnings when compilingnijtmans2008-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c: with -Wwrite-strings * generic/tclIndexObj.c: * generic/tclProc.c: * generic/tclStubLib.c: * generic/tclUtil.c:
* | | TIP #330 IMPLEMENTATIONdgp2008-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.h: Remove the "result" and "freeProc" fields * generic/tclBasic.c: from the default public declaration of the * generic/tclResult.c: Tcl_Interp struct. Code should no longer * generic/tclStubLib.c: be accessing these fields. Access can be * generic/tclTest.c: restored by defining USE_INTERP_RESULT, but * generic/tclUtil.c: that should only be a temporary migration aid. *** POTENTIAL INCOMPATIBILITY ***
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-21/+21
| | |
* | | * generic/tclInt.h: make stubs tables 'static const' anddas2008-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclStubInit.c: export only module-scope pointers to * generic/tclStubLib.c: the main stubs tables (for package * tools/genStubs.tcl: initialization). [Patch 1938497] * generic/tclBasic.c (Tcl_CreateInterp): * generic/tclTomMathInterface.c (TclTommath_Init):
* | | * generic/tclStubLib.c: make symbols in libtclstub.a MODULE_SCOPE todas2008-04-021-11/+13
| | | | | | | | | | | | | | | | | | * tools/genStubs.tcl: avoid exporting them from libraries that link with -ltclstub; constify tcl*StubsPtr and stub table hook pointers. [Bug 1819422]
* | | * generic/tclStubLib.c: Removed needless #ifdef complexity.dgp2008-04-021-12/+1
| | |
* | | * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.dgp2008-04-011-1/+3
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | RE: [Patch 1830184] TclResetResultMiguel Sofer2007-11-121-2/+1
| | | | | | | | | | | | THIS PATCH WAS REVERTED: initial (mis)measurements overstated the perfomance wins, which turn out to be tiny. Not worth the complication.
* | * generic/tclBasic.c: New macro TclResetResult, new iPtr flagMiguel Sofer2007-11-121-1/+2
| | | | | | | | | | | | | | | | | | * generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for * generic/tclInt.h: Tcl_ResetResult for the "normal" case: * generic/tclProc.c: TCL_OK, no return options, no errorCode * generic/tclResult.c: nor errorInfo, return at normal level. * generic/tclStubLib.c: [Patch 1830184] * generic/tclUtil.c:
* | Replace isdigit call with an internal implementation to avoid libc linkage ↵patthoyts2007-09-191-2/+11
| | | | | | | | on windows
* | * generic/tclStubLib.c: Remove C library calls from Tcl_InitStubs()dgp2007-09-181-2/+8
| | | | | | | | | | * win/makefile.vc: so that we don't need the C library linked in to libtclStub.
* | * generic/tcl.h: Revised Tcl_InitStubs() to restore Tcl 8.4dgp2007-09-171-2/+20
| | | | | | | | | | | | * generic/tclPkg.c: source compatibility with callers of * generic/tclStubLib.c: Tcl_InitStubs(interp, TCL_VERSION, 1). [Bug 1578344].
* | Change Tcl_InitStubs(), tclStubsPtr, and the auxilliary stubs tablejenglish2007-05-161-11/+4
| | | | | | | | | | | | | | | | pointers back to public visibility. These symbols need to be exported so that stub-enabled extensions may be statically linked into an extended tclsh or Big Wish with a dynamically-linked libtcl. [Bug#1716117]
* | Fix typo in missing stub table pointerKevin B Kenny2005-12-311-2/+2
| |
* | Corrected bugs in tommath installation, improved tommath square root ↵Kevin B Kenny2005-12-271-5/+2
| | | | | | | | performance, patched around a [clock scan] issue with time zones
* | Export stubs for libtommath; fix mingw compiler warningsKevin B Kenny2005-12-131-1/+63
| |
* | * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes (dist): add new macosx files. * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixFCmd.c: * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: * macosx/Tcl.xcode/default.pbxuser (new file): * macosx/Tcl.xcode/project.pbxproj (new file): * macosx/Tcl.xcodeproj/default.pbxuser (new file): * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on 10.2, with native tcltest targets and support for universal (fat) compiles. * macosx/README: clarification/cleanup, document new Xcode projects and universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * unix/Makefile.in: * unix/aclocal.m4: * unix/configure.in: * unix/dltest/Makefile.in: * macosx/configure.ac (new file): add support for inclusion of unix/configure.in by macosx/configure.ac, allows generation of a config headers enabled configure script in macosx (required by Xcode projects). * macosx/GNUmakefile: rename from Makefile to avoid overwriting by configure run in tcl/macosx, add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tcl.decls: add Tcl_Main declaration as comment to avoid 'checkstubs' target complaining about it missing from stubs. * generic/regex.h: * generic/tclDate.c: * generic/tclEnv.c: * generic/tclGetDate.y: * generic/tclIOUtil.c: * generic/tclObj.c: * generic/tclStubInit.c: * generic/tclStubLib.c: * generic/tclPathObj.c: * generic/tclThreadAlloc.c: * generic/tclThreadStorage.c: * generic/tclTrace.c: * generic/tclVar.c: * generic/tommath.h: * tools/fix_tommath_h.tcl: * unix/tclUnixFCmd.c: ensure externally visible symbols not contained in stubs table are declared as MODULE_SCOPE (or as static if not used outside of own source file). These changes allow 'make checkstubs' to complete without error on Darwin with gcc 4. * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * generic/tclNamesp.c (NamespaceEnsembleCmd): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/tclExecute.c (TclExecuteByteCode): fix unused variable warning when NO_WIDE_TYPE is defined. * generic/regguts.h: only #define NDEBUG if not already #defined. * unix/tclUnixNotfy.c: * macosx/tclMacOSXNotify.c: sync whitespace & comments. * unix/tclUnixPort.h: * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex API. * unix/configure: * unix/tclConfig.h.in: regen.
* | Don't set tclStubsPtr to 0 when Tcl_PkgRequireEx() failsjenglish2005-11-201-24/+4
| | | | | | | | [Fix for #1091431 "Tcl_InitStubs failure crashes wish"]
* | ANSIfy; generic/*.c now all done except for test codedkf2005-11-021-27/+39
| |
* | Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: Reworked the Tcl header files into a clean * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h * win/tclWinInt.h: and every C source file should #include * win/tclWinPort.h: at most one of those files to satisfy its declaration needs. tclWinInt.h and tclWinPort.h also better organized so that tclWinPort.h includes the Windows implementation of cross-platform declarations, while tclWinInt.h makes declarations that are available on Windows only. * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h * generic/tclMath.h (removed): header file. The internal Tcl * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a * win/tcl.dsp: #include <math.h> directly, and file external to Tcl needing libm should do the same. * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days * win/makefile.vc (TCLOBJS): gone by. * win/tcl.dsp: * win/tclWinMtherr.c (removed):