Tcl Source Code

All files named ”generic/tclPreserve.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for generic/tclPreserve.c

2026-10-18
09:45
Fix [7e3f26c748]: with TCL_MEM_DEBUG, the "previously disposed object" check could no longer fire, because freed memory was filled with 0x61 while [f505b17748] changed the marker to 0xE8. Fill freed memory with 0xE8 and use the same marker everywhere (also in tclDisassemble.c and tclPreserve.c, which still compared with 0x61616161). file: 31ac36068f check-in: [5495155636] user: serhiy.storchaka branch: memdebug-freed-marker, size: 13151
2025-10-28
12:41
Yet more bools... file: b10c31813c check-in: [0517c8f089] user: dkf branch: c11-bool, size: 13142
2025-08-12
09:06
More booleans. file: bfc17a21de check-in: [8a9080996d] user: dkf branch: c-std-update, size: 13134
2025-07-15
10:25
Merge 8.6 file: 977768a91a check-in: [2750018377] user: jan.nijtmans branch: core-9-0-branch, size: 13127
10:21
2 minor comment fixes file: 03d450a202 check-in: [b6cb766ec8] user: jan.nijtmans branch: core-8-6-branch, size: 13107
2025-02-25
17:42
merge & resolve file: 83d31e6765 check-in: [6562fa8218] user: dgp branch: dgp-refactor, size: 12763
2025-01-20
14:39
Fixes for many many whitespace infelicities file: 370e8919e6 check-in: [ba7d219e65] user: dkf branch: whitespace-fix, size: 13120
2024-08-28
16:33
Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: 6723dd9370 check-in: [627781a6db] user: pooryorick branch: unchained, size: 13493
2024-08-22
19:14
Merge [7c849f60c765dd4b]: Fix [52dbc4b3f8]: tclInterp.c: Tcl_Free() called through pointer of incorrect type. file: 5b9c63fb9f check-in: [9c96277010] user: pooryorick branch: unchained, size: 13486
2024-07-20
15:59
Merge trunk [91c2f411e7e71552], TIP #636 (tip-636-tcl9-644), resolve all conflicts including those resulting from conflicting Tcl_Obj interface implementations, and relicense under GNU Affero General Public License. All tests pass. file: 504d2ec303 check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 13494
2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: 5dbd23c751 check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 13123
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: a18cf56239 check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 13119
2023-11-03
19:56
merge trunk file: 9f0133ecb7 check-in: [4627159c40] user: dgp branch: dgp-refactor, size: 12759
2023-10-13
16:00
Merge 8.7 file: b8b7f9e160 check-in: [7c849f60c7] user: jan.nijtmans branch: main, size: 13116
2023-04-03
16:15
merge trunk file: 99db4a6808 check-in: [9b9daa251b] user: dgp branch: dgp-refactor, size: 12767
2023-03-05
20:46
Merge 9.0 file: 1bf98b332b check-in: [fef53bf657] user: jan.nijtmans branch: tip-626, size: 13124
2020-12-10
19:35
Merge trunk; silence shadow warning file: 63af8eea70 check-in: [fd76c5f3fc] user: dgp branch: dgp-refactor, size: 12787
2020-12-08
15:42
Merge 8.7 file: 2dadcef7eb check-in: [71493b571b] user: jan.nijtmans branch: main, size: 13144
15:31
Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet file: 96048b7708 check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 13128
2020-03-18
19:10
merge trunk file: 1ecb4e597d check-in: [d9065bd3aa] user: dgp branch: dgp-refactor, size: 12789
2020-03-17
01:20
merge 8.7 file: 66a5bc267f check-in: [4d9717c8ef] user: dgp branch: trunk, size: 13146
01:01
TIP 569 - remove lint comments file: e56e64de52 check-in: [658a498ae4] user: dgp branch: core-8-branch, size: 13130
2020-02-28
19:45
Merge trunk, and resolve conflicts. file: b0d2307b64 check-in: [40258de7ff] user: dgp branch: dgp-refactor, size: 12805
12:46
Merge 8.7 file: 07409cdcdb check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 13162
2019-09-08
14:02
Fix travis build for --enable-symbols=all file: 06f3cce9e7 check-in: [e9d72aef77] user: jan.nijtmans branch: dgp-refactor, size: 12773
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: 5633d77b32 check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 13146
2018-11-15
03:16
Merge TIP 494 and remove conflicts. Result doesn't work. file: d1118b2479 check-in: [37c7a89a0b] user: dgp branch: dgp-refactor, size: 12619
2018-09-28
18:19
code/doc cleanup file: d7d143140a check-in: [84a5f246b7] user: jan.nijtmans branch: memory-API, size: 13117
2018-09-01
22:01
Change ckalloc and friends to Tcl_Alloc and friends. Add two defines, TCL_IO_FAILURE and TCL_NO_LENGTH (experimental, still open to be renamed following discussion) file: 60ae1981d4 check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 13102
2017-11-09
15:47
Rebase branch to trunk. file: 14931b439f check-in: [f714eca8f2] user: dgp branch: dgp-refactor, size: 12626
2017-03-20
10:31
Merge trunk file: 3663d32abc check-in: [8accd6cd45] user: jan.nijtmans branch: novem, size: 13088
10:24
If compiled with TCL_NO_DEPRECATED, remove some more stub entries which are not used any more. file: 8af3090e91 check-in: [3651512988] user: jan.nijtmans branch: trunk, size: 13101
2016-11-28
16:24
merge novem file: 472c32e17d check-in: [676824c7c1] user: dgp branch: dgp-refactor, size: 12613
2016-11-21
10:40
Merge trunk. More internal use of size_t in stead of int (or long) file: 8f09b6a9e8 check-in: [b68c708bd6] user: jan.nijtmans branch: novem, size: 13097
10:15
More internal use of size_t in stead of int. file: 9fad4a0524 check-in: [ef4da65408] user: jan.nijtmans branch: trunk, size: 13110
2015-07-05
17:58
merge novem file: 90affb2a10 check-in: [a006f10aa9] user: dgp branch: dgp-refactor, size: 12608
2015-07-02
13:17
merge trunk file: 5c876d0f79 check-in: [cfb40a9761] user: jan.nijtmans branch: novem, size: 13092
12:54
Revert refcount changes that were not cosmetic. Changing equality testing to inequality testing does more than make code prettier or clearer. It makes it less strict, and thus more tolerant of other bugs elsewhere. Such changes deserve separate consideration at least, not breezy entry in an otherwise "code cleanup" commit. file: adc96b6a24 check-in: [33e894a6ee] user: dgp branch: trunk, size: 13105
08:42
merge trunk file: 5f6a00dd50 check-in: [4c0b0070c3] user: jan.nijtmans branch: novem, size: 13091
08:17
Another round of refCount consistancy improvements. file: 28339308ad check-in: [ec91b85b61] user: jan.nijtmans branch: trunk, size: 13104
2014-09-29
13:37
Rebase the refactoring branch to novem. file: 8053a73762 check-in: [663194637e] user: dgp branch: dgp-refactor, size: 12633
2013-09-12
23:34
Revise _Append and _Detach to return element pointers. file: 93534edae4 check-in: [e16c235651] user: dgp branch: dgp-refactor, size: 12646
2013-09-10
14:27
Convert more simple loops to iterate with pointers. file: b870cf3764 check-in: [5d6eec4b72] user: dgp branch: dgp-refactor, size: 12646
14:04
Convert first loop to iterate with a pointer. file: 51d33d6fbc check-in: [ad4af823bf] user: dgp branch: dgp-refactor, size: 12538
2013-09-09
18:46
Now that BA's retain an identity, stop returning them from routines. file: 9c2539cbb3 check-in: [a298d81f98] user: dgp branch: dgp-refactor, size: 12480
2013-02-19
15:47
Revise Append and Detach ops on BrodnikArray to work with pointers. This makes more data copying optional at the caller's discretion. file: e3bb01bccc check-in: [9215a31935] user: dgp branch: dgp-refactor, size: 12502
2013-02-08
15:14
merge trunk. Simplify Reference struct of tclPreserve.c. file: 497f2db4b3 check-in: [115adf7562] user: dgp branch: dgp-refactor, size: 12508
2013-02-07
21:27
Convert tclPreserve.c to use a BrodnikArray of Reference, primarily as a means to test the BrodnikArray implementation. Fix the avail housekeeping bug in Shrink exposed by this testing. file: 0d44d81bdf check-in: [fb7f9690ef] user: dgp branch: dgp-refactor, size: 12962
2013-01-02
14:49
remove the refcounts and NEW_PRESERVE from zippy: it only works for Tcl_Alloc'ed blocks, and is incompatible with the specs of Tcl_Preserve that allow preserving anything file: 462e0c64b2 check-in: [1cb98eb1b9] user: mig branch: mig-alloc-reform, size: 13210
2012-12-03
20:47
This branch explores the performance implications of relacing the dynamic array data structure underlying Tcl_Preserve/Release with a Tcl_HashTable, i.e a change from nominally O(n) to nominally O(1). In this initial work the Reference data structures are individually allocated and freed. A continuation may add a free-list of structures for quicker re-use without going through the memory manager. Other things we can explore here: Does it make sense to use TSD (i.e. Thread-Specific Data), to get rid of the mutex currently used in this subsystem ? Or even better, can we assume that preserved data is always tied to some interpreter, allowing us to tie the data structures here in the same manner ? Passes testsuite. Note: I have no specific benchmark here, only tclbench. Which makes it difficult to discern how much loss or gain we have. Looking over the table it seems to be roughly +/-0. Tools making the comparison of two tclbench results easier would be appreciated. file: 942b7cad45 check-in: [22f8fd36d9] user: andreask branch: novem-ak-preserve-experiments, size: 13600
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: c507590974 check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 13117
2011-08-02
11:18
merge trunk; FIXME: symbols=mem build broken file: 56c0704313 check-in: [384901c292] user: mig branch: mig-alloc-reform, size: 13263
2011-07-12
16:05
platform portable type matching in debug prints file: 1fbda13a8d check-in: [83d26b2944] user: dgp branch: trunk, size: 13130
2011-03-23
23:42
completely new Tcl_Preserve implementation under Zippy, should be *much* faster. Cost is loss of some mem usage stats for zippy. file: 0a1439b309 check-in: [a39cc6c970] user: mig branch: mig-alloc-reform, size: 13263
2011-03-12
15:06
Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts in rest of Tcl source code. No ABI change. API change *should* be harmless. file: 4e573246dd check-in: [5574bdd262] user: dkf branch: trunk, size: 13130
2011-03-02
20:27
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them (except in zlib files). file: 6b17746d4b check-in: [c64f310d38] user: dgp branch: trunk, size: 13249
16:06
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: 69f99bd3b4 check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 13334
2011-03-01
15:38
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: a501d5f8c1 check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 13333
2011-01-25
19:23
merge file: bf3103b26f check-in: [fae129cbce] user: dgp branch: dgp-refactor, size: 13326
07:17
Don't miss 64-bit address bits in panic message. file: 5b649e1a00 check-in: [8f2403f53e] user: nijtmans branch: trunk, size: 13326
2011-01-18
19:26
Brought no-nre v2 up-to-date with 8.6 head as of Jan 18 11:30 PST. file: 0136ea6eef check-in: [5b2d91d5e3] user: andreask branch: activestate-nre-excised-variant-2-subtracted, size: 13345
16:34
merge file: ff1c54b803 check-in: [a4ca4d6d4c] user: dgp branch: dgp-refactor, size: 13350
10:02
Various mismatches between Tcl_Panic format string and its arguments, discovered thanks to [Bug 3159920] file: ab43268e9b check-in: [6dd03122dc] user: nijtmans branch: core-8-5-branch, size: 13415
08:43
Various mismatches between Tcl_Panic format string and its arguments, discovered thanks to [Bug 3159920] file: 7565be37e6 check-in: [964a1a5a57] user: nijtmans branch: trunk, size: 13350
2010-11-18
10:11
Next slice. file: 0dc78d61c6 check-in: [16246c5c13] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 13325
2009-01-09
14:17
merge updates from HEAD file: 32cff4c2a2 check-in: [02f7c5c705] user: dgp branch: dgp-refactor, size: 13329
11:21
Style fixes (unfouling whitespace, sorting comments, removing useless casts, etc.) file: 2799b08ed5 check-in: [cd3c38f00a] user: dkf branch: trunk, size: 13325
2008-11-10
02:18
merge updates from HEAD file: 8938734955 check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 13384
2008-10-26
18:34
Style improvements - invoking callbacks without visual junk. file: d3a60395fc check-in: [a1a8afc25d] user: dkf branch: trunk, size: 13380
2007-04-08
14:58
Merge updates from HEAD; may not build file: 819699e641 check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 13390
2007-03-21
18:02
* generic/tclExecute.c: More ckalloc -> ckrealloc conversions. * generic/tclLiteral.c: * generic/tclNamesp.c: * generic/tclParse.c: * generic/tclPreserve.c: * generic/tclStringObj.c: * generic/tclUtil.c: file: 822c16bd2a check-in: [aa6b9bf6a4] user: dgp branch: trunk, size: 13386
2006-08-29
16:19
merge updates from HEAD file: 2eb2eedc2b check-in: [e1feeec3e7] user: dgp branch: dgp-refactor, size: 13672
2006-08-10
12:15
Various minor object file size efficiency fixes. [Bug 1530474] file: 0641347f12 check-in: [a09967381c] user: dkf branch: trunk, size: 13667
2005-12-02
18:42
merge updates from HEAD file: 1d93b21bee check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 13674
2005-11-07
15:12
ANSIfy file: 1837e41709 check-in: [611d25e47c] user: dkf branch: trunk, size: 13669
2005-08-02
18:14
merge updates from HEAD file: 8b9894a022 check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 13751
2005-07-26
04:11
Merge updates from HEAD file: cfe3642560 check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 13752
2005-07-24
22:56
Getting more systematic about style file: 65d79cc358 check-in: [83d72c558c] user: dkf branch: trunk, size: 13747
2005-07-12
20:35
merged changes from HEAD file: bafa0ad32e check-in: [5316ea45e0] user: kennykb branch: kennykb-numerics-branch, size: 13444
2005-07-05
15:09
Merge updates from HEAD file: 79e5ee3d8e check-in: [78384c0116] user: dgp branch: dgp-refactor, size: 13441
2005-06-24
20:07
cleanup Tcl_Preserve after exit handlers file: d43aade52e check-in: [3519b5327d] user: kennykb branch: trunk, size: 13440
18:21
finalize Tcl_Preserve after exit handlers file: 7feb047932 check-in: [7dafabb1d2] user: kennykb branch: core-8-4-branch, size: 13413
2004-02-07
05:47
Merge updates from HEAD Note that this branch currently does not fully support the new {expand} syntax. Updates to TclEvalScriptTokens and TclCompileScriptTokens are still to come. file: 13d9ec25f3 check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 13718
2003-12-24
04:18
All uses of 'panic' (the macro) changed to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264] file: 98963e4361 check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 13718
2003-08-07
21:35
Merged changes from HEAD file: a308c545f5 check-in: [9658ec795f] user: dgp branch: dgp-refactor, size: 13686
2003-07-16
21:25
* generic/tclPreserve.c: In Result and Preserve'd routines, do not * generic/tclUtil.c: assume that ckfree == free, as that is not * generic/tclResult.c: always true. [Bug 756791] (fuller) file: a56fb2dc2e check-in: [bb94a3e510] user: hobbs branch: core-8-4-branch, size: 13688
21:24
* generic/tclPreserve.c: In Result and Preserve'd routines, do not * generic/tclUtil.c: assume that ckfree == free, as that is not * generic/tclResult.c: always true. [Bug 756791] (fuller) file: 6b51bc1d4a check-in: [059ed80454] user: hobbs branch: trunk, size: 13683
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: 4f49edd09a check-in: [f3b32fb71c] user: stanton branch: trunk, size: 13796
1999-03-11
19:28
Deleted: Add documentation for Tcl_GetVersion() check-in: [940e47cf48] user: redman branch: scriptics-tclpro-1-2, size: 0
1998-12-12
01:36
Minor change to Lock Declarations to use TCL_DECLARE_MUTEX macro, published in tcl.h. file: 16a2f02ca5 check-in: [c778c9ef5e] user: lfb branch: core-8-1-branch-old, size: 13796
1998-12-10
21:21
* Fixed lots of files that used TCL_THREAD instead of TCL_THREADS. * generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code into a static FreeEncoding routine that does not grab the encodingMutex to avoid deadlocks/races when called from other routines that already have the mutex. file: 59e1221a48 check-in: [09f356baa2] user: stanton branch: core-8-1-branch-old, size: 13826
1998-11-11
04:54
lots of lint wrapped mutex declarations in ifdefs to avoid compiler warnings file: bfa0ae59ad check-in: [9535a849c1] user: stanton branch: core-8-1-branch-old, size: 13825
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: 7bc2159eb7 check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 13800
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: 3fe738e6d6 check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 13775
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: bc127ce9d7 check-in: [196f92fd17] user: stanton branch: trunk, size: 7230
1998-03-26
14:45
Added: Initial revision file: 8e4549c6a3 check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 7209