| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
is not used, use Tcl_NRCallObjProc instead [Bug 2486550].
|
| |
|
| |
|
|
|
|
|
| |
flag inside the Tcl_WrongNumArgs function,
so the caller no longer has to do the reset.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/tclUnixChan.c: embedding into applications that
* unix/tclUnixEvent.c: already have a CFRunLoop running and
want to run the tcl event loop via
Tcl_ServiceModeHook(TCL_SERVICE_ALL).
* macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and
* unix/tclUnixChan.c: TclUnixWaitForFile() implementations
* unix/tclUnixEvent.c: and disable select() based ones in
CoreFoundation builds.
* unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
* generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
* generic/tclIntPlatDecls.h: internal API, regen.
* generic/tclStubInit.c:
|
|
|
|
| |
TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment claims.
|
|
|
|
|
|
| |
* tests/fileName.test: the wrong results for both [file dirname] and
[file tail] on "path" arguments with the PATHFLAGS != 0 intrep and
with an empty string for the "joined-on" part. [Bug 2710920]
|
| |
|
| |
|
|
|
|
| |
[Bug 2502037].
|
|
|
|
|
|
|
| |
* generic/tclInt.h: ensembles. Only remaining known leak
* generic/tclInterp.c: is in ensemble unknown dispatch (as it
* generic/tclNamesp.c: not NR-enabled)
* tests/tailcall.test:
|
|
|
|
|
|
| |
* tests/tailcall.test: added tests to show that [tailcall] does
not currently always execute in constant space: interp-alias,
ns-imports and ensembles "leak" as of this commit.
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c: Tailcalls now perform properly even from
* generic/tclExecute.c: within [eval]ed scripts.
* generic/tclInt.h: More tests missing, as well as proper
exploration and testing of the interaction with "redirectors" like
interp-alias (suspect that it does not happen in constant space)
and pure-eval commands.
|
|
|
|
|
|
| |
* tests/nre.test: the failing assertion that was disabled on
2008-12-18: the assertion is correct, the fault was in the
management of expansions.
|
|
|
|
| |
* tests/tailcall.test: from within a compiled [eval] body.
|
|
|
|
| |
the max length of a Tcl value. [Bug 2669109]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclBasic.c:
* generic/tclExecute.c:
* generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall
implementation, ::unsupported::atProcExit is (temporarily?)
gone. The new approach is much simpler, and also closer to being
correct. This commit fixes [Bug 2649975] and [Bug 2695587].
* tests/coroutine.test: Moved the tests to their own files,
* tests/tailcall.test: removed the unsupported.test. Added
* tests/unsupported.test: tests for the fixed bugs.
|
|
|
|
|
|
| |
Tcl_SetErrorCode() out of TclLookupSimpleVar and onto its callers,
where control with TCL_LEAVE_ERR_MSG flag is more easily handled.
[Bug 2689307]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Diagnose and fix thx to GPS.
|
| |
|
| |
|
| |
|
|
|
|
| |
don't use CONST84/CONST86 in internal header files
|
|
|
|
|
|
|
| |
on the strObj->typePtr so that untyped values get converted to the
"string" type and pass through the Unicode matcher. [Bug 2613766]
Also added checks to only perform "bytearray" optimization on pure
bytearray values. [Bug 2637173].
|
|
|
|
|
| |
* generic/tclExecute.c: optimizations for the tclByteArrayType, stop
having the callers do them.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
patterns between Unicode and UTF string reps. Most notably the
call: objPtr = Tcl_NewUnicodeObj(...,0); followed by a loop of calls:
Tcl_AppendUnicodeToObj(objPtr, u, n); will now grow and append to
the Unicode representation. Before this commit, the sequence would
convert each append to UTF and perform the append to the UTF rep.
This is puzzling and likely a bug. The performance of [string map]
is significantly improved by this change (according to the MAP
collection of benchmarks in tclbench). Just in case there was some
wisdom in the old ways that I missed, I left in the ability to restore
the old patterns with a #define COMPAT 1 at the top of the file.
|
|
|
|
|
|
| |
* tests/fileName.test: that assumed (not "absolute" => "relative").
This is a false assumption on Windows, where "volumerelative" is
another possibility. [Bug 2571597].
|
| |
|
| |
|
|
|
|
| |
Tcl_*SetObjLength() routines.
|
| |
|
|
|
|
|
|
|
|
| |
has parallel structure with GrowUnicodeBuffer(). The revision permits
allocation attempts to continue all the way up to failure, with no gap.
It also directly manipulates the String and Tcl_Obj internals instead
of inefficiently operating via Tcl_*SetObjLength() with all of its
extra protections and underdocumented special cases.
|
|
|
|
| |
the allocation macros.
|
|
|
|
| |
the allocation macros.
|
|
|
|
|
|
|
|
| |
array in a non-extended String struct to one Tcl_UniChar, meant to
hold the terminating NUL character. Non-empty unicode strings are
then stored by extending the String struct by stringPtr->maxChars
additional slots in that array with sizeof(Tcl_UniChar) bytes per slot.
This revision makes the allocation macros much simpler.
|
|
|
|
| |
and solve overflow and growth algorithm fallbacks in it.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into
* tests/stringObj.test: a radically simpler implementation
where we just loop over calls to Tcl_AppendToObj. This fixes [Bug
2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in
that T_ASTO can now allocate more space than is strictly required,
like all the other Tcl_Append* routines. The incompatibility was
detected by test stringObj-6.5, which I've updated to reflect the
new behavior.
|
|
|
|
|
|
|
| |
in ExtendStringRepWithUnicode. Use cheap checks to determine that
no reallocation is necessary without cost of computing the precise
number of bytes needed. Also make use of the string growth algortihm
in the case of repeated appends.
|
|
|
|
| |
zlib build.
|
|
|
|
|
| |
* tests/stringObj.test: command with [teststringobj maxchars] and
update the tests.
|
|
|
|
|
|
|
| |
* generic/tclTestObj.c: accesses when we append (some part of)
* tests/stringObj.test: a Tcl_Obj to itself. Added the
appendself and appendself2 subcommands to the [teststringobj] testing
command and added tests to the test suite. [Bug 2603158]
|
|
|
|
| |
Tcl_AppendObjToObj.
|
|
|
|
|
|
|
|
| |
of the String struct, storing the number of bytes allocated to store
the Tcl_UniChar array, with an 'int maxChars' field, storing the
number of Tcl_UniChars that may be stored in the allocated space.
This reduces memory requirement a small bit, and makes some range
checks simpler to code.
|
|
|
|
|
|
|
|
| |
Tcl_AppendObjToObj where the char length of the result was only
computed if the appended string was all single byte characters.
This limitation was in place to dodge a bug in Tcl_GetUniChar.
With that bug gone, we can take advantage of always recording the
length of append results when we know it.
|