| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* generic/tclCompile.c: mechanism to avoid shimmering of
* generic/tclCompile.h: command names.
* generic/tclLiteral.c:
|
|
|
|
|
|
| |
speed-up of ouster-hash function.
Eliminate various unnecessary (ClientData)
type casts.
|
| |
|
|
|
|
| |
comments about why this function is preferred.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* generic/tclGetDate.y:
* generic/tclDate.c:
* generic/tclLiteral.c: (char *) cast in ckfree call
|
|
|
|
|
| |
- some internal const decorations
- spacing
|
|
|
|
| |
etc.)
|
| |
|
|
|
|
| |
objTypes.
|
|
|
|
| |
*** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
|
|
|
|
| |
* generic/tclLiteral.c:
|
| |
|
| |
|
|
|
|
| |
easier reading.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdIL.c:
* generic/tclCompCmds.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclLiteral.c:
* generic/tclParseExpr.c:
* generic/tclScan.c:
* generic/tclUtil.c:
* generic/tclVar.c:
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
into the "int" Tcl_ObjType during registration. We can re-enable it
if this change causes trouble, but it seems more sensible to let
Tcl's "on-demand" shimmering rule, and not try to pre-guess things.
|
|
|
|
| |
the TclRegisterNewLiteral macro [Patch 1090905]
|
|
|
|
|
|
| |
* tests/compile.test (compile-12.4): flawed deletion of literal
internal reps that could lead to accessing of freed memory.
Thanks to Kevin Kenny for test case and fix [Bug 1001997].
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c (DeleteInterpProc):
* generic/tclLiteral.c (TclCleanupLiteralTable):
* generic/tclInt.h: added a TclCleanupLiteralTable function,
called from DeleteInterpProc, that frees internal representations
of shared literals early when an interpreter is being deleted.
This change corrects a number of memory mismanagement issues in
the cases where the internal representation of one literal
contains a reference to another, and avoids conditions such as
resolved variable names referring to procedure and namespace
contexts that no longer exist. [Bug 994838]
|
|
|
|
| |
variable 'codePtr' to silence a message from VC++.
|
|
|
|
|
|
|
|
|
| |
* generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523],
which resurfaced with the latest changes. The previous strategy
was to have special code in TclReleaseLiteral to handle the
self-references generated by empty scripts. The new approach
avoids the self-reference altogether, by having empty scripts
return an unshared literal.
|
|
|
|
|
| |
insuring that the fix of [Bug 983660] does not have a negative perf
impact.
|
|
|
|
|
|
|
|
|
| |
found by pspjuth. Tear down the global namespace before freeing
the interp handle, to allow the bytecodes to free their non-shared
literals.
* generic/tclLiteral.c (TclReleaseLiteral): moved special code for
self-ref so that it is also used for non-shared literals. Possible
bug found by inspection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h: Reworked the Tcl header files into a clean
* unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h
* win/tclWinInt.h: and every C source file should #include
* win/tclWinPort.h: at most one of those files to satisfy its
declaration needs. tclWinInt.h and tclWinPort.h also better organized
so that tclWinPort.h includes the Windows implementation of
cross-platform declarations, while tclWinInt.h makes declarations that
are available on Windows only.
* generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h
* generic/tclMath.h (removed): header file. The internal Tcl
* macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a
* win/tcl.dsp: #include <math.h> directly,
and file external to Tcl needing libm should do the same.
* win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file.
* win/makefile.bc (TCLOBJS): It's a vestige from matherr() days
* win/makefile.vc (TCLOBJS): gone by.
* win/tcl.dsp:
* win/tclWinMtherr.c (removed):
|
| |
|
|
|
|
|
|
|
| |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
|
|
|
|
| |
self-referential bytecodes are properly cleaned up on interpreter
deletion [Bug 467523]
|
|
|
|
| |
467523] - cure is worse than the illness.
|
|
|
|
| |
interpreter deletion [Bug 467523]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/OpenFileChnl.3:
* doc/file.n:
* tests/cmdAH.test:
* tclIO.c:
* tclCmdAH.c: added "file channels ?pattern?" tcl command, with
associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public
C APIs (added to tcl.decls as well), with docs and tests.
* generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types
that cause differed compilation for exprs, to correct the expr
double-evaluation problem for vars. Added test cases.
|
|
|
|
|
| |
* generic/tclLiteral.c: fixed reference to bytes that might
not be null terminated (using objPtr->bytes, which is) [Bug: 2496]
|
|
|
|
| |
chars at the end of each line.
|
| |
|
|
|
|
|
| |
get duplicated to avoid accidental sharing in the global object
table.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.decls:
* generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a
hook procedure to invoke after compilation but before the byte
codes are emitted. This makes it possible to do postprocessing on
the compiled byte codes before the ByteCode is generated.
* generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj
to make it possible to create local unshared literal objects.
|
|
|