summaryrefslogtreecommitdiffstats
path: root/generic/tclLiteral.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclLiteral.c (TclCleanupLiteralTable): Correcteddgp2004-08-021-21/+42
| | | | | | * 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].
* 2004-07-21 Kevin Kenny <kennykb@acm.org>Kevin B Kenny2004-07-211-1/+54
| | | | | | | | | | | | | * 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]
* * generic/tclLiteral.c (TclReleaseLiteral): Removed unusedKevin B Kenny2004-07-151-2/+1
| | | | variable 'codePtr' to silence a message from VC++.
* * generic/tclCompile.c (TclCompileScript):Miguel Sofer2004-07-151-17/+1
| | | | | | | | | * 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.
* Modified the logic of literal table cleanup at interp deletion time,Miguel Sofer2004-07-081-15/+25
| | | | | insuring that the fix of [Bug 983660] does not have a negative perf impact.
* * generic/tclBasic.c (DeleteInterpProc): fix for [Bug 983660],Miguel Sofer2004-07-051-17/+17
| | | | | | | | | 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.
* Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | * 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):
* More hash function cleaning up.dkf2004-03-301-3/+3
|
* All uses of 'panic' (the macro) changeddavygrvy2003-12-241-15/+15
| | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* generic/tclLiteral.c: (TclReleaseLiteral) insured thatMiguel Sofer2001-10-111-32/+24
| | | | | self-referential bytecodes are properly cleaned up on interpreter deletion [Bug 467523]
* generic/tclLiteral.c: (TclReleaseLiteral) reverted previous patch for [Bug ↵Miguel Sofer2001-10-091-11/+1
| | | | 467523] - cure is worse than the illness.
* insured that self-referential bytecodes are properly cleaned up onMiguel Sofer2001-10-061-1/+11
| | | | interpreter deletion [Bug 467523]
* 1999-08-18 Jeff Hobbs <hobbs@scriptics.com>hobbs1999-08-191-4/+1
| | | | | | | | | | | | | | * 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.
* 1999-08-05 Jeff Hobbs <hobbs@scriptics.com>hobbs1999-08-051-3/+6
| | | | | * generic/tclLiteral.c: fixed reference to bytes that might not be null terminated (using objPtr->bytes, which is) [Bug: 2496]
* ran dos2unix on this file--Irix couldn't build Tcl because it detected strangehershey1999-05-061-1062/+1062
| | | | chars at the end of each line.
* fixed memory leaksurles1999-05-051-1048/+1062
|
* * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literalsstanton1999-04-281-6/+10
| | | | | get duplicated to avoid accidental sharing in the global object table.
* * generic/tclInt.h:stanton1999-04-221-18/+133
| | | | | | | | | | | * 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.
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+929