summaryrefslogtreecommitdiffstats
path: root/generic/tclObj.c
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade Tcl's hash function to use the FNV-32 algorithm. This is marginallydkf2010-02-071-20/+15
| | | | | faster and gives a bit better distribution of keys (especially in large hash tables) but does change hash iteration order.
* Simplify the logic in Tcl_GetCommandFromObjdkf2009-12-291-185/+208
|
* * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updatedandreas_kupries2009-12-101-5/+19
| | | | | | | | 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().andreas_kupries2009-11-101-1/+12
| | | | | [Bug 2895323]. Forward port from Tcl 8.5 branch, change by Don Porter.
* Fix for [Bug 2871908]Joe Mistachkin2009-10-181-6/+6
|
* * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of theandreas_kupries2009-10-071-21/+19
| | | | | | | 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/tclDictObj.c: Updated freeIntRepProc routines sodgp2009-09-301-1/+3
| | | | | | | | | | | | | | | * generic/tclExecute.c: that they set the typePtr field to * generic/tclIO.c: NULL so that the Tcl_Obj is not left * generic/tclIndexObj.c: in an inconsistent state. * generic/tclInt.h: [Bug 2857044] * generic/tclListObj.c: * generic/tclNamesp.c: * generic/tclOOCall.c: * generic/tclObj.c: * generic/tclPathObj.c: * generic/tclProc.c: * generic/tclRegexp.c: * generic/tclStringObj.c:
* need to remember to save before commit...das2009-09-171-2/+2
|
* typodas2009-09-171-2/+2
|
* fix string buffer sizes for pointer printingdas2009-09-171-42/+30
| | | | fix whitespace, formatting & style to match codebase conventions
* Extended ::tcl::unsupported::representation.ferrieux2009-09-161-6/+46
|
* * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-11/+389
| | | | | | | | | | | | | | | | | | | | | | | Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript, TclCompileTokens): * 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 the parser, compiler, and execution engine with code and attendant data structures tracking the position of continuation lines which are not visible in the resulting script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* TIP #353 IMPLEMENTATIONdgp2009-08-121-18/+35
| | | | | | | | | | | | | | * doc/NRE.3: New public routine Tcl_NRExprObj() permits * generic/tcl.decls: extension commands to evaluate Tcl expressions * generic/tclBasic.c: in NR-enabled command procedures. * generic/tclCmdAH.c: * generic/tclExecute.c: * generic/tclInt.h: * generic/tclObj.c: * tests/expr.test: * generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* Added *unsupported* command to report an object's representation.dkf2009-08-021-1/+39
|
* Apply patch from [Bug 988703]. Many thanks to Joe Mistachkin for development.dkf2009-06-181-5/+135
|
* * 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.
* - eliminate some unnessary type castsnijtmans2009-02-101-5/+6
| | | | | - some internal const decorations - spacing
* * generic/tclObj.c (Tcl_GetString): Added comments and validitydgp2009-02-101-1/+18
| | | | | | checks following the call to an UpdateStringProc. Simplify Tcl_AttemptSetObjLength by removing unreachable code.
* Fix for [Bug 2558422] though this area is still a mess.dkf2009-02-031-2/+10
|
* * generic/tclObj.c (Tcl_GetStringFromObj): Reduce code duplication.dgp2009-02-031-8/+2
|
* Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-11/+13
| | | | etc.)
* Generate errorcodes for more cases.dkf2009-01-081-1/+5
|
* Style improvements - invoking callbacks without visual junk.dkf2008-10-261-10/+12
|
* Add "const" to many internalnijtmans2008-10-161-3/+3
| | | | | const tables. No functional or API change.
* Add "const" to many internalnijtmans2008-10-151-9/+9
| | | | | | | | const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries.
* * doc/Object.3 CONSTified 3 functions usingnijtmans2008-07-271-25/+25
| | | | | | | | | | | | | | | * doc/ObjectType.3 Tcl_ObjType which all are supposed * generic/tcl.decls to be a constant, but this was not * generic/tcl.h reflected in the API: * generic/tclDecls.h Tcl_ConvertToType * generic/tclObj.c Tcl_GetObjType * generic/tclCompCmds.c Tcl_RegisterObjType * generic/tclOOMethod.c Introduced a CONST86_RETURN, so extensions which * generic/tclTestobj.c use Tcl_ObjType directly can be modified to compile against both Tcl 8.5 and Tcl 8.6 tclDecls.h is re-generated with "make genstubs" This change complies with TIP #24 ***POTENTIAL INCOMPATIBILITY***
* Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-40/+41
|
* * generic/tclObj.c: Added missing #include <math.h> needed toKevin B Kenny2008-03-301-1/+2
| | | | locate isnan() after the above change.
* 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.
* * generic/tclNamesp.c: Fix case where a FQ cmd or ns was beingMiguel Sofer2007-07-041-1/+2
| | | | | * generic/tclObj.c: cached in a different interp, tkcon [Bug 1747512]
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-111-77/+54
| | | | | | * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr is NULL for fully qualified names.
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-111-8/+9
| | | | * generic/tclObj.c: TclGetNamespaceFromObj
* * generic/tclInt.h:Miguel Sofer2007-06-101-21/+20
| | | | | | | | | * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclvar.c: new macros TclGetCurrentNamespace() and TclGetGlobalNamespace(); Tcl_GetCommandFromObj and TclGetNamespaceFromObj rewritten to make the logic clearer; slightly faster too.
* * generic/tclObj.c (Tcl_GetCommandFromObj): rewritten to make theMiguel Sofer2007-06-091-41/+32
| | | | logic clearer; slightly faster too.
* * generic/tclBasic.c: Split TEOv in two, by separating aMiguel Sofer2007-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | processor for non-TCL_OK returns. Also spli TEOvI in a full version that handles non-existing and traced commands, and a separate shorter version for the regular case. * generic/tclBasic.c: Moved the generation of command strings for * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in TclCheck[Interp|Execution]Traces(). Also insured that the strings are properly nul terminated at the correct length [Bug 1693986] * generic/tclBasic.c: Extend usage of TclLimitReady() and * generic/tclExecute.c: (new) TclLimitExceeded() macros. * generic/tclInt.h: * generic/tclInterp.c: * generic/tclInt.h: New TclCleanupCommandMacro for core usage. * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclObj.c:
* Add a full stop to a commentdkf2007-05-111-2/+2
|
* Replaced commas in varargs with string concatenation where possible [Patch ↵Kevin B Kenny2007-04-201-4/+4
| | | | 1515234]
* Reformat to standard function definition form; don't use C++ keywordsdkf2007-04-101-7/+9
|
* Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-9/+11
| | | | efficient). After [Patch 1529526] (afredd)
* * generic/tclBasic.c (Tcl_CreateMathFunc): Replaced somedgp2007-03-191-2/+2
| | | | | | | * generic/tclEvent.c (Tcl_CreateThread): calls to Tcl_Alloc() * generic/tclObj.c (UpdateStringOfBignum): with calls to * unix/tclUnixTime.c (SetTZIfNecessary): ckalloc(), which better * win/tclAppInit.c (setargv): supports memory debugging.