summaryrefslogtreecommitdiffstats
path: root/generic/tclLink.c
Commit message (Collapse)AuthorAgeFilesLines
* merge core-8-6-branch.jan.nijtmans2017-11-301-1/+1
|\ | | | | Provide compatibility macro's, compensating for the internal stub table change, so Itcl 3.4 builds again. Thanks to Don Porter for bringing this to my attention!
| * Don't provide the setFromAnyProc through the invalidRealType objType. This ↵jan.nijtmans2017-11-301-1/+1
| | | | | | | | is a Tcl internal type, extensions shouldn't be able to convert their own Tcl_Obj to this. This shouldn't have been exposed to begin with. Tcl itself never calls it this way.
* | TIP #472 implementation: Add Support for 0d Radix Prefix to Integer Literalsjan.nijtmans2017-06-231-2/+2
|\ \
| * \ Rebase to core-8-6-branch (who told that fossil doesn't know how to rebase ....)jan.nijtmans2017-06-141-2/+2
| |\ \ | | |/ | |/|
| | * 0d in LinkVargriffin2017-05-281-2/+2
| |/ |/|
* | On Windows, Cygwin and 64-bit platforms, no need to handle 'long' in ↵jan.nijtmans2017-02-141-0/+16
| | | | | | | | | | tclLink.c, since its size is equal to either 'int' or 'Tcl_WideInt'. This enhances interoperabilty between win64 extensions loaded in cygwin64 using Tcl_LinkVar(), whill still being 100% compatible. init.tcl: unnecessary spacing.
* | Code cleanup (based on feedback from René Zaumseil): Only call ↵jan.nijtmans2017-02-071-102/+79
|\ \ | |/ | | | | GetInvalidIntFromObj() when Tcl_GetIntFromObj() fails.
| * Code cleanup (based on feedback from René Zaumseil): Only call ↵jan.nijtmans2017-02-071-118/+85
| | | | | | | | GetInvalidIntFromObj() when Tcl_GetIntFromObj() fails.
* | Update documentation on recent changes in Tcl_LinkVar.jan.nijtmans2017-01-311-14/+17
|\ \ | |/ | | Minor code clean-up. No functional changes.
| * Update documentation on recent changes in Tcl_LinkVar.jan.nijtmans2017-01-311-18/+20
| | | | | | | | Don't use TCL_NO_DEPRECATED for disabling tests-cases: Those were not deprecated in 8.6 yet. Minor code clean-up. No functional changes.
* | Some code cleanup: More internal use of size_t, less type casts (because of ↵jan.nijtmans2017-01-271-40/+26
| | | | | | | | this). No functional changes.
* | Fix [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e] follow-up: Make ↵jan.nijtmans2017-01-201-3/+4
|\ \ | |/ | | | | Tcl_LinkVar toleranto to the empty string as well
| * Fix [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e] follow-up: Make ↵jan.nijtmans2017-01-201-3/+4
| |\ | | | | | | | | | Tcl_LinkVar toleranto to the empty string as well
| | * Fix [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e] follow-up: Make ↵jan.nijtmans2017-01-201-3/+4
| | | | | | | | | | | | Tcl_LinkVar toleranto to the empty string as well
* | | merge core-8-6-branchjan.nijtmans2017-01-011-40/+172
|\ \ \ | |/ /
| * | Fix [39f6304c2e]: Tcl_LinkVar is not tolerant to minus, plus, dotjan.nijtmans2017-01-011-40/+172
| |\ \ | | |/
| | * Little tweak: Decimal dot's should be allowed as well as first part. ↵jan.nijtmans2016-12-231-1/+1
| | | | | | | | | | | | Test-case for that as well.
| | * Handle other invalid sequences, like "1234e" or "-567e+", that could be the ↵jan.nijtmans2016-12-231-5/+49
| | | | | | | | | | | | start of a valid real number.
| | * Fix some comments (which were not correct any more in this branch), and ↵jan.nijtmans2016-12-221-10/+9
| | | | | | | | | | | | don't allow booleans in integer context.
| | * Re-based to core-8-5-branch. jan.nijtmans2016-12-221-40/+129
| | |\ | | | | | | | | Proposed fix for [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e], which doesn't need modifications to Double/Integer valid string representations.
| | | * Merge trunk. Implement sequences like "0x", "0b" and "0o" as well. And also ↵jan.nijtmans2016-12-221-18/+62
| | | |\ | | | | | | | | | | | | | | | the "." for doubles and floats.
| | | * | Experimental (partial) fix for ↵jan.nijtmans2016-12-211-53/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e]: Tcl_LinkVar is not tolerant to minus, plus, dot. This handled minus and plus only, not other possible errors. Will need a TIP, because the boolean type is extended to consider '-', '+' and 'o' (necessary for being able to type 'on' or 'off') as valid booleans Dot, and integer prefixes (such as 0x) not handled yet, should be handled completely different.
* | | | | Eliminate the internal macro/function TclNewIntObj: In all cases ↵jan.nijtmans2016-12-231-1/+1
| |_|_|/ |/| | | | | | | | | | | TclNewLongObj is just as good.
* | | | Make sure that Tcl_GetIntFromObj/Tcl_GetWideIntFromObj/Tcl_GetDoubleFromObj ↵jan.nijtmans2016-12-211-16/+23
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | don't set an error in the interp during LinkTraceProc(): The error is supposed to be reported as return value of this function, not the interp.
| * | Make sure that Tcl_GetIntFromObj/Tcl_GetWideIntFromObj/Tcl_GetDoubleFromObj ↵jan.nijtmans2016-12-211-16/+23
| |\ \ | | |/ | | | | | | don't set an error in the interp during LinkTraceProc(): The error is supposed to be reported as return value of this function, not the interp.
| | * Make sure that Tcl_GetIntFromObj/Tcl_GetWideIntFromObj/Tcl_GetDoubleFromObj ↵jan.nijtmans2016-12-211-16/+23
| | | | | | | | | | | | don't set an error in the interp during LinkTraceProc(): The error is supposed to be reported as return value of this function, not the interp.
* | | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-1/+1
|/ / | | | | | | in many places where possible.
* | Some VOID -> void, Tcl_TraceVar -> Tcl_TraceVar2 and Tcl_VarTraceInfo -> ↵jan.nijtmans2013-02-271-10/+11
| | | | | | | | Tcl_VarTraceInfo2 conversions.
* | 3317466 Prevent multiple Tcl_LinkVar() links to a single Tcl variable.dgp2011-06-211-0/+8
|\ \ | |/
| * 3317466 Prevent multiple Tcl_LinkVar() links to a single Tcl variable.dgp2011-06-211-0/+8
| |
* | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-5/+5
| | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | 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.
| | * * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var beinghobbs2007-09-101-2/+9
| | | | | | | | | | | | unlinked. [Bug 1740631] (maros)
| | * [Tcl Bug 1706140]dgp2007-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so * generic/tclLink.c (LinkTraceProc): that they call * generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for themselves, and do not rely on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of CallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclVar.c (CallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the CallVarTraces routine, the only place it can be done right.
| | * * generic/tclBasic.c:Miguel Sofer2005-10-231-15/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclLink.c: * generic/tclMain.c: * generic/tclProc.c: * generic/tclScan.c: * generic/tclTest.c: * generic/tclVar.c: * mac/tclMacInit.c: * unix/tclUnixInit.c: * win/tclWinInit.c: Insure that the core never calls TclPtrSetVar, Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref new value. It is not possible to handle error returns correctly in that case [Bug 1334947], one has the choice of leaking the object in some cases, or else risk crashing in some others.
* | | CONSTify TclDTraceInfonijtmans2008-10-281-18/+18
| | | | | | | | | | | | Eliminate some -Wstrings-write warnings
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-20/+17
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var beinghobbs2007-09-101-2/+9
| | | | | | | | unlinked. [Bug 1740631] (maros)
* | [Tcl Bug 1706140]dgp2007-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so that * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted() * generic/tclTrace.c (Trace*Proc): for themselves, and do not rely * generic/tclUtil.c (TclPrecTraceProc): on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of TclCallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclTrace.c (TclCallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the TclCallVarTraces routine, the only place it can be done right.
* | Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-3/+6
| | | | | | | | efficient). After [Patch 1529526] (afredd)
* | * generic/tclEnv.c: Some more ckalloc -> ckrealloc replacements.dgp2007-03-201-5/+3
| | | | | | | | * generic/tclLink.c:
* | Added macro to conceal at least some of the pointer hackery.dkf2007-03-031-56/+64
| |
* | * generic/tclLink.c: Broken linked float logic corrected. Thanksdgp2007-01-291-2/+2
| | | | | | | | to Andy Goth [Bug 1602538].
* | * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, fordas2006-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | universal builds including x86_64, for 64-bit CoreFoundation on Leopard and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET. * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59 * generic/tcl.h: add fixes for building on Leopard and support * unix/tclUnixPort.h: for 64-bit CoreFoundation on Leopard. * macosx/tclMacOSXFCmd.c: * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it causes execve to fail intermittently. (rdar://4685553) * generic/tclTomMath.h: on Darwin 64-bit, for now disable use of 128-bit arithmetic through __attribute__ ((mode(TI))), as it leads to link errors due to missing fallbacks. (rdar://4685527) * macosx/Tcl.xcodeproj/project.pbxproj: add x86_64 to universal build, switch native release targets to use DWARF with dSYM, Xcode 3.0 changes. * macosx/README: updates for x86_64 and Xcode 2.3. * macosx/Tcl.xcodeproj/default.pbxuser: add test suite target that runs * macosx/Tcl.xcodeproj/project.pbxproj: the tcl test suite at build time and shows clickable test suite errors in the GUI build window. * tests/macOSXFCmd.test: fix use of deprecated resource fork paths. * unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only needed when TCL_LIBRARY is defined to run only in that case. * generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned comparison warning from gcc4 -Wextra.
* | Export stubs for libtommath; fix mingw compiler warningsKevin B Kenny2005-12-131-3/+3
| |
* | More ANSIfyingdkf2005-11-091-25/+25
| |
* | * generic/tclBinary.c:Miguel Sofer2005-11-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIOCmd.c: * generic/tclLink.c: * generic/tclTest.c: * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar, Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr argument - i.e., they will free a 0-refCount object if they failed to set the variable. Fixed all callers in the core.