summaryrefslogtreecommitdiffstats
path: root/generic/tclLink.c
Commit message (Collapse)AuthorAgeFilesLines
* 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-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.
* 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 [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.
| | | * 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.
| | * | 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.
| | * Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-1/+1
| | | | | | | | | | | | in many places where possible.
* | | 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.
* | 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.
* | TIP#237 IMPLEMENTATIONdgp2005-10-081-1/+8
| | | | | | | | | | | | [kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code.
* | TIP #254 implementationdkf2005-09-081-2/+177
| | | | | | | | Still missing additional tests.
* | Remove _ANSI_ARGS_dkf2005-08-261-20/+18
| |
* | Getting more systematic about styledkf2005-07-171-71/+75
| |
* | * generic/tclLink.c: Simplified LinkTraceProc [Bug 1208108].dgp2005-07-061-27/+12
|/
* * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ifydgp2002-08-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c
* * Updated interfaces of generic/tclVar.c accordingdgp2002-03-201-3/+3
| | | | to TIP 27. In particular, the "part2" arguments were CONSTified.
* * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case.hobbs2002-02-281-2/+5
|
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-151-110/+124
| | | | | This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-251-3/+4
| | | | | | | | | | | generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-17/+24
|
* Replaced SCCS strings, fixed binary filescore_8_0_3stanton1998-09-141-1/+1
|