| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
itself does not do any direct intrep surgery. Better isolates those
things into the implementation of the "list" Tcl_ObjType.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
the recounting logic of the List internal rep need not be repeated
there. Better encapsulation of internal details.
* generic/tclInt.h: New internal routine TclListObjCopy() used
* generic/tclListObj.c: to efficiently do the equivalent of
[lrange $list 0 end]. After some experience with this, might be
a good candidate for exposure as a public interface. It's useful
for callers of Tcl_ListObjGetElements() who want to control the
ongoing validity of the returned objv pointer.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclIOCmd.c (Tcl_ExecObjCmd):
* generic/tclListObj.c (NewListIntRep):
* generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj,
FreeBignum, Tcl_SetBignumObj):
* generic/tclParseExpr.c (Tcl_ParseExpr):
* generic/tclStrToD.c (TclParseNumber):
* generic/tclStringObj.c (TclAppendFormattedObjs):
* unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
comparison and other warnings from gcc4 -Wextra.
|
| |
|
|
|
|
|
|
|
| |
* generic/tclObj.c: the "list" Tcl_ObjType, and restored the
Tcl_RegisterObjType() call for "list". This addresses the needs
of some "bridge" extensions to examine whether the Tcl_ObjType of
a Tcl_Obj is that of the "list" Tcl_ObjType.
|
| |
|
|
|
|
|
| |
* tests/lset.test (lset-10.3): fixed handling of unshared lists
with shared sublists, [Bug 1333036] reported by neuronstorm.
|
|
|
|
|
| |
of the time even when they are not pure. The flag works by keeping track of
when the string rep was derived from the internal rep.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static modifier in declaration and definition of function.
* unix/tclUnixChan.c (FileTruncateProc): Synchronized use of
static modifier in declaration and definition of function.
* generic/tclResult.c (ReleaseKeys): Synchronized use of static
modifier in declaration and definition of function.
* generic/tclListObj.c (NewListIntRep): Synchronized use of static
modifier in declaration and definition of function.
* generic/tclEncoding.c (InitializeEncodingSearchPath):
Synchronized use of static modifier in declaration and
definition of function.
* generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of
static modifier in declaration and definition of function.
* generic/tclIORChan.c (RcNewHandle): Synchronized use of static
modifier in declaration and definition of function.
|
| |
|
| |
|
| |
|
|
|
|
| |
when getting index from an empty list.
|
|
|
|
|
|
|
|
| |
calls at list creation (from 2 to 1), (b) reduce the cost of handling empty
lists (we now never create a list internal rep for them), (c) allow
refcounting of the list internal rep. The latter permits insuring that the
pointers returned by Tcl_ListObjGetElements remain valid even if the object
shimmers away from its original list type. This is [Patch 1158008]
|
|
|
|
|
|
|
|
|
|
|
| |
of manual copy loop to shift list elements. Decreases time spent in
Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of
tclbench on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243]
* generic/tclHash.c: hoisted some constant pointer dereferences out
of loops to eliminate redundant loads that the gcc optimizer didn't
deal with. Decreases time spend in Tcl_FindHashEntry() by 10% over a
full run of the tcl testuite on a ppc 7455. [Patch 1064243]
|
| |
|
|
|
|
|
|
|
| |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: Updated Tcl_ConvertCountedElement() to quote
* generic/tclUtil.c: the leading "#" character of all list elements
unless the TCL_DONT_QUOTE_HASH flag is passed in.
* generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers
* generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags
* generic/tclResult.c: when appropriate.
|
|
|
|
|
|
|
| |
* generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized,
SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep):
* generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type
casts to satisfy picky compilers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added the [memory onexit] command, intended to replace [checkmem].
* doc/DumpActiveMemory.3:
* doc/memory.n: Updated documentation for [memory] and related
matters. [Bug 487677]
* mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the
machinery for the [checkmem] command that is completely duplicated
by code in generic/tclCkalloc.c.
* generic/tclBinary.c:
* generic/tclListObj.c:
* generic/tclObj.c:
* generic/tclStringObj.c: Removed references to [checkmem] in
comments, referencing [memory active] instead, since it is
documented.
|
| |
|
|
|
|
|
|
| |
ability of the [lindex] command to have multiple index arguments,
and adds the [lset] command. Both commands are byte-code compiled.
[Patch #471874] (work by Kenny, commited by Hobbs)
|
|
|
|
| |
in place of simple "char*". (kennykb) [Patch #404026]
|
|
|
|
|
| |
empty object case to maintain sanctity of Tcl_Obj bytes/length
pairing. (porter) [Patch #405998]
|
|
|
|
| |
Tcl_ListObjGetElements()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.decls:
* generic/tclDecls.h: Applied patch from Jim Ingham to change the
prototype of Tcl_ListObjGetElements to have the last argument have
a CONST so that you can feed it the objv that you get from the
standard TclObj command proc.
* generic/tclAlloc.c:
* generic/tclCmdIL.c:
* generic/tclIO.c:
* generic/tclThread.c:
* win/tclWinThrd.c:
* unix/tclUnixThrd.c: Fixed Brent's changes so that they work on
Windows (and he fixed the bug in the Unix thread implementation).
|
|
|
|
|
|
|
|
|
| |
* generic/tclListObj.c:
* generic/tclObj.c:
* generic/tclStringObj.c: Changed to avoid freeing the string
representation before freeing the internal rep. This helps with
debugging since the string rep will still be valid when the free
proc is invoked.
|
| |
|
|
|
|
|
|
| |
in 0 elements. Despite what docs said.
Also updated a few copyright notices.
|
| |
|
|
|