| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from:
typedef unsigned long mp_digit;
to:
typedef unsigned int mp_digit;
For 32-bit builds where "long" and "int" are two names for the same
thing, this is no change at all. For 64-bit builds, though, this
causes the dp[] array of an mp_int to be made up of 32-bit elements
instead of 64-bit elements. This is a huge improvement because details
elsewhere in the mp_int implementation cause only 28 bits of each
element to be actually used storing number data. Without this change
bignums are over 50% wasted space on 64-bit systems. [Bug 2800740].
***POTENTIAL INCOMPATIBILITY***
For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *)
arguments *will*, and callers of routines with (mp_int *) arguments
*may* suffer both binary and stubs incompatibilities with Tcl releases
8.5.0 - 8.5.7. Such possibilities should be checked, and if such
incompatibilities are present, suitable [package require] requirements
on the Tcl release should be put in place to keep such built code
[load]-ing only in Tcl interps that are compatible.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/info.test: First, as noted in the comments of the
TclCleanupLiteralTable routine, since the teardown of the intrep
of one Tcl_Obj can cause the teardown of others in the same table,
the full table cleanup must be done with care, but the code did not
contain the same care demanded in the comment. Second, recent
additions to the info.test file had poor hygiene, leaving an array
variable ::a lying around, which breaks later interp.test tests during
a -singleproc 1 run of the test suite.
|
|
|
|
| |
caused crashes. [Bug 2884203].
|
|
|
|
|
|
| |
0-length writes. When closing pipes which have already been closed
not skipping leads to spurious SIG_PIPE signals. Reported by
Mikhail Teterin <mi+thun@aldan.algebra.com>.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
to permit reads to continue up to the string limits of Tcl values.
Before revisions, large read attempts could panic when as little as
half the limiting value length was reached. [Patch 2107634]
Thanks to Sean Morrison and Bob Parker for their roles in the fix.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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>.
|
|
|
|
|
|
| |
constant 11 with the proper errno define, EAGAIN. What was I
thinking ? The BSD's have a different errno assignment and break
with the hardwired number. Reported by emiliano on the chat.
|
|
|
|
|
|
|
| |
was added as part of the NRE patch of 2008-07-13. This doesn't appear
to actually be needed, and it hurts quite a bit when large lists lose
their intreps and require reparsing. Thanks to Ashok Nadkarni for
reporting the problem.
|
|
|
|
|
| |
* generic/tclTomMath.h: dependence on private headers, breaking use
* generic/tommath.h: by extensions [Bug 1941434].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
|
|
|
|
|
|
| |
* generic/tclCkalloc.c: call stacks for memory allocation to
* generic/tclInt.h: guarantee that any size values computed
* generic/tclThreadAlloc.c: are within the domains of the routines
they get passed to. [Bugs 2557696 and 2557796].
|
|
|
|
|
|
| |
* tests/error.test: Tcl_SetReturnOptions() calls as a simple fix
for [Bug 2855247]. Thanks to Anton Kovalenko for the report and fix.
Additional fixes for other failures demonstrated by new tests.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.decls: Promote internal routine TclNRSubstObj()
* generic/tclCmdMZ.c: to public Tcl_NRSubstObj(). Still needs docs.
* generic/tclCompile.c:
* generic/tclInt.h:
* generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
|
|
|
|
| |
Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report.
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclParse.c: wrapper around TclNRSubstObj(). This has
* tests/basic.test: the effect of caching compiled bytecode in
* tests/parse.test: the value to be substituted. Note that
Tcl_SubstObj() now exists only for extensions. Tcl itself no longer
makes any use of it. Note also that TclSubstTokens() is now reachable
only by Tcl_EvalEx() and Tcl_ParseVar() so tests aiming to test its
functioning needed adjustment to still have the intended effect.
|
| |
|
| |
|
|
|
|
| |
fix whitespace, formatting & style to match codebase conventions
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c: [Bug 2314561].
* generic/tclCompCmds.c:
* generic/tclCompile.c:
* generic/tclInt.h:
* tests/coroutine.test:
* tests/parse.test:
|
|
|
|
| |
* tests/into.test: script substitutions. [Bug 2850901].
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclFCmd.c: null dereference flagged by clang static
* generic/tclProc.c: analyzer.
* generic/tclTimer.c:
* generic/tclUtf.c:
* generic/tclExecute.c: silence false positives from clang static
* generic/tclIO.c: analyzer about potential null dereference.
* generic/tclScan.c:
* generic/tclCompExpr.c:
|
| |
|
|
|
|
| |
panic during execution of [subst] bytecode.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: compiler routine for the [subst] command.
* generic/tclCmdMZ.c: This is a partial solution to the need to
* generic/tclCompile.c: NR-enable [subst] since bytecode execution is
* generic/tclCompile.h: already NR-enabled. [Bug 2314561] Two new
* generic/tclExecute.c: bytecode instructions, INST_NOP and
* generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support
* generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is
* tests/basic.test: likely to be useful in any future effort to
* tests/info.test: add a bytecode compiler routine for [try].
* tests/parse.test:
|
| |
|
|
|
|
|
|
|
|
| |
0-result from method 'limit?' of transformations. Return the
number of copied bytes instead, which is possibly nothing. The
latter then triggers EOF handling in the higher layers, making the
0-result of limit? the way to inject artificial EOF's into the
data stream.
|
|
|
|
| |
[format]. [Bug 2845535]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
analyzer in PURIFY builds, replacing preprocessor/assert technique.
|
|
|
|
| |
* tests/fileName.test:
|
|
|
|
| |
matches something like ~foo. [Bug 2837800]
|
|
|
|
|
|
|
|
| |
starting with ~ in the "tail" part (normPathPtr field) of the path
intrep when PATHFLAGS != 0. This establishes the assumptions relied
on elsewhere that the name stored there is a relative path. Also
refactored to make an AppendPath() routine instead of the cut/paste
stanzas that were littered throughout.
|
| |
|
| |
|
| |
|
| |
|
| |
|