summaryrefslogtreecommitdiffstats
path: root/generic/tclObj.c
Commit message (Collapse)AuthorAgeFilesLines
* Make tweak to the mem-debug tracking official. It is now again possible to ↵andreask2015-05-271-14/+33
|\ | | | | | | use regular packages with a mem-debug core without inciting a panic.
| * Minor compilation issue fix, make sure variable declaration (via macro) is ↵aku_mem_debug_allow_regularJoe Mistachkin2015-05-221-6/+7
| | | | | | | | first.
| * Moved Tcl_Obj* objThreadMap release tracking to a location where regular ↵andreask2015-05-221-14/+32
| | | | | | | | packages will call through, enabling their full tracking by the core, and thus avoiding the "expected to create new entry for object map" panic seen otherwise.
* | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-4/+6
|/ | | | | macros using Tcl_NewIntObj, Tcl_DbNewLongObj and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it only eliminates code duplication.
* Greater protection against double TclFreeObj() calls in TCL_MEM_DEBUG mode.dgp2013-03-111-0/+12
|
* Don't panic if Tcl_ConvertToType is called for a type that doesn't have a ↵jan.nijtmans2013-02-261-1/+6
| | | | setFromAnyProc, create a proper error message.
* Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-3/+3
| | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* Backport fix for [Bug 2857044].dgp2011-04-271-0/+1
|
* Make sure SetFooFromAny routines react reasonably when passed a NULL interp.dgp2011-04-211-0/+4
|\
| * Make sure SetFooFromAny routines react reasonably when passed a NULL interp.dgp2011-04-211-0/+4
| |
* | * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-1/+1
|\ \ | |/ | | | | | | * generic/tclCompile.c: with TclParseBackslash() where possible. * generic/tclParse.c: * generic/tclUtil.c:
* | 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/tclObj.c: Plus memory leak in TclContinuationsEnter().andreas_kupries2009-11-101-1/+12
| | | | | | | | [Bug 2895323]. Backport from Tcl 8.5 branch, change by Don Porter.
| * * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-1/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, ListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-22): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script's, to properly account for them while counting lines for #280, during direct and compiled execution.
| * * generic/tclObj.c (Tcl_FindCommandFromObj): fix finding a deletedMiguel Sofer2007-10-031-2/+3
| | | | | | | | | | | | command; cannot trigger this from Tcl itself, but crash reported on xotcl. This check is new to 8.4 but exists in 8.5, so this is a backport or something. Thanks Gustaf Neumann.
| * * generic/tclDTrace.d (new file): add DTrace provider for Tcl; allowsdas2007-09-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompile.h: tracing of proc and command entry & * generic/tclBasic.c: return, bytecode execution, object * generic/tclExecute.c: allocation and more; with essentially * generic/tclInt.h: zero cost when tracing is inactive; * generic/tclObj.c: enable with --enable-dtrace configure * generic/tclProc.c: arg (disabled by default, will only * unix/Makefile.in: enable if DTrace is present). * unix/configure.in: [Patch 1793984] * macosx/Makefile: enable DTrace support. * unix/configure: autoconf-2.13
| * Fix [Bug 1310081].dkf2005-11-291-1/+12
| |
| * silence compiler warningdgp2005-08-041-2/+2
| |
| * * generic/tclObj.c: Simplified routines that manage the typeTable.dgp2005-08-041-36/+25
| |
| * * generic/tclCompExpr.c: Untangled some dependencies in thedgp2005-08-031-10/+12
| | | | | | | | | | | | * generic/tclEvent.c: order of finalization routines. * generic/tclInt.h: [Bug 1251399] * generic/tclObj.c:
| * * generic/tclGet.c (Tcl_GetInt): Corrected error that did notdgp2005-04-201-36/+17
| | | | | | | | | | * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
| * backport fixes for 868489 and 1026125Kevin B Kenny2004-10-271-6/+2
| |
| * * generic/tclObj.c (Tcl_GetIntFromObj): Corrected flaw in returningdgp2004-09-141-2/+2
| | | | | | | | the int value of a wideInteger. [Bug 1027690]
| * Minor mods to latest commit to correct bugs and compiler warnings ondgp2004-09-101-7/+9
| | | | | | | | TCL_WIDE_INT_IS_LONG platforms.
| * One less crazy long/wide aunt in the attic... [Bug 868489]dkf2004-09-101-24/+149
| |
| * Backport of fixes to make HashObjKey hash the whole object...dkf2004-03-301-18/+9
| |
| * * generic/tclObj.c (tclCmdNameType): Converted internal repdgp2003-05-231-8/+18
| | | | | | | | | | | | | | | | management of the cmdName Tcl_ObjType the opposite way, to always use the twoPtrValue instead of always using the otherValuePtr. Previous fix on 2003-05-12 broke several extensions that wanted to poke around with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend and e4graph. [Bug 726018]
| * * generic/tclObj.c (tclCmdNameType): Corrected variable use of thedgp2003-05-121-7/+4
| | | | | | | | | | otherValuePtr or the twoPtrValue.ptr1 fields to store a (ResolvedCmdName *) as the internal rep. [Bug 726018].
| * * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjTypedgp2003-04-161-25/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclObj.c is defined on all platforms, even those where * generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made the Tcl_Value struct have a wideValue field on all platforms. This is a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms because that struct changes size. This is the same TIP 72 incompatibility that was seen on other platforms at the 8.4.0 release, when this change should have happened as well. [Bug 713562] * generic/tclInt.h: New internal macros TclGetWide() and TclGetLongFromWide() to deal with both forms of the "wideInt" Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined to the header file. * generic/tclCmdAH.c: Replaced most coding that was conditional * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that * generic/tclExecute.c: works across platforms, sometimes using * generic/tclTest.c: the new macros above to do it. * generic/tclUtil.c: * generic/tclVar.c:
| * Make sure that tclWideIntType is defined and somewhat sensible everywhere. ↵dkf2003-04-071-6/+9
| | | | | | | | [Bug 713562]
* | * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorderdgp2010-03-301-2/+2
| | | | | | | | | | the validity tests on internal rep of a "cmdName" value to avoid invalid reads reported by valgrind.
* | * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updatedandreas_kupries2009-12-101-6/+20
| | | | | | | | | | | | | | | | comments to describe when the function can be entered for the same Tcl_Obj* multiple times. This is a continuation of the 2009-11-10 entry where a memory leak was plugged, but where not sure if that was just a band-aid to paper over some other error. It isn't, this is a legal situation.
* | * generic/tclObj.c: Plus memory leak in TclContinuationsEnter().dgp2009-11-101-1/+12
| | | | | | | | [Bug 2895323]
* | Fix for [Bug 988703, 1565466]Joe Mistachkin2009-10-181-6/+95
| |
* | * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of theandreas_kupries2009-10-071-16/+57
| | | | | | | | | | | | | | objThreadMap and lineCLPtr hashtables. Also make the names of the continuation line information initialization and finalization functions more consistent. Patch supplied by Joe Mistachkin <joe@mistachkin.com>.
* | * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-7/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* | * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],Miguel Sofer2009-05-081-1/+2
| | | | | | | | | | insure that a command in a deleted namespace cannot be found through a cached name.
* | merge updates from HEAD dgp2008-03-311-1/+2
| |
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | * generic/tclDictObj.c: Changed the underlying implementation of thedkf2007-11-201-20/+17
| | | | | | | | | | | | | | | | | | hash table used in dictionaries to additionally keep all entries in the hash table in a linked list, which is only ever added to at the end. This makes iteration over all entries in the dictionary in key insertion order a trivial operation, and so cleans up a great deal of complexity relating to dictionary representation and stability of iteration order.
* | [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-5/+9
| | | | | | | | objTypes.
* | * generic/tclObj.c: remove superfluous #include of tclCompile.hMiguel Sofer2007-10-111-2/+1
| |
* | * generic/tclDTrace.d (new file): add DTrace provider for Tcl; allowsdas2007-09-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompile.h: tracing of proc and command entry & * generic/tclBasic.c: return, bytecode execution, object * generic/tclExecute.c: allocation and more; with essentially * generic/tclInt.h: zero cost when tracing is inactive; * generic/tclObj.c: enable with --enable-dtrace configure * generic/tclProc.c: arg (disabled by default, will only * unix/Makefile.in: enable if DTrace is present). * unix/configure.in: [Patch 1793984] * macosx/GNUmakefile: enable DTrace support. * macosx/Tcl-Common.xcconfig: * macosx/Tcl.xcodeproj/project.pbxproj: * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59
* | * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from thedgp2007-09-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclNamesp.c: registered set. Revised the management of * generic/tclObj.c: the intrep of that Tcl_ObjType. Revised the * tests/obj.test: TclGetNamespaceFromObj() routine to return TCL_ERROR and write a consistent error message when a namespace is not found. [Bug 1588842. Patch 1686862] ***POTENTIAL INCOMPATIBILITY*** For callers of Tcl_GetObjType() on the name "nsName". * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers. * generic/tclProc.c: * tests/apply.test: Updated tests to expect new consistent * tests/namespace-old.test: error message when a namespace is not * tests/namespace.test: found. * tests/upvar.test:
* | * generic/tclObj.c (TclInitObjSubsystem): restore registration of thedas2007-09-031-2/+35
| | | | | | | | | | "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that access the tclWideIntType Tcl_ObjType; add setFromAnyProc for tclWideIntType.
* | * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneededMiguel Sofer2007-08-121-2/+1
| | | | | | | | memset to 0 of all allocated objects.
* | VarReform [Patch 1750051]Miguel Sofer2007-07-311-2/+3
| | | | | | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* | clarify comments for last commitMiguel Sofer2007-07-051-2/+2
| |
* | * generic/tclNamesp.c (SetNsNameFromAny):Miguel Sofer2007-07-051-21/+32
| | | | | | | | | | * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary ckfree/ckalloc when the old structs can be reused.