Tcl Source Code

All files named "generic/tclIO.c"
Login

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

History for generic/tclIO.c

2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: [688b2496e1] check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 321897
2024-04-19
13:34
Merge 9.0 file: [9922a2cb41] check-in: [e8fafa419a] user: jan.nijtmans branch: tip-626, size: 321870
13:32
Rebase to 9.0 file: [4f50cff7ea] check-in: [dc4edc0144] user: jan.nijtmans branch: bug-18f4a94d03, size: 320409
13:23
Merge 8.7 file: [d678e37c13] check-in: [41ac78bd66] user: jan.nijtmans branch: main, size: 321865
12:36
Merge 8.6 file: [14363174d1] check-in: [95cc4a3738] user: jan.nijtmans branch: core-8-branch, size: 327528
11:48
More code cleanup, backported from 8.7 file: [1288ff295e] check-in: [748946df7d] user: jan.nijtmans branch: core-8-6-branch, size: 314934
09:37
Merge 9.0 file: [f182b6d4f7] check-in: [49981a1ec1] user: jan.nijtmans branch: tip-626, size: 321951
08:22
Merge 8.7 (more indenting) file: [1b474bc52e] check-in: [ad350b1aa5] user: jan.nijtmans branch: main, size: 321946
08:15
More indenting file: [883a574970] check-in: [9a45160d30] user: jan.nijtmans branch: core-8-branch, size: 327609
08:12
(backport) Fix indenting file: [dca3a479c4] check-in: [c3b5ee0e35] user: jan.nijtmans branch: core-8-branch, size: 328617
08:00
Fix indenting file: [2547af99d8] check-in: [2ac5b24c75] user: jan.nijtmans branch: main, size: 322905
2024-04-18
18:34
Rebase to 9.0 file: [65b0fc3495] check-in: [d42b38aa43] user: jan.nijtmans branch: bug-18f4a94d03, size: 321449
15:32
Fix [18f4a94d03] by backing out [9bcec7cd880540c3] (again) file: [9c10aeb1cf] check-in: [a2633b5cc5] user: jan.nijtmans branch: bug-18f4a94d03, size: 327161
15:25
Merge 8.7 file: [99deed649a] check-in: [d6f9aacbe7] user: jan.nijtmans branch: main, size: 322905
15:22
Merge 8.6 file: [0465316812] check-in: [3b1ba17e3a] user: jan.nijtmans branch: core-8-branch, size: 328617
15:06
Tidy up some indentation and other little code style issues file: [fab735f259] check-in: [cb11914788] user: dkf branch: tidy-indentation, size: 322924
14:38
Reduce the diff between 8.6 and 8.7, by backporting some formatting/restructuring. No functional change. file: [1ae593e8e2] check-in: [36360649be] user: jan.nijtmans branch: core-8-6-branch, size: 315955
2024-04-14
14:05
Merge 9.0 file: [195e64fc30] check-in: [1861587f45] user: jan.nijtmans branch: tip-626, size: 322929
2024-04-11
14:24
Merge 8.7 file: [f37b09fd0f] check-in: [6bab8cce28] user: jan.nijtmans branch: main, size: 322924
14:09
Merge 8.7 file: [8f29d0c1b6] check-in: [93e55377dc] user: jan.nijtmans branch: main, size: 322937
13:22
(cherry-pick): Possibly a fix for [080f846fd58958ef]: When updating the interest of a channel, don't schedule the channel handler timer if a nonblocking channel doesn't yet have a buffer or if the buffer is empty or overflowing. Where asynchronous connection state is concerned, this should mean that the time won't be scheduled if the initial connection isn't established. file: [5c0362b900] check-in: [1cc41db97a] user: jan.nijtmans branch: core-8-branch, size: 328637
13:15
Merge 8.6. Use Tcl_NewBooleanObj for booleans; we should say what we mean file: [ded96ac2f1] check-in: [c6d3960498] user: jan.nijtmans branch: core-8-branch, size: 328509
12:35
Use Tcl_NewBooleanObj for booleans; we should say what we mean. Fix sentinels and type-casts. file: [f2bf2eb8ef] check-in: [e75d7ff329] user: jan.nijtmans branch: core-8-6-branch, size: 316096
2024-04-04
11:50
Possibly a fix for [080f846fd58958ef]: When updating the interest of a channel, don't schedule the channel handler timer if a nonblocking channel doesn't yet have a buffer or if the buffer is empty or overflowing. Where asynchronous connection state is concerned, this should mean that the time won't be scheduled if the initial connection isn't established. file: [69d39b78e0] check-in: [70a407c245] user: pooryorick branch: main, size: 322937
2024-04-01
20:48
Merge 9.0 file: [c1c2a277a6] check-in: [d4eee66f60] user: jan.nijtmans branch: tip-626, size: 322801
00:23
Fix for [ac7592e73c10d04b], Idle events are never processed when a "writable" handler on a nonblocking channel dominates the event queue. file: [7162b7ec60] check-in: [b2d083e9e0] user: pooryorick branch: bug-ac7592e73c10d04b, size: 322552
2024-03-31
13:22
One more place to disable writable polling timer file: [65e76bc477] check-in: [bee0a0598a] user: apnadkarni branch: apn-bug-de232b49f2, size: 322806
2024-03-30
10:52
Refchan not generating write events file: [c11bb065cd] check-in: [4953552214] user: apnadkarni branch: apn-bug-de232b49f2, size: 322801
2024-03-21
13:55
Merge 8.7. Tcl_GetStringFromObj() -> TclGetStringFromObj() (optimization) file: [1b0c1964c4] check-in: [28e5e230b6] user: jan.nijtmans branch: main, size: 322796
12:57
Formatting/indenting file: [4f3ad992ce] check-in: [1dd169510a] user: jan.nijtmans branch: core-8-branch, size: 328509
2024-03-20
14:27
Merge 9.0 file: [3a28837858] check-in: [4271f3b52a] user: jan.nijtmans branch: tip-626, size: 322801
2024-03-19
17:09
more spacing/formatting tweaks file: [bea558155e] check-in: [9a59cf8499] user: dkf branch: main, size: 322801
14:56
Fix indentation/brace usage style issues file: [a86c7a1908] check-in: [1fbff64078] user: dkf branch: main, size: 322839
2024-03-13
17:11
Merge 9.0 file: [6c056749af] check-in: [a29cf046b8] user: jan.nijtmans branch: tip-626, size: 322882
09:45
Restore TclListObjLength()/TclListObjGetElements() macro's, as they were in 8.6 file: [f9d9149b03] check-in: [c575f9dc00] user: jan.nijtmans branch: core-8-branch, size: 328554
2024-03-12
21:24
Restore TclListObjGetElements()/TclListObjLength() as they were in 8.6 too. file: [d68979c295] check-in: [63d442cdc0] user: jan.nijtmans branch: main, size: 322877
2024-03-05
22:03
Merge 9.0 file: [08245b31ca] check-in: [693ed4eabc] user: jan.nijtmans branch: tip-626, size: 322883
2024-02-21
23:14
Remove some dead code file: [6e12f8e38c] check-in: [8414d81893] user: jan.nijtmans branch: main, size: 322878
2024-02-14
16:05
offsetof -> TclOffset file: [03c6be13ec] check-in: [b554b84d1a] user: jan.nijtmans branch: core-8-6-branch, size: 316056
2024-01-31
10:19
Merge 9.0 file: [215d790ad2] check-in: [9c2f43c8b7] user: jan.nijtmans branch: tip-626, size: 323305
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: [4100b36d64] check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 323272
2024-01-29
15:42
merge 8.7 file: [16b3272896] check-in: [a4f2b18577] user: sebres branch: main, size: 323300
15:26
merge 8.6 file: [b78b2a6758] check-in: [902ceac239] user: sebres branch: core-8-branch, size: 328555
13:55
closes [db4f2843cd]: fixes SF by BO in ReadChars (and Tcl_ReadChars with append) caused by wrong buffer enlarge if objPtr shimmering to unicode for whatever reason, since Tcl_AppendToObj prefers unicode to bytes, whereas TclAppendUtfToUtf always extend bytes (that handled by ReadChars) file: [4b47c6801e] check-in: [37e659d589] user: sebres branch: fix-db4f2843cd, size: 316055
2024-01-22
22:30
Possible workaround for [db4f2843cd]. Would this help? file: [a097594a4d] check-in: [100933523c] user: jan.nijtmans branch: bug-db4f2843cd, size: 316091
2023-12-08
15:23
Merge 9.0 file: [d8eb5de7ac] check-in: [ee63257ca1] user: jan.nijtmans branch: tip-626, size: 323245
2023-12-06
17:35
merge 8.7 (fix for [db4f2843cd]) file: [67089a4f83] check-in: [f4c0d899fb] user: sebres branch: main, size: 323240
17:34
merge 8.6 (fix for [db4f2843cd]) file: [07a2de7c1d] check-in: [c001bf4f58] user: sebres branch: core-8-branch, size: 328495
2023-12-05
22:42
closes [db4f2843cd]: fixes SF by BO in ReadChars (and Tcl_ReadChars with append) caused by wrong buffer enlarge if objPtr shimmering to unicode for whatever reason, since Tcl_AppendToObj prefers unicode to bytes, whereas Tcl_SetObjLength prefers bytes (like the ReadChars) file: [8e47d19775] check-in: [cc90065303] user: sebres branch: fix-db4f2843cd, size: 315995
2023-11-24
13:28
Merge 9.0 file: [2a5f161a6a] check-in: [96e43e34f3] user: jan.nijtmans branch: tip-626, size: 323239
2023-11-20
13:55
Fix bug [a173f922]: fcopy does not write leading correct chars on later encoding error. file: [ea9e58b07c] check-in: [e73f1f5bfd] user: oehhar branch: main, size: 323234
13:32
Merge core-8-branch file: [cd54702d3a] check-in: [9a7d12b797] user: oehhar branch: bug-a173f922-fcopy-tell, size: 328489
13:15
Bug [a173f922]: fix bug: fcopy does not write leading correct chars on later encoding error. file: [5ac94d6585] check-in: [b9f611b9a0] user: oehhar branch: bug-a173f922-fcopy-tell, size: 327947
2023-11-18
23:36
TIP #653: Handle consumed data of channel commands in case of encoding errors file: [6ab8fb060a] check-in: [8acd6fd939] user: jan.nijtmans branch: main, size: 322611
2023-11-16
23:21
Revise macro usage file: [6abc1ae021] check-in: [b7e48b4f00] user: jan.nijtmans branch: main, size: 322062
2023-11-15
08:28
Merge 8.7 file: [433abafd8b] check-in: [95d8ab34f6] user: jan.nijtmans branch: main, size: 322063
2023-11-14
11:07
Add test for blocking mode file: [2fdc7c4569] check-in: [648e73b3a6] user: jan.nijtmans branch: tip-653, size: 327866
2023-11-13
16:19
Bug [c4eb46a1]: endless loop on non blocking gets with encoding error. No additional failing tests. file: [92199134ae] check-in: [054ebbf73b] user: oehhar branch: main, size: 322069
12:48
Bug [c4eb46a1]: non-blocking gets fires the error on 2nd call when sequence is incomplete. Added some test cases. file: [363d7e5ef1] check-in: [dbcafe5259] user: oehhar branch: bug-c4eb46a1, size: 327324
2023-11-12
18:55
Bug [c4eb46a1]: endless loop on gets, non blocking, profile strict, encoding error: remove non-blocking exit condition and add test case file: [69ec8b8b72] check-in: [831c9a8797] user: oehhar branch: bug-c4eb46a1, size: 327078
2023-11-10
13:12
Rebase to latest 9.0 file: [9851551e48] check-in: [0797156bae] user: jan.nijtmans branch: tip-657, size: 321369
2023-11-08
09:12
Tcl_GetByteArrayFromObj -> Tcl_GetBytesFromObj everywhere in core, since it has the possibility of better error-reporting. This fixes the -DTCL_NO_DEPRECATED build failure file: [a5f42aee2b] check-in: [3d21abe846] user: jan.nijtmans branch: main, size: 321971
2023-11-02
17:00
Merge main file: [c779302373] check-in: [e85a6745f5] user: oehhar branch: tip-657, size: 321359
2023-10-29
22:07
Merge 8.7 file: [fc2390cbbd] check-in: [9f8058cbff] user: jan.nijtmans branch: main, size: 321961
22:02
Merge 8.6 file: [ebd0b7e0de] check-in: [64a951e3dc] user: jan.nijtmans branch: core-8-branch, size: 326624
21:45
Fix [0219fb7511]: tclIO.c: avoid -Wstrict-prototypes warning. Some code cleanup file: [bcc1000f1a] check-in: [c82b6d45b2] user: jan.nijtmans branch: core-8-6-branch, size: 315989
2023-10-22
19:56
Merge 9.0 file: [e198e02d36] check-in: [f107021263] user: jan.nijtmans branch: tip-626, size: 321965
2023-10-21
06:09
Merge 8.7 - Bug [33b2486199] - thread create/release unmounts zipfs file: [bb326f9f2a] check-in: [6afcffcb66] user: apnadkarni branch: main, size: 321960
04:14
Move zipfs finalization to TclFinalizeFilesystem file: [83932e6568] check-in: [e0c1a7b07f] user: apnadkarni branch: bug-33b2486199, size: 326607
2023-10-19
18:48
Merge 8.7 file: [2cd042fd82] check-in: [f67f60d202] user: jan.nijtmans branch: main, size: 321984
2023-10-17
06:02
Handle sentinels for any C++ compiler file: [2333445835] check-in: [6876d1f99a] user: jan.nijtmans branch: bug-26870862f0, size: 326631
2023-10-06
17:03
Merge 9.0 file: [1ad4b1a765] check-in: [7d52993233] user: jan.nijtmans branch: tip-626, size: 321949
2023-09-30
03:51
Merge 8.7 - Fix [8259d74a64] - panic on exit file: [eac45bcfb8] check-in: [a48f311a78] user: apnadkarni branch: main, size: 321944
2023-09-29
16:39
Refactor zipfs finalization file: [c2772be8d0] check-in: [b18fa0f371] user: apnadkarni branch: bug-8259d74a64, size: 326591
07:51
Merge 9.0. Make stderr channel -profile replace file: [4477e6513a] check-in: [51dccaaeb4] user: jan.nijtmans branch: tip-657, size: 321319
2023-09-25
07:17
Merge 8.7 (2023-05-03) file: [fa70ae049c] check-in: [d91f112024] user: jan.nijtmans branch: tip-656-simpl, size: 326980
2023-07-26
11:29
Rebase to 8.7 file: [86a018fead] check-in: [6ed8dddae4] user: jan.nijtmans branch: tip-666, size: 326568
2023-06-21
07:33
Merge 9.0 file: [fd8e4c6c2d] check-in: [db89a8f843] user: jan.nijtmans branch: tip-626, size: 321926
2023-06-18
21:30
Merge trunk-encoding-defaultstrict [c499122331]. file: [57af713103] check-in: [22400aa71b] user: pooryorick branch: unchained, size: 322129
2023-06-12
22:45
Merge 9.0 file: [905832fd0c] check-in: [2a8e051165] user: jan.nijtmans branch: tip-657, size: 320852
10:19
Merge trunk [7dc0ea8ca5]. file: [9aa35bffc6] check-in: [c499122331] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322162
04:10
Revert unwarranted change in Tcl_CreateChannel() from [1776327edd]. file: [e377081e84] check-in: [f413252375] user: pooryorick branch: main, size: 321921
2023-06-11
20:21
Merge trunk [402ff62239]. file: [c518090f46] check-in: [5fd8267c8a] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322260
19:41
Merge trunk [3389fba412]. file: [7e35a55fa3] check-in: [09a7091246] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322305
07:29
Merge trunk [20891426a8]. file: [616f7f377e] check-in: [56d7f41983] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322305
2023-06-01
21:36
Merge 9.0 file: [1cf42dde9b] check-in: [941600cdb3] user: jan.nijtmans branch: tip-626, size: 321920
2023-05-30
12:22
Merge 8.7 file: [02d6e01e9f] check-in: [1776327edd] user: jan.nijtmans branch: main, size: 321915
11:25
Backport IO-related changes from Tcl 9.0. Needed for preparation of TIP #653 file: [3378dde9d2] check-in: [6165bc074f] user: jan.nijtmans branch: core-8-branch, size: 326567
2023-05-12
09:34
Merge 9.0 file: [485df9691c] check-in: [c1e4ff0616] user: jan.nijtmans branch: tip-626, size: 322024
2023-05-11
21:47
Merge trunk [05eeae5d67] and resolve conflicts. file: [9501edacc3] check-in: [ea8f3cd359] user: pooryorick branch: unchained, size: 322227
15:30
Restore warning-free compilation with C++ compiler file: [75d8b9b13d] check-in: [9a4d14e5dc] user: jan.nijtmans branch: main, size: 322019
13:08
Fix Valgind report of still reachable blocks in aaa_exit.test and other test files. file: [3c4a77cca0] check-in: [a82bb79e8c] user: pooryorick branch: main, size: 322011
2023-05-10
15:37
Rebase to latest 8.7 file: [7adba329f8] check-in: [11d97e377e] user: jan.nijtmans branch: tip-666, size: 326539
2023-05-09
16:11
Left-over TCL_ENCODING_STRICT, not used any more. Add "-profile tcl8" for testcases which don't work in strict profile file: [43c2ac9972] check-in: [c7d09172e8] user: jan.nijtmans branch: main, size: 322069
2023-05-07
19:53
Merge 9.0 file: [c501706721] check-in: [a3731b569f] user: jan.nijtmans branch: tip-626, size: 322069
2023-05-05
06:18
Remove more ... to be split off in separate TIP's file: [f614e3f41f] check-in: [396e2bbc01] user: jan.nijtmans branch: tip-657, size: 321999
2023-05-04
20:26
Make some tests select an encoding profile instead of relying on the default. file: [8fb532c883] check-in: [3389fba412] user: pooryorick branch: main, size: 322064
19:53
Tcl_InputEncodingError() -> TclInputEncodingError. It will be split off in a separate TIP file: [cb21a1f7ba] check-in: [b907108f27] user: jan.nijtmans branch: tip-657, size: 322723
13:22
Merge 9.0 file: [2b77061838] check-in: [07e3049227] user: jan.nijtmans branch: tip-626, size: 322058
06:44
Some int -> Tcl_Size. Remove unnecessary knownBug constraint file: [5a251c0b21] check-in: [5f27b0bb4a] user: jan.nijtmans branch: tip-657, size: 322725
2023-05-03
15:59
Merge 8.7 file: [c7701dee2a] check-in: [20891426a8] user: jan.nijtmans branch: main, size: 322053
11:31
Merge [842b3b3949]. file: [f2cc82ee78] check-in: [c3278e757b] user: pooryorick branch: unchained, size: 322276
09:20
Merge 9.0 file: [ce9e8fe1ff] check-in: [583c71a819] user: jan.nijtmans branch: tip-657, size: 322721
07:04
Merge 9.0 file: [31877a9b93] check-in: [db15a1e038] user: jan.nijtmans branch: tip-626, size: 322062
07:03
Merge 9.0 file: [15059f3f9f] check-in: [17486d3dce] user: jan.nijtmans branch: tip-626, size: 322238
04:03
Changed CHANNEL_PROFILE_* to ENCODING_PROFILE_* and moved out of tclIO.h. See below.

For whatever reason, these macros were renamed and moved to tclIO.h post-660. This is inappropriate as those macros deal with *encoding* flags, not *channel* flags and have relevance outside of I/O making their renaming inappropriate. Further putting them in tclIO.h forces inclusion of that header in modules that do not otherwise need that header. file: [5838c465d3] check-in: [b9aee6a781] user: apnadkarni branch: main, size: 322057

03:31
Changed CHANNEL_PROFILE_* to ENCODING_PROFILE_* and moved out of tclIO.h. See below.

For whatever reason, these macros were renamed and moved to tclIO.h post-660. This is inappropriate as those macros deal with *encoding* flags, not *channel* flags and have relevance outside of I/O making their renaming inappropriate. Further putting them in tclIO.h forces inclusion of that header in modules that do not otherwise need that header. file: [e2bea474e9] check-in: [8cf18cec8c] user: apnadkarni branch: core-8-branch, size: 326538

2023-05-02
21:50
Fix for [0306a5563c]. file: [519cf3474c] check-in: [36eb6e3921] user: pointsman branch: bug-0306a5563, size: 322035
2023-04-28
23:57
Remove all code related to TCL_NO_DEPRECATED, and some related to TCL_MAJOR_VERSION. file: [d1e358e8d1] check-in: [a2e5794d46] user: pooryorick branch: unchained, size: 322452
09:03
Merge trunk. file: [b1f3a6a45e] check-in: [38d72f7adb] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322485
2023-04-26
15:53
More size_t -> Tcl_Size changes, which were missed before. Also (experimental) make the wrapper macro's produce compiler warnings is Tcl_Size is not used. file: [17d44b6147] check-in: [0c6c1aba8d] user: jan.nijtmans branch: tip-660-continued, size: 322233
2023-04-23
18:14
That fixes the examples given in [0306a5563c]. Needs more consideration before claim success. file: [abf0f8ddf7] check-in: [1cf1f44a14] user: pointsman branch: bug-0306a5563c, size: 322253
11:48
merge trunk [f867f44c9c]. file: [c2e49465b4] check-in: [be70a97e6d] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322481
2023-04-21
21:31
Merge 9.0 file: [666a850f17] check-in: [f1cb9fbb82] user: jan.nijtmans branch: tip-657, size: 322699
13:32
Merge 9.0 file: [dbc49b6a5a] check-in: [b732c118b6] user: jan.nijtmans branch: tip-626, size: 322234
2023-04-20
16:53
Merge 9.0 file: [1d504a6a65] check-in: [aa3e7e529f] user: jan.nijtmans branch: tip-626, size: 322574
2023-04-19
19:36
TIP 660 changes to stop warnings in --enable-symbols=mem build. file: [ce11265346] check-in: [5406686e2d] user: dgp branch: main, size: 322229
12:20
Fossil merge [1842599320]: TIP 660 accepted. file: [31f20c76fe] check-in: [2ae62e3581] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322479
12:15
Merge trunk [883464ea32]. file: [c617cb3d1c] check-in: [b5d4c2af53] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322821
07:43
Merge trunk [f9c8bbde44]. file: [87ebda5b43] check-in: [3237cee77c] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322734
07:17
Merge trunk [433637e689]. file: [52a0cc05ba] check-in: [13903d9907] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322675
02:00
Merge trunk file: [7d54aa8943] check-in: [5ad7c7b96d] user: apnadkarni branch: tip-660, size: 322227
2023-04-18
23:22
Merge trunk [f9a80c2c9e]. file: [8d826d0b93] check-in: [2623ae23f1] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322680
22:56
Merge trunk [4fc1f701cc] and resolve conflicts. file: [a34b58cd7b] check-in: [83afff3fa5] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322678
22:35
In DoReadChars() reset CHANNEL_ENCODING_ERROR instead of CHANNEL_BLOCKED. file: [09255fb584] check-in: [883464ea32] user: pooryorick branch: main, size: 322569
22:00
Fix for [25cdcb7e8fb381fb]: Incomplete utf-8 sequence followed by eofchar results in failed assertion. file: [a639bcd898] check-in: [a02c5b9f8b] user: pooryorick branch: main, size: 322562
21:38
TIP #660, merge trunk, replace testscases with trunk testcases file: [dbb470d1ca] check-in: [ae89fcb5d3] user: jan.nijtmans branch: tip-660-with-trunk-testcases, size: 322133
21:24
Merge 9.0 file: [f0f52b0f72] check-in: [e72d7af6af] user: jan.nijtmans branch: tip-626, size: 322478
21:16
Eliminate unnecessary clearance of CHANNEL_STICKY_EOF flag. file: [b79263d2f9] check-in: [af256f4469] user: pooryorick branch: main, size: 322475
21:05
Merge 9.0 file: [7dcb439909] check-in: [7275b67ac4] user: jan.nijtmans branch: tip-657, size: 322952
15:47
Merge 9.0 file: [ec66314c93] check-in: [8013020fec] user: jan.nijtmans branch: tip-626, size: 322497
15:32
Merge trunk [0d197907c6]. file: [429f452d7e] check-in: [17172e8451] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322826
13:24
Merge trunk [e7fcdb7611]. file: [5059182a40] check-in: [c9295cbf48] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321791
12:24
Merge trunk [79cd3ac351]. file: [50a8daf3f7] check-in: [518b6086eb] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321902
12:12
Merge trunk [78beedf7e2] and resolve conflicts. file: [bef6577b09] check-in: [fde2438f84] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321962
11:39
Merge trunk [c8983a2a94] and resolve conflicts. file: [5d024eb907] check-in: [729ef5d2e8] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321805
10:47
Correct CHANNEL_BLOCKED to CHANNEL_ENCODING_ERROR in Tcl_GetsObj(). file: [04aaedf97e] check-in: [93b31fac43] user: pooryorick branch: main, size: 322494
02:55
Merge trunk file: [bff9ba76a0] check-in: [0a224d1449] user: apnadkarni branch: tip-660, size: 322145
2023-04-17
21:33
Merge trunk [49a4c8f8fb], "TIP 656 accepted", and resolve conflicts. file: [93cc0d74ff] check-in: [ab0512022f] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322030
20:45
Merge 8.7 file: [a7b3fc7dd0] check-in: [e918b7f8d1] user: jan.nijtmans branch: tip-657-backport, size: 327369
18:56
Merge 9.0 file: [a133c2cb29] check-in: [f91f1fdfd8] user: jan.nijtmans branch: tip-626, size: 322490
18:53
Merge 9.0 file: [4bbaa4c31e] check-in: [f4b917d87b] user: jan.nijtmans branch: tip-626, size: 322357
13:30
Merge trunk [31788d9a4b] and resolve conflicts. file: [cfe49d9960] check-in: [04c47a8fd6] user: pooryorick branch: trunk-encodingdefaultstrict, size: 322676
10:58
Merge trunk [498ef65f88] and resolve conflicts. file: [1304b5b1ae] check-in: [254c2ccb8c] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321706
2023-04-16
23:10
Fix for [eabcbd08274f2d22], [read] error persists on channel with strict encoding after encoding is changed to binary. file: [eee9fccc82] check-in: [3fa3d48874] user: pooryorick branch: main, size: 322487
17:07
Merge trunk [f868c40053] and resolve conflicts. file: [d4dd579f1d] check-in: [bd3f3d1df2] user: pooryorick branch: trunk-encodingdefaultstrict, size: 321014
08:29
Merge trunk [2d036d968c] and resolve issues. file: [35fecc718d] check-in: [d4855bec2a] user: pooryorick branch: trunk-encodingdefaultstrict, size: 320547
08:01
Merge trunk file: [946ef8ed86] check-in: [5bbb59e590] user: apnadkarni branch: tip-660, size: 322012
2023-04-15
23:50
Merge trunk [f118b6370b]. file: [22a5e35f43] check-in: [763611b6f9] user: pooryorick branch: trunk-encodingdefaultstrict, size: 320230
22:52
Merge trunk [f9cdaa50ad]: First part of fix for [4a7397e0b3]. Not complete yet. file: [218fa0b8a8] check-in: [039abf675c] user: pooryorick branch: trunk-encodingdefaultstrict, size: 320281
22:14
Merge 8.7 file: [94a156e71d] check-in: [181ea9e540] user: jan.nijtmans branch: tip-657-backport, size: 327154
22:11
Fix indenting file: [582397e50e] check-in: [4d28b47d9f] user: jan.nijtmans branch: main, size: 322354
21:14
Merge 9.0 file: [af1fc876c1] check-in: [d03d816a5e] user: jan.nijtmans branch: tip-657, size: 322878
11:54
Fix for [a7a89d422a4f5dd3], Under strict encoding, [gets] returns an error instead of returning the second line. Also, ensure that position in file does not change if [gets] return an error. file: [b08018ccbe] check-in: [d481d08ed9] user: pooryorick branch: main, size: 322353
2023-04-14
15:01
Merge trunk file: [9e618b11a7] check-in: [e36ab1e9ba] user: apnadkarni branch: tip-660, size: 321849
10:27
Merge 8.7 file: [aec98d457c] check-in: [8b54565968] user: jan.nijtmans branch: tip-656-simpl, size: 326949
09:12
Merge 9.0 file: [0c6586a8f8] check-in: [f041e13465] user: jan.nijtmans branch: tip-626, size: 322194
07:21
Fix for [0cd1ae596e709259], under strict encoding, [gets] returns an error even though a complete line is available. file: [dc0bc42dab] check-in: [67baae2829] user: pooryorick branch: main, size: 322143
07:03
Merge 9.0 file: [0cd8a09f74] check-in: [27a21d05e7] user: jan.nijtmans branch: tip-657, size: 322810
2023-04-13
07:16
Remove last reference to -nocomplainencoding and fix some spelling errors. file: [4a5f2def24] check-in: [0acfab7ee3] user: pooryorick branch: main, size: 322191
06:18
Merge 8.7 file: [c1e628cde1] check-in: [4fc1f701cc] user: jan.nijtmans branch: main, size: 322189
06:16
cherry-pick from trunk: Remove one unnecesary call to Tcl_SetErrno() in DoReadChars(). file: [8626616a4a] check-in: [935954e4d4] user: jan.nijtmans branch: core-8-branch, size: 326526
00:12
Remove one unnecesary call to Tcl_SetErrno() in DoReadChars(). file: [89967ceb5e] check-in: [77c37636f0] user: pooryorick branch: main, size: 322191
2023-04-12
22:41
Merge 9.0 file: [e1c4e17156] check-in: [032889f9a1] user: jan.nijtmans branch: tip-657, size: 322693
21:32
Merge 8.7 file: [13b2b30f49] check-in: [f1990237b5] user: jan.nijtmans branch: tip-657-backport, size: 327042
20:39
Remove unnecessary generation of string representation in DoReadChars. file: [ca7bc25180] check-in: [ff859d0ece] user: pooryorick branch: main, size: 322074
19:52
Cherry-pick: Rearrange code blocks in DoReadChars to do less work when returning early file: [7de783240d] check-in: [db10185730] user: jan.nijtmans branch: core-8-branch, size: 326414
18:37
Rearrange code blocks in DoReadChars to do less work when returning early. file: [012042e35f] check-in: [baba91fff4] user: pooryorick branch: main, size: 322339
14:25
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [1236f2dd50] check-in: [d65da06a77] user: pooryorick branch: main, size: 322334
13:30
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [ba6cd6afc0] check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 326165
09:35
Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: [6414d91b09] check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 316007
2023-04-08
08:22
Merge 9.0 file: [80d8cbd272] check-in: [33a8c620c8] user: apnadkarni branch: tip-660, size: 321980
2023-04-06
16:10
Make Tcl_Size signed by default, but allow extension to make it unsigned (experimental) file: [cd7a28cb4f] check-in: [4f88786745] user: jan.nijtmans branch: optional-unsigned-size, size: 322336
10:03
Further fix for [fa3d9fd818fa0072]. In ChannelState.encoding, NULL no longer represents the binary encoding. file: [3158a0abd6] check-in: [39a45eb8ff] user: pooryorick branch: bug-fa3d9fd818fa0072, size: 322322
2023-04-05
15:56
Merge 9.0 file: [aab20ae46c] check-in: [3b3d635da5] user: jan.nijtmans branch: tip-657, size: 322508
04:47
Merge 9.0 file: [af4106d945] check-in: [fb8da0d00c] user: apnadkarni branch: tip-660, size: 321547
2023-04-04
22:37
Merge 9.0 file: [1e678f9459] check-in: [fffcf23daf] user: jan.nijtmans branch: tip-626, size: 321892
22:10
Merge 9.0 file: [ec94363a84] check-in: [6e9b08b3ea] user: jan.nijtmans branch: optional-signed-size, size: 321903
20:50
more progress file: [d98acb7e78] check-in: [4e36871191] user: jan.nijtmans branch: optional-signed-size, size: 321313
16:26
Fix for [9ca87e6286262a62], sync fcopy buffers input in ReadChars(). file: [b985b63c1d] check-in: [ab027cdce4] user: pooryorick branch: core-8-branch, size: 326153
2023-04-03
20:58
Fix for [fa3d9fd818fa0072], [fcopy $chan1 $chan2 -size $size] is not [puts -nonewline $chan2 [read $chan1 -size $size]. file: [cb71960dbc] check-in: [704a7e8389] user: pooryorick branch: bug-fa3d9fd818fa0072, size: 321889
17:12
Fix for [9ca87e6286262a62], sync fcopy buffers input in ReadChars(). file: [2bf1572dcf] check-in: [9498359f85] user: pooryorick branch: bug-9ca87e6286262a62f, size: 321438
2023-04-02
21:49
Merge 9.0. Add some more utility macro's file: [c8166dd496] check-in: [4bedba476d] user: jan.nijtmans branch: optional-signed-size, size: 321286
2023-04-01
10:27
Merge 9.0 file: [fd34bc6b9e] check-in: [4dbed74737] user: jan.nijtmans branch: tip-660, size: 320957
10:26
Merge 8.7 file: [2aabd96581] check-in: [935c9da508] user: jan.nijtmans branch: tip-657-backport, size: 326642
2023-03-31
22:10
Merge 9.0 file: [324695f2fc] check-in: [c5a1a23ae4] user: jan.nijtmans branch: tip-626, size: 321302
22:05
Rebase to 9.0 file: [eeec584bcc] check-in: [4010f50f55] user: jan.nijtmans branch: tip-657, size: 321918
21:02
Rebase to latest trunk. More progress file: [90640d150a] check-in: [642a10ed40] user: jan.nijtmans branch: optional-signed-size, size: 321518
19:24
Backport CHANNEL_PROFILE_GET() usage fix from 9.0 file: [dc4bcb21a2] check-in: [c3f59ed8d5] user: jan.nijtmans branch: core-8-branch, size: 326014
19:14
Correct other CHANNEL_PROFILE_GET() usage as well, which had the same error. Further on: 1) profile in inputEncodingFlags is always equal to profile in outputEncodingFlags, so we only have to test one of them 2) We copy from inputchannel to outputchannel, so we - really - only have to test inStatePtr->inputEncodingFlags and outStatePtr->outputEncodingFlags. 3) In Tcl 9 we only want to set sameencoding when both channels are in tcl8 mode file: [485fc81139] check-in: [e7fcdb7611] user: jan.nijtmans branch: main, size: 321299
18:56
Fix TclCopyChannel() incorrect use of CHANNEL_PROFILE_GET(). file: [1a7606e7f7] check-in: [e2a0960130] user: pooryorick branch: main, size: 321596
11:16
Merge 8.7 file: [3adc4f6a5a] check-in: [cb00487e37] user: jan.nijtmans branch: main, size: 321387
2023-03-30
22:27
Merge 9.0 file: [3b7751cfd2] check-in: [25dd65ee5c] user: jan.nijtmans branch: tip-657, size: 322007
22:24
Merge 9.0 file: [9c2c38731d] check-in: [6396c6443a] user: jan.nijtmans branch: tip-626, size: 321391
22:22
Merge 8.7 file: [a407a70152] check-in: [7c9d2dc7a3] user: jan.nijtmans branch: main, size: 321388
22:02
Merge 8.6 file: [b17ef647bc] check-in: [166e8656a7] user: jan.nijtmans branch: core-8-branch, size: 326102
18:01
TIP 660. No compiler warnings. Tests suite pass on Win and Ubuntu file: [d1b730df18] check-in: [eb81a25271] user: apnadkarni branch: tip-660, size: 321031
15:19
Fix [0cb3554903]: macOS 13 SDK deprecates sprintf(). But better not use it on other platforms either. file: [02630aa07f] check-in: [ec56f33813] user: jan.nijtmans branch: bug-0cb3554903, size: 315995
2023-03-29
06:16
Replace bit twiddling with clear expression. file: [6722512612] check-in: [fa731ffcfc] user: pooryorick branch: main, size: 321373
2023-03-28
19:29
Combine two branches in write(). file: [51cafcb06d] check-in: [3fd99fa711] user: pooryorick branch: main, size: 321377
14:34
Merge 9.0 file: [b8defea6e2] check-in: [691dbad682] user: jan.nijtmans branch: tip-657, size: 322029
14:26
Minumum backport to 8.7, for TIP #657 file: [877e23a043] check-in: [fe2af85168] user: jan.nijtmans branch: tip-657-backport, size: 326717
2023-03-22
19:40
Merge 9.0 file: [88658a8923] check-in: [f809c32f0e] user: jan.nijtmans branch: tip-626, size: 321413
15:35
Simplify TIP #656 implementation. This also changes the TCL_ENCODING_PROFILE_* macro's to the same values as in #TIP #657 (so, those changes make no sense before TIP #657 is accepted) file: [851360cd02] check-in: [303ca5c8ca] user: jan.nijtmans branch: tip-656-simpl, size: 326454
15:27
Merge 9.0 file: [73db1d1bb7] check-in: [b82838f4d4] user: jan.nijtmans branch: tip-657, size: 322213
12:02
Merge 8.7 file: [442cb58ed0] check-in: [f8d60e395f] user: jan.nijtmans branch: main, size: 321410
11:44
Move (TCL_ENCODING_PROFILE_MASK|GET|SET) from tcl.h to tclIO.h, since those are not public. Some formatting. file: [7dfb076e81] check-in: [d5cda795aa] user: jan.nijtmans branch: core-8-branch, size: 326089
08:32
Since TCL_ENCODING_PROFILE_DEFAULT == TCL_ENCODING_PROFILE_TCL8 (on Tcl 8), we can simplify. file: [69f94349b4] check-in: [d0f072219c] user: jan.nijtmans branch: core-8-branch, size: 326149
2023-03-21
17:47
exchange profile <-> eofchar output in "fconfigure". Fix some testcases, which depend on profile file: [fbcde88abd] check-in: [644a8f9d51] user: jan.nijtmans branch: tip-657, size: 322273
16:55
Merge 9.0 file: [a560ee8ea0] check-in: [2e7e961670] user: jan.nijtmans branch: tip-626, size: 321473
16:54
Merge 8.7 file: [66e91c4f97] check-in: [78beedf7e2] user: jan.nijtmans branch: main, size: 321470
09:22
Merge 9.0 file: [efaa44e41c] check-in: [ad1e9cb0a9] user: jan.nijtmans branch: tip-626, size: 320589
08:45
Merge 8.7 file: [c6f67e0059] check-in: [c8983a2a94] user: jan.nijtmans branch: main, size: 320586
2023-03-20
23:17
Proposed fix for [1bedc53c8c]: synchronous [read] with -strictencoding does not produce an error on invalid input file: [e7c7d5f698] check-in: [a7bce7dbba] user: jan.nijtmans branch: bug-1bedc53c8c, size: 326155
22:53
Proposed fix for [154ed7ce56]: Tcl 9: [gets] on -strictencoding 1 configured channel. Extracted from TIP #657 branch (better keeping bug-fix separate from enhancements) file: [a7971a83d7] check-in: [a338fcd542] user: jan.nijtmans branch: bug-154ed7ce56, size: 325271
2023-03-18
09:15
Merge 9.0 file: [7eaeebbc85] check-in: [c9dd529165] user: jan.nijtmans branch: tip-626, size: 320071
2023-03-17
19:48
Merge 9.0 file: [91e5a27a7b] check-in: [536c49c7a2] user: jan.nijtmans branch: tip-626, size: 321730
2023-03-16
21:03
Don't reset CHANNEL_ENCODING_ERROR here, otherwise Tcl_InputEncodingError() will give wrong result file: [cb0eb46a54] check-in: [2899ff13dc] user: jan.nijtmans branch: tip-657, size: 322273
20:35
Merge tip-656-tcl9 file: [b412ef66e7] check-in: [218c6465d1] user: jan.nijtmans branch: tip-657, size: 322319
18:11
Merge 9.0 file: [dc1b820344] check-in: [a16366941d] user: apnadkarni branch: tip-656-tcl9, size: 320068
17:29
Merge 8.7 file: [14172eb04a] check-in: [b6b55639ae] user: apnadkarni branch: tip-656, size: 324753
08:22
Allow -encoding to be shortened (again) file: [8223517d8e] check-in: [5ce08299b6] user: jan.nijtmans branch: tip-657, size: 321812
03:48
Change -encodingprofile to -profile file: [96a22fc5ea] check-in: [618179acda] user: apnadkarni branch: tip-656-tcl9, size: 319561
03:08
Change -encodingprofile to -profile file: [8c1b0d037b] check-in: [07a4893b3b] user: apnadkarni branch: tip-656, size: 324246
2023-03-15
11:37
Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [6027b04571] check-in: [a76dee9eb4] user: pooryorick branch: main, size: 321727
08:42
Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [17e97c42d1] check-in: [26a20919fb] user: pooryorick branch: core-8-branch-bug-ea69b0258a9833cb6, size: 327007
2023-03-14
20:55
Merge tip-656-tcl9 file: [4c2235769a] check-in: [62b45e81f1] user: jan.nijtmans branch: tip-657, size: 321812
20:27
Further fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [bcc3d32ec9] check-in: [8aee50448c] user: pooryorick branch: bug-ea69b0258a9833cb6, size: 315982
20:24
Implement return options for read/gets file: [1ef0ffda87] check-in: [43f815fc1e] user: jan.nijtmans branch: tip-657, size: 321363
17:23
Merge 9.0. Also fix replace profile handling of orphan surrogates file: [1e029a974f] check-in: [69b2949bc8] user: apnadkarni branch: tip-656-tcl9, size: 319593
15:34
Merge 8.7 file: [679f35ccbf] check-in: [5068abf7d5] user: apnadkarni branch: tip-656, size: 324278
2023-03-13
20:57
Fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [353a3fd55a] check-in: [62058cafe0] user: pooryorick branch: main, size: 321220
13:36
Fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [3832e13e73] check-in: [ac8ea99a1a] user: pooryorick branch: core-8-branch-bug-ea69b0258a9833cb6, size: 326500
12:22
Fix for issue [ea69b0258a9833cb], crash when using a channel transformation on TCP client socket. file: [ba8fb1f960] check-in: [052f54ddfb] user: pooryorick branch: bug-ea69b0258a9833cb6, size: 315505
2023-03-10
15:55
Implement new function Tcl_InputEncodingError() file: [0a361e49e7] check-in: [6d2aac8f3f] user: jan.nijtmans branch: tip-657, size: 321167
07:37
Fix parsing of fconfigure set -encoding* options file: [4abfe28964] check-in: [8d526e142d] user: apnadkarni branch: tip-656-tcl9, size: 319144
2023-03-09
10:47
Fix SetChannelOption parsing of -encoding* to match GetChannelOption file: [c6cb20af7c] check-in: [12f034882f] user: apnadkarni branch: tip-656, size: 323829
2023-03-08
22:04
Oops file: [69b2ddc5b3] check-in: [74ffd90527] user: jan.nijtmans branch: tip-657, size: 320594
21:49
Merge tip-657-tcl9. Further implementation of Tcl_GetObj() et al. file: [7bead3bbcb] check-in: [c1d9a43a3e] user: jan.nijtmans branch: tip-657, size: 320640
2023-03-07
23:11
encodingprofile -> profile, and fix more testcases file: [40244b9b6e] check-in: [22160bc51d] user: jan.nijtmans branch: tip-657, size: 318773
21:01
Start implementing TIP #657. WIP file: [b88322c353] check-in: [7d3d6f8f29] user: jan.nijtmans branch: tip-657, size: 318805
20:13
Merge 9.0 file: [bffadcd9b3] check-in: [66a2cd7681] user: jan.nijtmans branch: tip-656-tcl9, size: 319144
2023-03-05
00:43
Merge 9.0 file: [753556fd73] check-in: [38f5d517dd] user: jan.nijtmans branch: tip-626, size: 320774
2023-03-03
13:19
Merge 9.0. knownBug -> strictBug file: [1ad645fa9d] check-in: [98cba50454] user: jan.nijtmans branch: make-strict-the-default, size: 320011
2023-03-02
12:30
Merge 9.0 file: [6015266e4d] check-in: [7884884840] user: jan.nijtmans branch: tip-626, size: 320519
2023-03-01
13:18
Bug [9a978f8323]: crash reading large files file: [dc879f5e8d] check-in: [a9226d7a1b] user: apnadkarni branch: bug-9a978f8323, size: 320771
07:19
Merge 9.0 file: [3128b86b2a] check-in: [eb12679c83] user: apnadkarni branch: tip-656-tcl9, size: 318889
2023-02-28
22:13
Experiment, WIP. See how far we get, adapting Nathan's code, but for blocking channels only. file: [267402435e] check-in: [21b8c4074d] user: jan.nijtmans branch: jn-tip-653-partial, size: 327502
16:58
Merge 9.0 file: [0b27a12616] check-in: [689b3f3457] user: jan.nijtmans branch: make-strict-the-default, size: 319756
16:08
Proposed fix for [e778e3f804]: Parsing of "profile" for TIP #656 file: [3b21d756de] check-in: [82377ce539] user: jan.nijtmans branch: bug-e778e3f804, size: 324162
15:39
Merge 8.7 file: [216fd81e4e] check-in: [99cfb068bb] user: apnadkarni branch: tip-656, size: 323829
13:36
Merge 8.7 file: [f2993340de] check-in: [5b43eb89dd] user: jan.nijtmans branch: main, size: 320516
13:33
Put back testcase io-52.20, and re-fix [4a7397e0b3] file: [5a20f757d5] check-in: [9c0db3d168] user: jan.nijtmans branch: core-8-branch, size: 326051
13:24
Merge 8.7 file: [d99076db5c] check-in: [f0039dade9] user: apnadkarni branch: tip-656, size: 323607
12:45
Merge 8.7 file: [360d22f55b] check-in: [01f497c926] user: jan.nijtmans branch: main, size: 320294
12:43
Missing ')' file: [d9664bb041] check-in: [2a0db90a03] user: jan.nijtmans branch: core-8-branch, size: 325829
12:20
Merge 8.7 file: [8c27f8438b] check-in: [917e233bd3] user: jan.nijtmans branch: main, size: 320293
12:16
Restore previous behavior for non-blocking mode, as for this mode the semantics of [read]/[gets] were not broken. This was the 'some agreement'. The change in line 8286 is necessary for both blocking and non-blocking mode: Whenver the encoding change we need to reset the CHANNEL_ENCODING_ERROR flag. file: [9a0b9d0436] check-in: [b4d64ccac5] user: jan.nijtmans branch: core-8-branch, size: 325828
11:57
Reverted [d156af9fb76dd2f4] and removed tests io-52.20 io-75.6 io-75.7, as this commit, intended to fix issue [b8f575aa2398b0e4], breaks the semantics of [read] and [gets]. Such a change would require an accepted TIP. See [b8f575aa2398b0e4] for further discussion.

jn: @pouryorick See [b8f575aa2398b0e4] for the reason why this commit is not appropriate: It gets core-8-branch back in the buggy state it was, without even providing a real solution everyone agrees on. You shouldn't revert my patch just because I reverted yours.

pooryorick: As I explained, the reason for this reversion is that it hard-codes an unapproved change in the semantics of [read] and [gets] into the test suite. Jan, your statement that it's a "revenge" reversion is false. I spent a month trying to find some alternative to this reversion before actually performing it. A commit that codifes in its tests changes in semantcs to [read]/[gets] simply shouldn't be on core-8-branch. file: [950a47245d] check-in: [839cd83777] user: pooryorick branch: main, size: 320154

2023-02-27
11:59
Fix [3d01d51bc4]: Tcl 9: Cannot write large strings to file. Also some size_t -> Tcl_Size changes. file: [4a25f97988] check-in: [186e4d9317] user: jan.nijtmans branch: main, size: 320225
2023-02-26
14:27
Merge 9.0. Adapt more test-cases, to see what's remaining file: [9331265388] check-in: [09b3a7a3dd] user: jan.nijtmans branch: make-strict-the-default, size: 318998
06:26
Minor refactor, add tests file: [8c411d3156] check-in: [93ba406eed] user: apnadkarni branch: bug-3d01d51bc4, size: 320131
2023-02-25
17:23
Fix large writes to file. Need to break into INT_MAX size chunks. file: [73df3f7ce0] check-in: [57fb62005d] user: apnadkarni branch: bug-3d01d51bc4, size: 320412
03:03
Compiles and runs. Tests still to be ported. file: [63586b4973] check-in: [c057c79d2b] user: apnadkarni branch: tip-656-tcl9, size: 318131
2023-02-23
21:20
Remove left-over traces of [0a74820b6d], which was merged into the apn-encoding-profile and landed into tip-656. This commit was merged premature into core-8-branch, leaving a [memory leak] file: [315ca3e06b] check-in: [ff7923a914] user: jan.nijtmans branch: bug-dab7fd5973, size: 323538
2023-02-22
17:07
port jan-encoding-profile to 9.0 file: [7c153012ac] check-in: [900d53d140] user: jan.nijtmans branch: jan-encoding-profile-for-9.0, size: 322175
2023-02-19
21:46
Experiment: Make "strict" the default for 9.0. Some trivial testcases are adapted, but the crucial ones are left as-is. Warning: If your are a supporter of "making -strict the default for 9.0", then this branch is (not) for you. You might be disappointer! file: [de789f5df1] check-in: [0a3ee3a1da] user: jan.nijtmans branch: make-strict-the-default, size: 318346
2023-02-18
09:52
Merge 8.7 file: [20d946ac30] check-in: [7bc34f4661] user: pooryorick branch: mistake, size: 319687
09:33
Reverted [d156af9fb76dd2f4] and removed tests io-52.20 io-75.6 io-75.7, as this commit, intended to fix issue [b8f575aa2398b0e4], breaks the semantics of [read] and [gets]. Such a change would require an accepted TIP. See [b8f575aa2398b0e4] for further discussion.

jn: @pouryorick See [b8f575aa2398b0e4] for the reason why this commit is not appropriate: It gets core-8-branch back in the buggy state it was, without even providing a real solution everyone agrees on. You shouldn't revert my patch just because I reverted yours.

pooryorick: As I explained, the reason for this reversion is that it hard-codes an unapproved change in the semantics of [read] and [gets] into the test suite. Jan, your statement that it's a "revenge" reversion is false. I spent a month trying to find some alternative to this reversion before actually performing it. file: [fb3a50149f] check-in: [ff103e776b] user: pooryorick branch: mistake, size: 325689

2023-02-17
19:12
Make a start implementing "replace" file: [6392ac1ab7] check-in: [8965167358] user: jan.nijtmans branch: jan-encoding-profile, size: 326804
2023-02-16
20:54
parsing simplifications file: [cabc0d096e] check-in: [4c3fc8cc5a] user: jan.nijtmans branch: jan-encoding-profile, size: 325274
2023-02-15
08:10
Merge 9.0 file: [63a767a558] check-in: [24d64bf0f1] user: jan.nijtmans branch: tip-626, size: 319761
08:07
Merge 8.7 file: [234f6836c4] check-in: [fe54733688] user: jan.nijtmans branch: jan-encoding-profile, size: 325084
05:24
Merge 8.7 file: [06c73fcfd7] check-in: [d4772edf05] user: apnadkarni branch: tip-656, size: 325217
2023-02-14
11:39
Fix uniqueness parsing fconfigure -encoding / -encodingprofile options file: [a0e5c792cc] check-in: [66074c9b6d] user: apnadkarni branch: tip-656, size: 324900
2023-02-13
14:06
merge 8.7 file: [13b3995977] check-in: [49849c85bb] user: dgp branch: core-8-7-b1-rc, size: 327439
2023-02-12
01:00
Merge 8.7 file: [ab39810c5e] check-in: [2d036d968c] user: jan.nijtmans branch: main, size: 319758
2023-02-10
20:22
Proposed fix (and testcases) for [4a7397e0b3]: Tcl 9: fcopy with -strictencoding 1 UTF-8 channels file: [b2f243d333] check-in: [0f04d39da4] user: jan.nijtmans branch: bug-4a7397e0b3, size: 325760
17:07
Phase out (almost) STRICT and NOCOMPLAIN flags. file: [c227579292] check-in: [4a2770b48e] user: apnadkarni branch: apn-encoding-profile, size: 324900
2023-02-09
17:04
Modify encoding C API to use profiles (in progress) file: [8727bf4b98] check-in: [f1ce788bea] user: apnadkarni branch: apn-encoding-profile, size: 326674
2023-02-07
17:10
Merge core-8-branch file: [7d1e493fb2] check-in: [51dd9f7cd1] user: apnadkarni branch: apn-encoding-profile, size: 326486
2023-02-06
14:09
keep channel options in alphabetical order file: [a22c17dc63] check-in: [4b5c2ec6fe] user: jan.nijtmans branch: jan-encoding-profile, size: 324767
2023-02-05
23:22
Fix handling of default profile. Also fix many test-cases file: [f5c798251c] check-in: [7eb72e7739] user: jan.nijtmans branch: jan-encoding-profile, size: 324753
2023-02-03
22:15
Fix for [b8f575aa2398b0e4] and [154ed7ce564a7b4c], double-[read]/[gets] problem. Partial-read functionality commented out.

jn: First, see broken build here. Second: Moving this to core-8-branch is getting TIP #653 into 8.7 without being voted upon. It's simply not ready.

pooryorick: That second statement is false. The parts of this fix that implement TIP #653 are specifically commented out. file: [71ba30872d] check-in: [104b05b17c] user: pooryorick branch: py-b8f575aa23-nopartial, size: 327122

2023-02-02
16:43
Update tests to use -encodingprofile file: [35e8f4133c] check-in: [e92847da6f] user: apnadkarni branch: apn-encoding-profile, size: 324807
15:37
Change encoding error options to fconfigure to encoding profiles file: [8afcbad7b1] check-in: [2127d4e684] user: apnadkarni branch: apn-encoding-profile, size: 324807
2023-01-31
07:49
SetFlag -> GotFlag (since SetFlag always returns 1, this is nonsence in an if() statement). Also add test-case, showing that it was actually wrong, in behavior too. file: [03f63f5629] check-in: [df4e2de49c] user: jan.nijtmans branch: core-8-branch, size: 325443
2023-01-25
17:11
Merge 9.0 file: [5e9db7742a] check-in: [8ec9969434] user: jan.nijtmans branch: tip-626, size: 319444
2023-01-24
20:00
First part of fix for [4a7397e0b3]. Not complete yet. file: [dbe5f4a693] check-in: [5d433e183c] user: jan.nijtmans branch: core-8-branch, size: 325416
2023-01-23
20:41
Rename [encoding convert*] option "-nocomplain"/"-ignore" to "-pass", and "-nocomplainencoding"/"-encodingignore" to "-encodingpass" file: [9354d7888e] check-in: [ddc84c7563] user: pooryorick branch: trunk-encodingdefaultorig, size: 320137
10:48
A branch for fixing TIP 346/601 issues, and other issues related to Unicode encoding, while retaining the default of not raising an error when invalid data for the encoding occurs. file: [66c6c36560] check-in: [6ff8e6acdb] user: pooryorick branch: trunk-encodingdefaultorig, size: 320145
2023-01-02
23:12
Merge py-b8f575aa23: Fix for [154ed7ce56], Tcl 9: [gets] on -strictencoding 1 configured channel. file: [61075f4ae4] check-in: [8c5d9bcc6e] user: pooryorick branch: py-b8f575aa23, size: 326848
21:07
Fix for [154ed7ce56], Tcl 9: [gets] on -strictencoding 1 configured channel. file: [303323e738] check-in: [003c9e1f2e] user: pooryorick branch: trunk-encodingdefaultstrict, size: 320068
2022-12-31
00:44
Merge py-b8f575aa23. file: [b48427d4ef] check-in: [a69aa709b5] user: pooryorick branch: trunk-encodingdefaultstrict, size: 319146
2022-12-30
20:27
Fix DoReadChars() to correctly discard encoding errors after eofchar has been seen, and add new test, io-75.8.invalid. file: [3a637bc6bc] check-in: [4888129681] user: pooryorick branch: py-b8f575aa23, size: 325923
2022-12-29
22:59
Arrange new code in DoReadChars to ensure that final steps are always taken. file: [4f060c0698] check-in: [0221bfae40] user: pooryorick branch: py-b8f575aa23, size: 325450
18:11
Strict encoding conformance everywhere by default. Full test suite passes. file: [d3a4ecef84] check-in: [49b91d37a6] user: pooryorick branch: trunk-encodingdefaultstrict, size: 318913
2022-12-28
23:35
Unify TCL_ENCODING_STRICT and TCL_ENCODING_NOCOMPLAIN, and make strict encoding conformance the default everywhere. file: [432e7ccd8b] check-in: [8252783124] user: pooryorick branch: trunk-encodingdefaultstrict, size: 318389
12:07
A better fix for [b8f575aa23], as it maintains the expectation that synchronous [read] results in an error when invalid data is encountered.

someone other than pooryorick: Pushed this check-in back on to a review branch. It needs more baking/review. As is, it makes two tests fail, and it introduces a new element "-result" to the return options dictionary. file: [0d2ea97c31] check-in: [00995080d6] user: pooryorick branch: py-b8f575aa23, size: 325498

2022-12-24
14:36
First part of fix for [4a7397e0b3]: Take flags into account when deciding to do a binary fcopy or not. TODO: Handle generating an exception file: [d99dc2d713] check-in: [7dcc1eadb6] user: jan.nijtmans branch: bug-4a7397e0b3, size: 319441
2022-12-21
23:05
Merge 9.0 file: [17cb6a16df] check-in: [01e3112cfb] user: jan.nijtmans branch: tip-626, size: 319194
2022-12-19
15:44
Merge 8.7 file: [965050c130] check-in: [a09f704e58] user: jan.nijtmans branch: main, size: 319191
15:40
When changing the -nocomplainencoding or -strictencoding settings of a channel, reset the CHANNEL_NEED_MORE_DATA and CHANNEL_ENCODING_ERROR flags, so we can continue reading the channel and find out what's going on. file: [b991451bee] check-in: [24aa8e31b3] user: jan.nijtmans branch: core-8-branch, size: 325166
2022-12-15
14:39
Merge 8.7 file: [1acccfd0d8] check-in: [e98ade44bf] user: jan.nijtmans branch: main, size: 319053
14:38
Fix Tcl_BadChannelOption(), new -nocomplainencoding and -strictencoding options were still missing (reported by Rolf Ade, thanks!) file: [bf93bf4e45] check-in: [834ed19993] user: jan.nijtmans branch: core-8-branch, size: 325028
2022-12-13
07:53
Clarification for Rolf file: [9252a02971] check-in: [05414ca784] user: jan.nijtmans branch: rfe-17a1cb8d6e, size: 325210
2022-12-09
23:27
Merge 8.7 file: [fb97d975d3] check-in: [d46f48c645] user: jan.nijtmans branch: main, size: 319019
22:27
Merge 8.7. Adapt testcase, showing that after an encoding error we can change encoding and continue reading file: [f662ae0aa7] check-in: [209b09b069] user: jan.nijtmans branch: bug-b8f575aa23, size: 324994
10:22
Partial solution for [b8f575aa23]. Still missing: 1) testcases. 2) What if both EOF and ENCODING_ERROR happens (because there is both an eofchar and an invalid byte in the stream) file: [f4c2e7e8dd] check-in: [6808b459d3] user: jan.nijtmans branch: bug-b8f575aa23, size: 324971
2022-12-02
11:37
Merge 9.0 file: [1dd08c85df] check-in: [18885b9958] user: jan.nijtmans branch: tip-626, size: 318951
08:35
Oops, that's the wrong one ... file: [62422c0766] check-in: [6f87e45644] user: jan.nijtmans branch: main, size: 318948
08:19
Make options -nocomplain and -strictencoding truly independant. Leftover from initial implementation. Noted by Rolf Ade (thanks!) file: [9066c2dd3a] check-in: [4fdd86e7a7] user: jan.nijtmans branch: main, size: 318952
2022-12-01
14:23
Merge 9.0 file: [9ab8377abb] check-in: [7787a1c006] user: jan.nijtmans branch: tip-626, size: 319057
2022-11-28
16:13
Merge 9.0 file: [922bce96c4] check-in: [9ee2792e3b] user: jan.nijtmans branch: tip-636-tcl9-644, size: 319052
2022-11-25
22:08
Merge 8.7 file: [d258d6adc7] check-in: [3292a08532] user: jan.nijtmans branch: main, size: 319054
22:00
(partial) fix for [6978c01b65] file: [f05a01fb37] check-in: [a82c8ffd37] user: jan.nijtmans branch: core-8-branch, size: 324923
08:29
Handle closeProc == NULL the same as closeProc == TCL_CLOSE2PROC in stead of panicing. Backported from 8.7 (undocumented feature) file: [76f22c2f69] check-in: [0459d72578] user: jan.nijtmans branch: core-8-6-branch, size: 315306
2022-11-24
21:48
TCL_OBJTYPE_V0_INIT -> TCL_OBJTYPE_V0 (See TIP #644). Remove Tcl_SavedResult (See TIP #640) file: [ac6863f243] check-in: [ca003bccb7] user: jan.nijtmans branch: tip-636-tcl9-644, size: 318419
20:31
Sync with trunk file: [1c8800100b] check-in: [866c464f9e] user: griffin branch: tip-636-tcl9-644, size: 318424
14:38
Merge 9.0 file: [c22cdb4c8f] check-in: [334190e9b7] user: jan.nijtmans branch: tip-626, size: 318424
14:05
Use Tcl_GetByteArrayFromObj(... in stead of Tcl_GetBytesFromObj(NULL,.... Add some more error-checking for invalid byte-arrays file: [7951dfd400] check-in: [3e18a46195] user: jan.nijtmans branch: main, size: 318421
03:32
Sync with trunk file: [9b50998c1a] check-in: [3c349bb440] user: griffin branch: tip-636-tcl9-644, size: 318358
2022-11-23
21:12
Merge 8.7 file: [576aa45ba4] check-in: [2b17ac5d49] user: jan.nijtmans branch: tip-626, size: 318358
21:03
Fix [da63e4c1e]: Crash in Tcl_WriteChars(). Make everything compile (again) with a C++ compiler. file: [0c96faf0f2] check-in: [3539aef815] user: jan.nijtmans branch: main, size: 318355
20:41
-1 -> TCL_INDEX_NONE file: [42b054a5f3] check-in: [a723fb55e7] user: jan.nijtmans branch: core-8-branch, size: 324290
15:21
Proposed fix for [da63e4c1e]. First version, not 100% as expected yet. file: [27503c9b2f] check-in: [58883dde6d] user: jan.nijtmans branch: bug-da63e4c1e, size: 317863
12:15
Make "read" throwing a "illegal byte sequence" exception. Doesn't work for "gets" yet. file: [3f3e254a31] check-in: [b9ed73b12c] user: jan.nijtmans branch: bug-6978c01b65, size: 324204
09:26
Merge 8.7 file: [354aed2338] check-in: [e649f5961d] user: jan.nijtmans branch: main, size: 317744
09:24
Change assert, since the new flag CHANNEL_ENCODING_ERROR could be set as well file: [4fb551caa8] check-in: [c43ed6731c] user: jan.nijtmans branch: core-8-branch, size: 323571
00:09
Merge 8.7 file: [5a369f2392] check-in: [3033bfee19] user: jan.nijtmans branch: main, size: 317694
2022-11-20
23:27
indenting file: [7a5a415a9e] check-in: [656a43beb3] user: jan.nijtmans branch: bug-6978c01b65, size: 323521
23:22
Merge 8.7 file: [5e2e5ad956] check-in: [8f4f8eb866] user: jan.nijtmans branch: bug-6978c01b65, size: 323512
2022-11-19
16:29
Merge 9.0 file: [69a1a4da3d] check-in: [32aebe8054] user: jan.nijtmans branch: tip-626, size: 317383
2022-11-09
13:45
Merge trunk. Also update Tcl_ObjType.version to match TIP 644 file: [c7d51dac6f] check-in: [67db36998a] user: apnadkarni branch: tip-644, size: 317380
2022-11-06
11:19
Rebase TIP #626 to latest 9.0. Change Tcl version number from 9.0 to 9.1a0 file: [bb7145510a] check-in: [efcf7c37fe] user: jan.nijtmans branch: tip-626, size: 317363
2022-11-04
22:47
Implement abstractlist with tip-644 file: [0b42c7484a] check-in: [3aa22fe8ab] user: griffin branch: tip-636-tcl9-644, size: 317383
2022-11-01
08:28
rebase to latest trunk file: [4b58802867] check-in: [14166645c7] user: jan.nijtmans branch: tip-644-alt, size: 317367
08:26
Don't bother to provide a TCL_OBJTYPE_SIZE macro file: [0ecb954cae] check-in: [04e8efd4ac] user: jan.nijtmans branch: tip-644-alt, size: 319233
2022-10-31
22:57
Merge 8.7 file: [422cf628c5] check-in: [421f9ad65b] user: jan.nijtmans branch: line-editing, size: 326816
17:12
Make sure the build works if USE_LINENOISE is #undef'ed file: [4843b8a2c2] check-in: [4cfce4825b] user: marc_culler branch: line-editing, size: 326628
2022-10-29
14:08
Simplify -eofchar parsing (just check for " {}" at the end, in stead of full list parsing) file: [a8f9f37a88] check-in: [b6a0f20674] user: jan.nijtmans branch: main, size: 317360
13:56
Fix fork file: [82d509c28d] check-in: [400d629521] user: culler branch: line-editing, size: 326580
2022-10-28
17:38
Make command line editing work with Tk, except for some termios issues at exit. file: [1efa94b2f3] check-in: [a662802a1e] user: culler branch: line-editing, size: 326578
11:18
TIP #646 correction: let "fconfigure $chan -eofchar" return a single character, not a list element file: [b770b4788f] check-in: [6421442176] user: jan.nijtmans branch: main, size: 318003
2022-10-27
07:24
Add lininoise directory. Fix 2 gcc warnings file: [4b7ca085e5] check-in: [4f49c8a0c9] user: jan.nijtmans branch: line-editing, size: 326574
2022-10-26
11:38
Remove detritus. file: [6e699cfd69] check-in: [b9dc6a9258] user: culler branch: line-editing, size: 326572
03:24
Move Tcl_GetLine and Tcl_GetLineObj to tclIO.c file: [8661af69d4] check-in: [662374c0f7] user: culler branch: line-editing, size: 326592
2022-10-24
11:47
Another possible approach file: [402cef4fa4] check-in: [dc7f554cb0] user: jan.nijtmans branch: tip-644-alt, size: 319248
2022-10-18
10:25
Allow any single character for -eofchar, even if it's not a valid list file: [bc7ddd0682] check-in: [62da555aa8] user: jan.nijtmans branch: tip-646-for-87, size: 323207
10:12
Allow any single character for -eofchar, even if it's not a valid list file: [353ee714ae] check-in: [be3ad3fea5] user: jan.nijtmans branch: tip-646, size: 317993
2022-10-17
20:18
Merge 9.0. More strict -eofchar parsing file: [c4d4c575e6] check-in: [c6c72b2646] user: jan.nijtmans branch: tip-646, size: 317823
2022-10-16
17:56
Minor change to -eofchar handling file: [209b75df7d] check-in: [0630d12baf] user: jan.nijtmans branch: tip-646-for-87, size: 322998
11:10
new TIP about -eofchar handling file: [403d69c0bb] check-in: [6972c7e82c] user: jan.nijtmans branch: tip-646, size: 317796
2022-10-11
16:45
Merge 9.0 file: [1e14ef59e9] check-in: [02099b9569] user: apnadkarni branch: tip-644, size: 319246
15:48
Make TCL_ENCODING_STRICT and TCL_ENCODING_NOCOMPLAIN work independant from each other (suggested by Harald Oehlmann) file: [ef1bba33ee] check-in: [ac64a022e6] user: jan.nijtmans branch: main, size: 319226
15:07
TIP 644 - Make Tcl_ObjType extensible file: [b8dfaa3a02] check-in: [6d1d103cf6] user: apnadkarni branch: tip-644, size: 319182
06:22
Making a start fixing [6978c01b65]: Channel encoding difference 8.6 <-> 9.0 file: [537fe9037a] check-in: [f36d6aec92] user: jan.nijtmans branch: bug-6978c01b65, size: 323324
2022-10-10
11:20
Merge 8.7 file: [9a4c95bcb7] check-in: [9d354f0991] user: jan.nijtmans branch: main, size: 319162
11:08
Slight improvement to TIP #346/#633 combination: Now -strictencoding 1 automatically sets -nocomplainencoding to 0, while -nocomplainencoding 1 automatically sets strictencoding to 0. This way, they can never both be set. file: [65e993096b] check-in: [329637dcc5] user: jan.nijtmans branch: core-8-branch, size: 323019
2022-10-09
16:16
Merge 8.7 file: [455b052c81] check-in: [e37e9b9a2b] user: jan.nijtmans branch: main, size: 319521
15:11
TIP #633: configure channel about channel encoding error reporting mode file: [c2ef0bad69] check-in: [968bcbecd8] user: jan.nijtmans branch: core-8-branch, size: 323300
2022-10-08
17:17
Merge 9.0 file: [f0264bdffe] check-in: [74abec9977] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 319526
17:05
Merge 8.7 file: [4038a680c3] check-in: [be31c2a99d] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 321971
17:02
Merge 8.7 file: [5b6b1539b9] check-in: [20347a792f] user: jan.nijtmans branch: main, size: 317722
17:01
TIP #346 bugfix: -strictencoding should be resetable too file: [9c7da7f6f0] check-in: [1b80921f3b] user: jan.nijtmans branch: core-8-branch, size: 320824
16:44
Merge 9.0 file: [99f7b55d46] check-in: [f34a14695a] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 318566
16:08
Merge 8.7 file: [d6706abba6] check-in: [05e9f75686] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 321637
15:43
Merge 8.7 file: [d923558573] check-in: [58f6cbaca1] user: jan.nijtmans branch: main, size: 317388
14:46
TIP #346: Error on Failed String Encodings file: [2329c4c985] check-in: [a106c26dd5] user: jan.nijtmans branch: core-8-branch, size: 320490
00:10
-nocomplainencoding and -strictencoding are incompatible file: [d536da4ac4] check-in: [a2eaf05cd4] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 321751
2022-10-07
22:56
Merge 9.0 file: [38c2e511f3] check-in: [bd913fb17a] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 317894
22:49
Merge tip-346 file: [da902f493a] check-in: [fc99b89662] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 321182
18:59
Merge 8.7 file: [e1486f7810] check-in: [ba23b468ed] user: jan.nijtmans branch: tip-346, size: 320606
15:21
Merge 8.7 file: [989939abc7] check-in: [b35370f1d5] user: jan.nijtmans branch: main, size: 316227
15:18
Use GotFlag/SetFlag/ResetFlag macro's wherever appropriate file: [8fe2e11bb7] check-in: [98cddde746] user: jan.nijtmans branch: core-8-branch, size: 319345
2022-10-05
02:28
merge [trunk] file: [abb70230b0] check-in: [248b1feddb] user: bch branch: bch_sign_and_width, size: 316804
2022-09-26
15:06
Merge 9.0 file: [d18ae60498] check-in: [e868215b25] user: jan.nijtmans branch: tip-626, size: 316251
12:36
Merge 8.7 file: [9967865a74] check-in: [f9545122b4] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 319942
12:35
Merge 9.0 file: [71887a54e9] check-in: [68b69eb613] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 317915
12:31
Merge 8.7 file: [6040b33a86] check-in: [1aa9452e1d] user: jan.nijtmans branch: tip-346, size: 320627
07:43
Merge 8.7 file: [911b0dd718] check-in: [42609ef89b] user: jan.nijtmans branch: main, size: 316248
07:34
TIP #220: Escalate Privileges in VFS Close Callback file: [891763bf40] check-in: [2af94cda95] user: jan.nijtmans branch: core-8-branch, size: 319366
2022-09-22
11:26
Add -strictencoding option to channels. Thanks to Harald Oehlman for his example (largely copied). No testcases yet file: [e4cbd0598f] check-in: [6edbb53f0a] user: jan.nijtmans branch: tip-346, size: 319082
2022-09-21
17:50
merge [trunk] file: [14d33a9dfa] check-in: [ab16261020] user: bch branch: bch_sign_and_width, size: 315259
2022-09-20
12:09
rebase to latest trunk file: [cab449221c] check-in: [db829e5126] user: jan.nijtmans branch: tip633-tcl9-fconfigure-strictencoding, size: 316370
12:07
rebase to latest core-8-branch file: [fe81ac4f21] check-in: [216977961c] user: jan.nijtmans branch: tip633-fconfigure-tolerantencoding, size: 318397
2022-09-19
17:45
TIP633 fconfigure -nocomplainencoding (TCL8.7): replace "-strictencoding 0" by "-nocomplainencoding 1". file: [3866104d17] check-in: [42dcb747ef] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 318430
17:40
TIP633 fconfigure -nocomplainencoding (TCL9): replace "-strictencoding 0" by "-nocomplainencoding 1". file: [86d61c5f68] check-in: [68c3e3c92f] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 316403
2022-09-13
16:11
Merge 9.0 file: [23c79cc075] check-in: [7cf5b22032] user: jan.nijtmans branch: tip-626, size: 314706
08:31
Merge 8.7 file: [35859d4e93] check-in: [da79af4aa0] user: jan.nijtmans branch: main, size: 314703
08:07
Merge 8.6 file: [eae22894b2] check-in: [af9bba6154] user: jan.nijtmans branch: core-8-branch, size: 317821
2022-09-12
14:50
Merge 8.7 file: [1342cd6c24] check-in: [afe28e47c1] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 318414
14:47
TIP633 fconfigure -strictencoding: also implement read part file: [e45098e666] check-in: [995f1b858d] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 316430
14:28
(adapted) Testcase and fix for [1073daf086]: Bug in handling illegal utf-8 sequence file: [1412a110f0] check-in: [7c67f503d0] user: jan.nijtmans branch: bug-1073daf086, size: 315046
10:59
TIP633 fconfigure -strictencoding: move transfer over the loop. Adapt test suite to use hex results to prevent blocking on console output. file: [022af97419] check-in: [6fb44cf582] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 315616
10:47
TIP633 fconfigure -strictencoding: implement write -strictencoding 0. file: [79e215d843] check-in: [63b83010a8] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 315607
10:16
Merge main file: [770a68f2bd] check-in: [5737b887f4] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 315342
2022-09-11
21:47
Merge 8.7 file: [686d595b1b] check-in: [a454868d35] user: jan.nijtmans branch: main, size: 314736
21:37
complete the fix file: [320fbdf6ff] check-in: [c76fc30fd0] user: jan.nijtmans branch: bug-6978c01b65, size: 317854
13:45
Ticket [6978c01b65]: write not encodable character->report to script level Test io-75.5 now ok. file: [4766928d41] check-in: [e67a247dd4] user: oehhar branch: main, size: 314629
09:55
TIP633 fconfigure -strictencoding: TCL 9 command line implementation file: [7f5dfe155c] check-in: [b00490b063] user: oehhar branch: tip633-tcl9-fconfigure-strictencoding, size: 314878
09:27
TIP633 fconfigure -strictencoding: make only "-strictencoding 0" possible on TCL 8.7 file: [09493a9478] check-in: [3bfd5ebdfe] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 317950
08:55
TIP633 fconfigure -strictencoding: change option name to "-strictencoding". file: [48795600dd] check-in: [49833e6ecb] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 318182
2022-09-07
11:45
Revive TIP #220 implementation: Escalate Privileges in VFS Close Callback file: [ada0280c9c] check-in: [afc95211b0] user: jan.nijtmans branch: tip-220, size: 318935
2022-08-25
20:07
TIP633 fconfigure -tolerantencoding: set tolerant 8.7 default value. file: [377b96a7dc] check-in: [0785157dc1] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 318188
2022-08-22
15:48
Merge 9.0 file: [dff4b2ea1b] check-in: [38ece79e87] user: jan.nijtmans branch: tip-626, size: 314275
2022-08-18
20:20
Correct option shortcut value file: [5966812e9a] check-in: [8548458532] user: oehhar branch: tip633-fconfigure-tolerantencoding, size: 317996
20:11
mistake file: [77beb26105] check-in: [cefdc8fae1] user: oehhar branch: tip833-fconfigure-tolerantencoding, size: 317996
2022-08-04
15:26
Fix a case of lf not being flushed in certain cases when the crlf sequence gets split across two buffers on channels in crlf mode with line buffering https://core.tcl-lang.org/tcllib/tktview?name=c9d8a52fe file: [3012c59347] check-in: [658a9d7cb5] user: max branch: core-8-branch, size: 317390
15:15
Fix a case of lf not being flushed in certain cases when the crlf sequence gets split across two buffers on channels in crlf mode with line buffering https://core.tcl-lang.org/tcllib/tktview?name=c9d8a52fe file: [c48daf66d6] check-in: [cf8be3fc82] user: max branch: main, size: 314272
15:09
Fix a case of lf not being flushed in certain cases when the crlf sequence gets split across two buffers on channels in crlf mode with line buffering https://core.tcl-lang.org/tcllib/tktview?name=c9d8a52fe file: [2e68c6badf] check-in: [2e8fc36e39] user: max branch: core-8-6-branch, size: 315074
2022-07-28
10:52
Merge 8.7 file: [50c56d804d] check-in: [55a80617ef] user: jan.nijtmans branch: main, size: 314272
10:14
Merge 8.6 file: [fd49bc97ea] check-in: [2836af2ea9] user: jan.nijtmans branch: core-8-branch, size: 317390
2022-07-22
18:49
restore FF-char (fossil seems to loss form feed if commits with convertion from CRLF to LF) file: [4343167f02] check-in: [4a796d6ae3] user: sebres branch: bug-b3977d199b, size: 315074
18:38
EOF seemed to reset INPUT_SAW_CR previously, so do it now explicitely (satisfying the test ?chan?io-6.46) file: [a9d08278ec] check-in: [341c5f78a7] user: sebres branch: bug-b3977d199b, size: 315074
17:41
fixes [b3977d199b] - don't reset INPUT_SAW_CR unless the buffer get really translated (missing "\r" caused that flag got reset too early, because the translation takes place at next round by EOF) file: [d7a18deaba] check-in: [d2a8078086] user: sebres branch: bug-b3977d199b, size: 315061
2022-06-08
12:40
Merge 9.0 file: [e8c758401a] check-in: [2532f27b23] user: jan.nijtmans branch: tip-626, size: 314217
10:23
TIP #616: Tcl lists > 2^31 elements file: [911587190a] check-in: [574358cda4] user: jan.nijtmans branch: main, size: 314214
2022-05-25
22:20
Many int-> size_t file: [48bd20d861] check-in: [7062de3ba7] user: jan.nijtmans branch: tip-626, size: 314225
2022-05-17
13:27
Merge 9.0 file: [8153f143a1] check-in: [e563372259] user: jan.nijtmans branch: tip-616, size: 314222
11:17
Merge 8.7 file: [682ad4759f] check-in: [74c6a378ca] user: jan.nijtmans branch: main, size: 313977
09:32
Rename macro's TclListObjGetElements -> TclListObjGetElementsM and TclListObjLength -> TclListObjLengthM (prevent conflict with TIP #616) file: [2f9cc736c0] check-in: [eaf93525a5] user: jan.nijtmans branch: core-8-branch, size: 317332
2022-05-01
22:41
merge [trunk] file: [4ff8004fde] check-in: [3b9626d07b] user: bch branch: bch_sign_and_width, size: 314532
2022-04-26
15:59
Merge 9.0 file: [99faa4b167] check-in: [dda26bfcce] user: jan.nijtmans branch: tip-616, size: 314221
12:22
Tcl_GetIndexFromObjStruct -> Tcl_GetIndexFromObj. Don't use braces around (Tcl_GetBytesFromObj) file: [803535a6ad] check-in: [b76b65a1af] user: jan.nijtmans branch: main, size: 313976
07:22
Merge 9.0 file: [8970a945a0] check-in: [4bf1dcd5bf] user: jan.nijtmans branch: tip-616, size: 314203
07:18
Merge 8.7 file: [1e4d31adda] check-in: [588d689f08] user: jan.nijtmans branch: full-utf-for-87, size: 317331
2022-04-20
20:24
merge [trunk] file: [d1cda414f2] check-in: [3550542d19] user: bch branch: bch_sign_and_width, size: 314514
12:50
Merge 8.7 file: [02abceec20] check-in: [bd0ef87d4d] user: jan.nijtmans branch: main, size: 313958
12:08
Fix for [a12ad5c4bd7efcf2], buffer allocation on every call to Write(). file: [8a177a629a] check-in: [d699b9b145] user: pooryorick branch: core-8-branch, size: 317333
10:20
Merge 8.7 file: [12c0af028e] check-in: [06c121d0f3] user: jan.nijtmans branch: main, size: 313399
08:49
Remove some unnecessary buffer reference counting in Write(). The reference counting in FlushChannel() has got it covered. file: [a8daab3050] check-in: [a62764efd4] user: pooryorick branch: core-8-branch, size: 316774
2022-03-29
09:30
Merge 9.0 file: [9006f820af] check-in: [cb2a7d7c43] user: jan.nijtmans branch: tip-616, size: 313774
2022-03-28
12:24
Merge 8.7. Register "string" objType when TCL_UTF_MAX=3 (fixes regression in previous commit) file: [0356ee2d9f] check-in: [75efdec8f4] user: jan.nijtmans branch: full-utf-for-87, size: 316902
11:48
Merge 8.7 file: [59feb07133] check-in: [f0c5b7eabd] user: jan.nijtmans branch: main, size: 313529
11:39
More usage of TCLFLEXARRAY. Make current_malloc_packets/maximum_malloc_packets type size_t file: [ac3888e0b3] check-in: [53ab5e4b9f] user: jan.nijtmans branch: core-8-branch, size: 316904
10:07
Fix some compiler warnings file: [c003b035df] check-in: [9a1423505b] user: jan.nijtmans branch: tip-616, size: 313748
2022-03-23
16:57
Merge 9.0. More progress file: [48611ce8b1] check-in: [567f709b24] user: jan.nijtmans branch: tip-616, size: 313801
2022-03-20
20:17
Adapt Tcl_GetChannelBufferSize signature file: [d85b078d4b] check-in: [30a2502062] user: jan.nijtmans branch: tip-616, size: 313784
2022-03-16
23:08
Handle Tcl_UtfAtIndex file: [c44b26c2f6] check-in: [4d35f48f7c] user: jan.nijtmans branch: full-utf-for-87, size: 316876
22:21
Handle Tcl_GetCharLength file: [265f5524df] check-in: [2cce141084] user: jan.nijtmans branch: full-utf-for-87, size: 316877
2022-03-08
22:26
initial work at using signed-storage for cases where values can actually be signed. file: [6dd55f5771] check-in: [5030ee02cf] user: bch branch: bch_sign_and_width, size: 314059
2022-02-21
13:49
Some more int -> size_t file: [34a9d1f153] check-in: [e2a744bb10] user: jan.nijtmans branch: tip-616, size: 313745
2022-02-10
09:45
Merge 8.7 file: [ffa840c370] check-in: [d7e83e77e8] user: jan.nijtmans branch: main, size: 313503
09:37
Merge 8.6 file: [d4fa6ec6af] check-in: [c03b7afd75] user: jan.nijtmans branch: core-8-branch, size: 316878
09:26
Use TclListObjLength/TclListObjGetElements in stead of Tcl_ListObjLength/Tcl_ListObjGetElements everywhere. This is slightly more efficient if the refered list already has the correct type file: [5dfe79216e] check-in: [30cd3187fc] user: jan.nijtmans branch: core-8-6-branch, size: 315016
08:42
Same with TclListObjGetElements file: [79cf221f4b] check-in: [5f2ed67ee3] user: jan.nijtmans branch: tip-616, size: 313520
2022-01-26
08:37
More WIP file: [a1a26b3411] check-in: [3f003f3286] user: jan.nijtmans branch: tip-616, size: 313521
2022-01-24
20:54
More work in progress file: [e2cae5e476] check-in: [e2382fa2c9] user: jan.nijtmans branch: tip-616, size: 313510
08:18
TIP #616: Tcl lists > 2^31 elements. WIP file: [1db7c81caf] check-in: [ff0a9cf127] user: jan.nijtmans branch: tip-616, size: 313504
2021-11-07
14:52
Dodge a few macro games. file: [4da372191a] check-in: [0e4cc79075] user: dgp branch: dgp-properbytearray, size: 313504
2021-11-05
23:03
merge trunk file: [0888af4486] check-in: [e77811cade] user: dgp branch: dgp-properbytearray, size: 313510
2021-10-19
14:42
IntRep -> InternalRep. Internal changes only. file: [6d572dff0b] check-in: [40343f5fb6] user: jan.nijtmans branch: core-8-6-branch, size: 315017
2021-10-12
14:46
Merge 8.7 file: [f8f09bd250] check-in: [c5b79ca673] user: jan.nijtmans branch: main, size: 313278
14:46
Merge 8.6 file: [cb229452fc] check-in: [f29ab3924a] user: jan.nijtmans branch: core-8-branch, size: 316879
2021-10-08
12:36
Merge trunk file: [867aebe2b7] check-in: [2b008d21a1] user: jan.nijtmans branch: dgp-properbytearray, size: 313557
08:40
Merge 8.7 file: [89f6a23719] check-in: [916029c89c] user: jan.nijtmans branch: main, size: 313325
2021-10-06
19:33
Change "IntRep" to "InternalRep", as discussed in the Tcl Core mailing list file: [ee35f549fb] check-in: [0509fa5750] user: jan.nijtmans branch: internalrep, size: 316926
2021-05-07
13:51
merge trunk file: [77e6bcc815] check-in: [33e1424f0f] user: dgp branch: dgp-properbytearray, size: 313457
12:30
Merge 8.7 file: [541f13161c] check-in: [2f18255022] user: jan.nijtmans branch: main, size: 313225
2021-05-06
15:33
Merge 8.7. Improve errormessage when handling byte-errors in channels to (e.g.): error writing "stdout": illegal byte sequence file: [6f8d36ba42] check-in: [e919cd0c61] user: jan.nijtmans branch: encodings-with-flags, size: 316826
2021-05-03
20:52
merge trunk file: [c011ff3ea5] check-in: [5023cb36bc] user: dgp branch: dgp-properbytearray, size: 313457
19:46
Merge 8.7 file: [93756983be] check-in: [6f59da986d] user: jan.nijtmans branch: main, size: 313225
19:44
Merge 8.6 file: [d0264e84e3] check-in: [efc0ac30bd] user: jan.nijtmans branch: core-8-branch, size: 316826
19:42
Fix [24b9181478]: Fix unsafe buffer lifetime file: [07990a5588] check-in: [f6468f7763] user: jan.nijtmans branch: core-8-6-branch, size: 314972
19:36
Fix [24b9181478]: Fix unsafe buffer lifetime file: [d91e7221c1] check-in: [98af80f133] user: jan.nijtmans branch: core-8-5-branch, size: 296010
2021-04-28
22:50
merge trunk file: [7e6ecc7419] check-in: [f1406199a1] user: dgp branch: dgp-properbytearray, size: 313448
12:54
Merge 8.7 file: [3c5588aa9d] check-in: [cd89ed2013] user: jan.nijtmans branch: main, size: 313216
2021-04-26
23:06
Fix for io-28.6. file: [7b20139e97] check-in: [c250c25de5] user: pooryorick branch: core-8-branch, size: 316817
14:19
merge trunk file: [891b9499c9] check-in: [73715c59f5] user: dgp branch: dgp-properbytearray, size: 313154
07:58
merge core-8-branch file: [0864a993a7] check-in: [5b3ba7d74a] user: dkf branch: main, size: 312922
2021-04-25
13:58
Documenting our reference count management file: [5901d43de6] check-in: [03ee43f403] user: dkf branch: doc-ref-management, size: 316523
2021-04-12
19:10
More bits and pieces file: [fc6697c94e] check-in: [0ea6e3ab0e] user: dkf branch: enum-and-inline, size: 315843
2021-03-15
14:01
merge trunk file: [22a869dd4a] check-in: [9949dc3d16] user: dgp branch: dgp-properbytearray, size: 313048
12:11
Merge 8.7 (without TIP #575) file: [0f7007a049] check-in: [17e534b3b0] user: jan.nijtmans branch: main, size: 312816
09:52
More refactoring to reduce the choked-up complexity of tclZipfs.c file: [cd1ebb5fe4] check-in: [3f78a4d564] user: dkf branch: core-8-branch, size: 316417
2021-01-21
14:05
Merge TIP 481 (resolve conflicts) file: [619026a056] check-in: [61fcaefc06] user: jan.nijtmans branch: dgp-properbytearray, size: 312997
2021-01-15
18:22
Merge pre-TIP 481 commits from trunk file: [29eaeff7bf] check-in: [fc566d704e] user: dgp branch: dgp-properbytearray, size: 312979
18:22
Merge pre-TIP 481 commits of 8.7 branch file: [82622c989a] check-in: [04bbb5533d] user: dgp branch: tip-568, size: 316367
2021-01-11
10:03
Merge 8.7, resolve conflicts file: [834304453e] check-in: [015ff38790] user: jan.nijtmans branch: main, size: 312765
2021-01-08
21:07
Merge 8.7 (resolve conflicts) file: [6851d1d49f] check-in: [5295f674c1] user: dgp branch: main, size: 312758
09:37
Omit -Wdeclaration-after-statement from CFLAGS: No longer needed since we stopped support for MSVC 6++ Change Tcl_WideInt -> long long in various places: Tcl_WideInt could be a 128-bit type, we don't want that everywhere. file: [a40745ce15] check-in: [174a9adac8] user: jan.nijtmans branch: tip-592, size: 316366
2020-12-10
19:32
merge trunk file: [81ee3f0ae6] check-in: [8f9097afd5] user: dgp branch: dgp-properbytearray, size: 312993
18:58
merge 8.7 file: [4e4734afca] check-in: [7067bdaa1c] user: dgp branch: tip-568, size: 316381
2020-12-08
15:42
Merge 8.7 file: [6307c14f91] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 312772
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: [f85ff83276] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 316380
2020-10-27
21:45
merge trunk file: [dc6a8c0c3e] check-in: [3540230c30] user: dgp branch: dgp-properbytearray, size: 312995
21:39
merge 8.7 file: [af00a16a1c] check-in: [97069a12f6] user: dgp branch: tip-568, size: 316383
2020-10-23
15:48
Merge 8.7 file: [38d53d6e7f] check-in: [c4f39eb938] user: jan.nijtmans branch: trunk, size: 312774
15:46
Merge 8.6 file: [238ea8d494] check-in: [20e8b5d93f] user: jan.nijtmans branch: core-8-branch, size: 316382
15:36
Fix warning: /home/jboss/workspace/tcl8.7/generic/tclIO.c:9997:27: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 9997 | RemovePoint(nextPtr)[0] = '\r'; | ^ file: [2e99701e9a] check-in: [5102f7316d] user: jan.nijtmans branch: core-8-6-branch, size: 314963
2020-09-18
02:38
merge trunk file: [851e7043d8] check-in: [424840e52f] user: dgp branch: dgp-properbytearray, size: 312995
2020-09-17
17:54
merge 8.7 file: [6451948336] check-in: [fe8535bde0] user: dgp branch: tip-568, size: 316383
14:12
Merge 8.7 file: [ff6c25028e] check-in: [92d5c95fd8] user: jan.nijtmans branch: trunk, size: 312774
13:48
Eliminate many usages of Tcl_NewObj (-> TclNewObj) and Tcl_NewIntObj (-> TclNewIntObj or Tcl_NewWideIntObj) file: [4eca5659b2] check-in: [ef22eb8ac3] user: jan.nijtmans branch: core-8-branch, size: 316382
2020-09-16
16:18
merge trunk file: [377c96eb1a] check-in: [346f441d68] user: dgp branch: dgp-properbytearray, size: 312987
2020-09-15
18:04
merge 8.7 file: [86252d8fbf] check-in: [abf149cd4e] user: dgp branch: tip-568, size: 316375
2020-08-12
10:37
Merge 8.7 file: [f643821017] check-in: [fee2ffd3d4] user: jan.nijtmans branch: trunk, size: 312766
10:30
Merge 8.6. Better solution for [e87000d842] file: [b40a1840ac] check-in: [eab09ae8ff] user: jan.nijtmans branch: core-8-branch, size: 316374
10:25
Fix [e87000d8425ab86a]: crash for "fconfigure stdout" in Win32. Even though the crash cannot happen in Tcl 8.6, the function Tcl_BadChannelOption() was to blame, so better fix that in 8.6 too. file: [6948a9b268] check-in: [3d96bfb13f] user: jan.nijtmans branch: core-8-6-branch, size: 314963
2020-08-11
06:08
Merge 8.6 file: [6c316bcd2a] check-in: [bf77bc0365] user: jan.nijtmans branch: core-8-branch, size: 316356
05:39
Eliminate many unnecessary type-casts, mostly (size_t) when value is already size_t or int file: [9c17bd3da1] check-in: [013b828787] user: jan.nijtmans branch: core-8-6-branch, size: 314945
2020-06-04
15:15
Merge 8.7. Use more TCL_INDEX_NONE in documentation/headers/code. file: [72a41b1655] check-in: [baad702302] user: jan.nijtmans branch: trunk, size: 312748
2020-05-29
20:00
fixes [75d525d37c]: segfault by server socket transfer (accept proc executed in wrong interpreter); no interp-attach action or callback at the moment, but since accept proc is not sharable between multiple interpreters of same thread, after transfer to another thread we can simply obtain new interp handle from statePtr->interp (set by register interp now) file: [d5c97f6328] check-in: [455c680c3a] user: sebres branch: bug-75d525d37c-sf-chan-transfer, size: 315281
2020-04-01
20:36
merge trunk file: [6807563540] check-in: [e4f36b1f72] user: dgp branch: dgp-properbytearray, size: 312973
20:28
merge 8.7 file: [76bb53a9f5] check-in: [acf7d6b91c] user: dgp branch: tip-568, size: 316377
20:20
merge 8.7 file: [303221cc5c] check-in: [772d0456c5] user: dgp branch: trunk, size: 312752
20:14
Prevent a binary read appending to a non-bytes value. file: [c1ad8588c2] check-in: [c1d4e823bc] user: dgp branch: core-8-branch, size: 316376
12:50
merge trunk file: [2a2f51b656] check-in: [1978f15ef4] user: dgp branch: dgp-properbytearray, size: 312870
12:37
merge 8.7 file: [2e91a331b5] check-in: [15af79ddbc] user: dgp branch: trunk, size: 312649
11:54
merge 8.6 file: [5cad1e470a] check-in: [487f1bf7e7] user: dgp branch: core-8-branch, size: 316273
2020-03-31
20:04
fixes [f583715154] - tclUnixSock.c: introduced ThreadActionProc considering a transfer of async-connecting channel between threads; cherry-picked some prevention against invalid thread owner addressed in [815e246806] file: [cca891ca15] check-in: [532506ef71] user: sebres branch: bug-f583715154-v2, size: 314974
2020-03-30
21:19
Revise writing to binary channels so that any attempt to write a non-byte character throws an error. file: [a760c6a660] check-in: [35a92b96f2] user: dgp branch: dgp-binary-write-error-on-non-byte, size: 315984
20:59
Revise writing to binary channels so that non-byte characters get replaced with a replacement character ("?" for iso8859-1). file: [1f39c843f9] check-in: [a87be9f2dc] user: dgp branch: dgp-binary-write-replace-non-byte, size: 316119
2020-03-25
17:00
Proposed fix for [f583715154]: Fileevent runs in the wrong thread file: [b901646e93] check-in: [a51405af6e] user: jan.nijtmans branch: bug-f583715154, size: 314456
2020-03-18
22:28
merge near trunk file: [89bb361108] check-in: [b2420d2b6e] user: dgp branch: dgp-properbytearray, size: 312209
2020-03-17
01:20
merge 8.7 file: [8ef76dad51] check-in: [4d9717c8ef] user: dgp branch: trunk, size: 311988
01:01
TIP 569 - remove lint comments file: [7f29767c65] check-in: [658a498ae4] user: dgp branch: core-8-branch, size: 315612
2020-03-09
16:46
merge trunk file: [28169e01a7] check-in: [7da0ad5679] user: dgp branch: dgp-properbytearray, size: 312273
2020-03-06
21:33
merge 8.7 file: [f4a0774612] check-in: [89fde09430] user: dgp branch: trunk, size: 312052
20:57
more file: [40700b31a3] check-in: [cda0377279] user: dgp branch: core-8-branch, size: 315676
2020-03-05
11:56
Merge 8.7 file: [ce40936a12] check-in: [4e40161ba1] user: jan.nijtmans branch: trunk, size: 312147
11:48
Merge 8.6 file: [b5eefd0db3] check-in: [a4b71b9ca7] user: jan.nijtmans branch: core-8-branch, size: 315771
11:32
Move setting of interpreter error-message from tclUnixSock.c to tclIO.c, since the same should be done for all channel types. (Thanks, Don, for noticing this!) Also, ENOTCONN for a half-close should not be fatal, just a EINVAL, when doing it as part of a full close. See: [65c9cd1534] file: [9c10abff0f] check-in: [a685ea6f1f] user: jan.nijtmans branch: core-8-6-branch, size: 314313
2020-03-04
18:26
[65c9cd1534] Restore continuity of compatible function of [close] on a channel type that defines both closeProc and close2Proc.

Move to a bug fix branch. Need to build more confidence. file: [624690969f] check-in: [75cd9d9d6d] user: dgp branch: bug-65c8cd1534, size: 315663

14:33
Merge 8.7. Remove documentation and typedefs related to old channel types. file: [766adcd1a7] check-in: [d5bc305ad2] user: jan.nijtmans branch: trunk, size: 312206
13:59
Merge 8.6 file: [7e745ae4bf] check-in: [6448bcf19b] user: jan.nijtmans branch: core-8-branch, size: 315794
13:42
Implement WideSeekProc() for all channels which have a SeekProc(). Implement Close2Proc() for all channels, as minimal wrapper around CloseProc(). Backported (with comments) and adapted from core-8-branch. file: [b79c5b6900] check-in: [3a5bf9c4ee] user: jan.nijtmans branch: core-8-6-branch, size: 314379
2020-02-28
20:11
merge trunk file: [6f27114d74] check-in: [14f4239b9d] user: dgp branch: dgp-properbytearray, size: 312822
14:07
Merge 8.7 file: [ad633911c6] check-in: [0d3f9515c0] user: jan.nijtmans branch: trunk, size: 312601
13:13
Implement TIP #562: Deprecate channel types 1-4 file: [83e5b5f4f5] check-in: [74755e2555] user: jan.nijtmans branch: core-8-branch, size: 316059
12:46
Merge 8.7 file: [15841b34b1] check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 314525
12:06
Implement TIP #557: C++ support for Tcl file: [0d17098c9f] check-in: [c4a27f443c] user: jan.nijtmans branch: core-8-branch, size: 314457
2020-02-26
10:58
Merge 8.7 file: [aa2beaf939] check-in: [cfcbd55aba] user: jan.nijtmans branch: cplusplus, size: 314453
2020-02-24
12:19
Merge 8.7 file: [24cd1525c4] check-in: [62e1651518] user: jan.nijtmans branch: trunk, size: 314076
12:18
Merge 8.6 file: [7869a392c5] check-in: [1d3f5159be] user: jan.nijtmans branch: core-8-branch, size: 314004
12:01
Merge 8.5 file: [1fb528f4f6] check-in: [9e3386f9e9] user: jan.nijtmans branch: core-8-6-branch, size: 313624
2020-02-13
22:06
Merge 8.7 file: [0734b3e456] check-in: [c59e305ca6] user: jan.nijtmans branch: cplusplus, size: 314449
2020-02-03
14:30
merge trunk file: [4896dc7f05] check-in: [1d8fb475c4] user: dgp branch: dgp-properbytearray, size: 314293
2020-01-31
14:58
Make Tcl_ChannelCloseProc() deprecated too. Implement close2Proc and wideSeekProc for all internal channel types. file: [e02ee63ea6] check-in: [4107df0b30] user: jan.nijtmans branch: deprecate-channel-type-1-4, size: 315602
2020-01-30
16:08
Merge 8.7 file: [88119b53d4] check-in: [566db5a014] user: jan.nijtmans branch: deprecate-channel-type-1-4, size: 315081
13:27
Merge 8.7 file: [5e616a36cc] check-in: [904884ed6a] user: jan.nijtmans branch: trunk, size: 314072
13:21
Merge 8.6 file: [97193f9b37] check-in: [0d5cc3c4bb] user: jan.nijtmans branch: core-8-branch, size: 314000
13:04
Simplify the use of HaveVersion() in Channel handling. Nothing functional, only code clean-up. file: [89fd82fc86] check-in: [e9fe70f9d5] user: jan.nijtmans branch: core-8-6-branch, size: 313620
2020-01-29
15:52
Deprecate channel types 1-4 file: [bd545a2ef4] check-in: [cf397fef44] user: jan.nijtmans branch: deprecate-channel-type-1-4, size: 315086
2020-01-22
15:28
merge trunk file: [126b29b389] check-in: [d7ec907d9b] user: dgp branch: dgp-properbytearray, size: 315210
2020-01-20
14:19
Merge 8.7 file: [f431e75957] check-in: [3d7b2dce60] user: jan.nijtmans branch: trunk, size: 314989
2019-12-16
21:39
merge trunk file: [92da6b6bdc] check-in: [e9801db712] user: dgp branch: dgp-properbytearray, size: 315211
2019-12-13
15:39
Merge 8.7 file: [c5bb35eadb] check-in: [a4ec5ee9ad] user: jan.nijtmans branch: cplusplus, size: 315367
2019-12-12
21:43
Merge 8.7 file: [2c0d406ad5] check-in: [4499400ea4] user: jan.nijtmans branch: trunk, size: 314990
21:38
Little code tweaks, regarding the use of TCL_UTF_MAX or wchar_t. file: [d4901d2401] check-in: [35e74efb18] user: jan.nijtmans branch: core-8-branch, size: 314918
2019-11-18
14:40
Some code cleanup. Build with zlib dll on Win32 when using makefile.vc (shared-build only) file: [59043da6e3] check-in: [d83d101308] user: jan.nijtmans branch: utf-max, size: 314917
2019-11-17
13:39
Merge 8.7. Unbreak travis build with TCL_UTF_MAX=3 file: [3d58ed7316] check-in: [ecae4a1bda] user: jan.nijtmans branch: utf-max, size: 314918
2019-11-15
15:19
Merge 8.7 file: [dd1356211c] check-in: [6013bbbb99] user: jan.nijtmans branch: utf-max, size: 314884
2019-10-07
15:42
merge trunk file: [ac67609d96] check-in: [073b98213a] user: dgp branch: dgp-properbytearray, size: 315211
2019-10-06
20:39
Merge 8.7 file: [20c1740c29] check-in: [f5613703c1] user: jan.nijtmans branch: cplusplus, size: 315367
2019-10-05
20:45
Merge 8.7 file: [dd6c3820a1] check-in: [84216a99d2] user: jan.nijtmans branch: trunk, size: 314990
20:44
Merge 8.6 file: [5f6fbe36b2] check-in: [e0329f2be8] user: jan.nijtmans branch: core-8-branch, size: 314918
20:43
Change LSTATUS to LONG, since older SDK's don't know it. core.tcl.tk -> core.tcl-lang.org and http -> https file: [74ca754b5a] check-in: [4cede117d0] user: jan.nijtmans branch: core-8-6-branch, size: 314537
2019-08-30
15:21
Let's try a real C++ build with Travis on Linux file: [dfd531c18b] check-in: [5732a73bf5] user: jan.nijtmans branch: cplusplus, size: 315360
2019-08-26
16:34
merge trunk file: [c5eaab041a] check-in: [0f14c97005] user: dgp branch: dgp-properbytearray, size: 315204
2019-08-15
15:20
Merge tip-548 file: [5360b9d0db] check-in: [fb24db99f5] user: jan.nijtmans branch: cplusplus, size: 315314
08:10
Merge 8.7 file: [78dddb4932] check-in: [f33e2933b5] user: jan.nijtmans branch: trunk, size: 314983
2019-07-17
15:38
Eliminate "register" keyword _everywhere_ in Tcl. This keyword is deprecated in C++ (removed in C++17, even), and essentially does nothing with most modern compilers. file: [fe1468e328] check-in: [f074bda87c] user: jan.nijtmans branch: no-register, size: 314911
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: [90a1b00e45] check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 315341
2019-05-10
07:46
merge 8.7 file: [91e3fdc8f3] check-in: [f3302db091] user: jan.nijtmans branch: utf-max, size: 314914
2019-05-03
15:58
merge trunk file: [0c05a99746] check-in: [61db2fb4ce] user: dgp branch: dgp-properbytearray, size: 315231
15:35
merge 8.7 file: [3ce67223dc] check-in: [4f192d63fb] user: dgp branch: trunk, size: 315010
2019-05-01
10:44
Check for BG_FLUSH_SCHEDULED inside ChannelTimerProc file: [9760769cb1] check-in: [9d5631ebf8] user: pooryorick branch: bug-de232b49f2, size: 314938
06:33
merge bug-de232b49f2 file: [b2ba967c67] check-in: [bc1f88d020] user: pooryorick branch: trunk, size: 314972
2019-04-27
07:19
Fix for de232b49f2, write-only nonblocking refchan and Tcl internal buffers. file: [bac43ea193] check-in: [d0dd6d19a4] user: pooryorick branch: bug-de232b49f2, size: 314900
2019-04-02
07:53
Merge trunk file: [75c014d4b2] check-in: [277aaa0fb5] user: jan.nijtmans branch: dgp-properbytearray, size: 314442
2019-03-20
22:54
Merge 8.7 file: [e6fb41c8cd] check-in: [3ea5d3e8a3] user: jan.nijtmans branch: utf-max, size: 314125
2019-03-18
22:17
Merge 8.7 file: [5f32ee4798] check-in: [b9ad5fe740] user: jan.nijtmans branch: trunk, size: 314221
22:14
enlarge a few small buffers, which could overflow using Unicode characters > /UFFFF. Eliminate some end-of-line spacing file: [26e9f9ded0] check-in: [41c373ad8f] user: jan.nijtmans branch: core-8-branch, size: 314149
2019-03-16
21:10
Merge 8.7 Move up some stub entries related to Tcl_UniChar Use TCL_UTF_MAX=4 for full Unicode in stead of TCL_UTF_MAX=6 (TCL_UTF_MAX: 3 is default) file: [1143162d3b] check-in: [81502a66ed] user: jan.nijtmans branch: utf-max, size: 314123
2019-03-14
22:47
Merge trunk file: [9fa9effa44] check-in: [419fdde9fc] user: jan.nijtmans branch: dgp-properbytearray, size: 314436
2019-03-13
20:44
Eliminate many (mostly harmless) MSVC warning messages. Tcl 9 compiles warning-free now on MSVC. file: [890c004b8c] check-in: [cf865c6e2b] user: jan.nijtmans branch: trunk, size: 314215
2019-03-08
22:51
Merge 8.7 file: [e982196185] check-in: [fe02c8898e] user: jan.nijtmans branch: trunk, size: 314147
11:34
3-way merge 8.6 - timerate is part of Tcl now (since TIP#527 got merged), conflicts resolved, merge-points restored, configure rebuilt, etc file: [5c08fdd1fd] check-in: [102958b94e] user: sebres branch: sebres-8-6-event-perf-branch, size: 315438
04:05
merge sebres-8-5-timerate (prepare for consolidation with 8.5) file: [1c7ea28bd4] check-in: [ca89c4e5a7] user: sebres branch: sebres-8-5-event-perf-branch, size: 296984
2019-02-26
19:37
More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) and (unsigned) type-casts, which don't make sense any more. file: [15085093d2] check-in: [2c7db3fa01] user: jan.nijtmans branch: mistake, size: 314143
2019-02-22
20:23
WIP file: [d6ec5fe910] check-in: [15fabd01bb] user: dgp branch: dgp-properbytearray, size: 314360
20:12
WIP file: [30f995c76c] check-in: [567ea96577] user: dgp branch: dgp-properbytearray, size: 314478
16:45
Merge and resolve more from the trunk. file: [f89340694a] check-in: [11271c0a32] user: dgp branch: dgp-properbytearray, size: 314428
2019-02-14
20:31
Merge trunk through 2019-01-25 file: [663d8ebcb4] check-in: [147905ffeb] user: dgp branch: dgp-properbytearray, size: 314429
2019-02-04
22:45
Merge trunk file: [a63b45954f] check-in: [a6db8815ce] user: jan.nijtmans branch: tip-502-for-9, size: 314139
2019-02-01
20:36
Another (big) round of int -> size_t enhancements. So Tcl can handle string >2GiB in more places. file: [93dfe2d816] check-in: [8534448b44] user: jan.nijtmans branch: trunk, size: 314257
2019-01-28
21:47
Merge 8.7 file: [1790ebb48e] check-in: [08dd3497f1] user: jan.nijtmans branch: trunk, size: 314207
21:34
New internal macro TclFetchIntRep, which is faster than Tcl_FetchIntRep. But ... don't use this function when the result is only compared to NULL: that's just overkill. file: [187c0b26f0] check-in: [d3ed67412e] user: jan.nijtmans branch: core-8-branch, size: 314215
2019-01-24
20:10
Another round of int -> size_t modifications, so strings > 2Gb are handled correctly on 64-bit platforms. file: [f3e3275286] check-in: [0c0ff65606] user: jan.nijtmans branch: trunk, size: 314208
2018-11-19
18:24
merge trunk file: [aedb204d36] check-in: [f99141a5ea] user: dgp branch: dgp-properbytearray, size: 314403
2018-11-18
10:29
Now that we have TCL_AUTO_LENGTH/TCL_IO_FAILURE macro's, use them to make code and documentation more readable.

Shifted to feature branch as a temporary measure since it doesn't build. file: [fc5939f020] check-in: [d828309515] user: jan.nijtmans branch: jn-use-macros, size: 314182

2018-11-06
12:59
merge core-8-branch file: [1133a79bcc] check-in: [445db2cb18] user: dkf branch: mistake, size: 314153
2018-10-24
00:06
merge trunk file: [579e98540b] check-in: [b2e2314ae8] user: dgp branch: dgp-properbytearray, size: 314068
2018-10-18
15:31
merge 8.7 file: [55642c4551] check-in: [000ee6e038] user: dgp branch: tip-445, size: 314216
2018-10-17
19:49
merge 8.7 file: [69ede45be4] check-in: [30d5e6a673] user: dgp branch: tip-469, size: 313958
2018-10-06
19:20
Use more TCL_AUTO_LENGTH, when appropriate file: [77d82a893c] check-in: [c643e8fe38] user: jan.nijtmans branch: memory-API, size: 313847
2018-09-13
20:52
merge trunk file: [0e215115a7] check-in: [8e81b9d9b8] user: jan.nijtmans branch: memory-API, size: 313813
20:52
merge 8.7 file: [ac9198a1a5] check-in: [0caf13a0cf] user: jan.nijtmans branch: trunk, size: 313463
20:33
Eliminate the use of macro's like LLONG_MAX|MIN, since they assume that Tcl_WideInt equals "long long". Also eliminate uses of Tcl_WideAsLong() and friends, as - often - simple type cases make things more clear. file: [dc3c030c19] check-in: [f89b8af179] user: jan.nijtmans branch: core-8-branch, size: 313910
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: [a6da3d3b3f] check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 314101
2018-07-10
19:18
Remove 4 unneeded compatibility macro's, because those functions never return -1 anyway. Change documentation to use void * in stead of ClientData file: [4b4f4a7243] check-in: [701b0014c7] user: jan.nijtmans branch: memory-API, size: 314027
2018-07-06
21:36
remaining external API. Looks like complete now. Milestone! Still more testing needed file: [a0eef227c1] check-in: [f8de6ab8da] user: jan.nijtmans branch: memory-API, size: 314020
19:53
more progress file: [f6f7339fbb] check-in: [34f111f433] user: jan.nijtmans branch: memory-API, size: 313913
2018-07-01
06:21
Starting to update all callers of TclGetStringFromObj() to use size_t variables file: [503fa97b10] check-in: [97c2217f81] user: jan.nijtmans branch: memory-API, size: 313889
2018-06-29
18:13
Improve many parsing-related functions to use size_t file: [6135c0b74f] check-in: [2d7687959e] user: jan.nijtmans branch: memory-API, size: 313883
2018-06-28
21:42
More API changes using size_t. Internal changes not complete yet (WIP) file: [22ac7dd4a8] check-in: [1bfecd9172] user: jan.nijtmans branch: memory-API, size: 313919
2018-06-12
11:28
merge amend from 8.5th fix file: [407e8fa6bf] check-in: [f5a01b5f42] user: sebres branch: fix-815e246806-8-6, size: 316588
11:23
atomic Incr/Decr with Fetch renamed (a bit more clear now, because first increments then fetch), provide little documentation for atomic functions; extended with possibility to switch to non-atomic functions (currently TCL_THREADS-related). file: [838eda0a04] check-in: [52ddcca8d5] user: sebres branch: fix-815e246806-8-5, size: 298017
2018-06-11
12:57
amend after merge (lossed by conflict-resolve) file: [303766db03] check-in: [8ac4d64f41] user: sebres branch: fix-815e246806-8-5, size: 298015
12:51
back-port 8.6th fix file: [071721dc2c] check-in: [35b3eadf7f] user: sebres branch: fix-815e246806-8-5, size: 297969
11:11
fixed [815e246806] for 8.6th case if channel switches owner in fileevent via thread::transfer and thread::detach/attach (sync/async technique) file: [e95bd4af99] check-in: [922ee82dde] user: sebres branch: fix-815e246806-8-6, size: 316586
2018-06-08
22:34
**interim commit** fixed for 8.6th case if channel switches owner via thread::transfer file: [f30244620c] check-in: [2e7300065a] user: sebres branch: fix-815e246806-8-6, size: 316012
19:02
merge atomic fix from fix-815e246806-8-5 file: [1629731e4b] check-in: [1d2c1768c9] user: sebres branch: fix-815e246806-8-6, size: 314968
18:59
Fixes bug [815e246806] using atomic reference counter (atomic incr/decr during channel transfer process). Introduces TclAtomicInt buildin primitives (for atomic fetch operations), currently gcc, clang (excepting older versions) and windows. file: [cc018927a0] check-in: [bd0fca47e3] user: sebres branch: fix-815e246806-8-5, size: 296439
13:33
merge fix for [815e246806] from 8.5th branch fix-815e246806-8-5 file: [bc420aa5b2] check-in: [f44a1ddd60] user: sebres branch: fix-815e246806-8-6, size: 314932
13:28
fixes [815e246806], extend Tcl_RegisterChannel/Tcl_UnregisterChannel with preserving of ref-count of the channel also to avoid unexpected removal of channel during the transfer-process between threads (could temporary share the channel in two threads, especially if initiated from event-handler like TclChannelEventScriptInvoker). file: [6bf795e319] check-in: [dafa1a0859] user: sebres branch: fix-815e246806-8-5, size: 296403
2018-03-15
14:14
merge 8.7 file: [fe8482b724] check-in: [15b92d9602] user: dgp branch: tip-469, size: 314246
2018-03-06
13:56
merge trunk file: [37e3df0238] check-in: [ca5a9a7e17] user: dgp branch: dgp-properbytearray, size: 313972
13:45
merge 8.7 file: [9a2bc37d2e] check-in: [068966277d] user: dgp branch: tip-445, size: 314504
13:21
merge 8.7 file: [37e95d8f0f] check-in: [fd73024fcf] user: dgp branch: trunk, size: 313751
12:59
merge 8.6 file: [2b280cb254] check-in: [3d06c4a172] user: dgp branch: core-8-branch, size: 314198
2018-03-05
17:43
merge core-8-5-branch (fixes [1873ea0ee4f01b26]: wrong initialization of std-channels ...) file: [60b1ee2505] check-in: [6b38bf6d66] user: sebres branch: core-8-6-branch, size: 314530
17:37
fixes [1873ea0ee4f01b26]: wrong initialization of std-channels, if no std-handles available at all (e. g. non-console application, like "tk") file: [9dbcc6af5e] check-in: [041bc74867] user: sebres branch: core-8-5-branch, size: 296001
2018-02-04
15:52
fileevent $ch exception ... file: [1f17cc0d76] check-in: [3d3173c16b] user: avl42 branch: tip-469, size: 314088
2017-11-29
15:37
merge trunk file: [e7c44b72a8] check-in: [24b9855f92] user: dgp branch: dgp-properbytearray, size: 313814
14:54
merge 8.7 file: [a3f3178d5b] check-in: [8944ae4374] user: dgp branch: tip-445, size: 314346
2017-11-20
12:13
Remove TclCopyChannelOld() function. Should have been part of [b03c4194f001be0b|this] earlier commit. file: [d76feb90a3] check-in: [f79d84d06c] user: jan.nijtmans branch: trunk, size: 313593
12:07
If Tcl is compiled with -DTCL_NO_DEPRECATED, remove a lot of (internal) stub entries which correspond to functions which will be removed in Tcl 9. This commit should have been part of [7849f573c0e7d758|this] earlier commit. No effect when Tcl is not compiled with -DTCL_NO_DEPRECATED. file: [d83afab045] check-in: [4a603a5f7d] user: jan.nijtmans branch: core-8-branch, size: 314040
2017-11-08
14:30
Rebase to trunk. file: [b0f503448e] check-in: [a12771a1b9] user: dgp branch: dgp-properbytearray, size: 314222
2017-10-27
15:35
merge novem file: [785cb0ee80] check-in: [f646928626] user: dgp branch: dgp-properbytearray, size: 313836
13:12
merge trunk file: [978698c0d9] check-in: [58759b9397] user: dgp branch: tip-445, size: 314307
2017-10-23
17:12
Update TZ info to tzcode2017c. file: [86d940ae24] check-in: [822e31b89d] user: jima branch: novem, size: 313615
12:10
merge core-8-6-branch file: [dcd06848e5] check-in: [91967bbc3f] user: jan.nijtmans branch: trunk, size: 314001
12:09
Fix [b58e689703]: Return value of 'Tcl_Flush' file: [9ef7957ec4] check-in: [f7b55d3100] user: jan.nijtmans branch: core-8-6-branch, size: 314372
2017-07-16
20:55
fileevent $ch exception ... file: [bfa9c06150] check-in: [5610dcf5cd] user: avl branch: tcl-469-1st-try, size: 314042
2017-07-10
11:12
merge sebres-8-5-event-perf-branch file: [756ab3386d] check-in: [2219c00d2a] user: sebres branch: sebres-8-6-event-perf-branch, size: 315273
10:56
reintegrate sebres-8-6-event-perf-branch back to 8.5 file: [dcbee039ab] check-in: [d97f93c3f3] user: sebres branch: sebres-8-5-event-perf-branch, size: 296826
08:55
Stability fix: queue epoch to guarantee avoid broken queue, service level to avoid reset block time by nested event-cycles (if Tcl_SetTimer does not create it), etc. Fixed retarded events (using new retarded list, the involve of the retarded events occurs only after checking of all event sources now). Two opportunities to retard event: - lazy, using the same event-object: in the handler set event->proc to new (or the same) handler (fast, possible only if not entering new event-cycle in handler); - create the event with new position "TCL_QUEUE_RETARDED"; New inline functions TclpQueueEventClientData / TclpQueueEventEx to fast creating resp. queuing event with extra data. file: [9d12eeed6e] check-in: [68698a3ac4] user: sebres branch: sebres-8-6-event-perf-branch, size: 315277
08:53
merge resp. reintegrate sebres-8-5-event-perf-branch to 8.6 file: [93826ccf88] check-in: [fed961497a] user: sebres branch: sebres-8-6-event-perf-branch, size: 315190
2017-07-03
13:31
don't cancel scheduled event as long as the event list is not bidirectional (too slow by large queue) - rewritten to cancel delayed (by execute it). file: [6e16697f77] check-in: [25de7fd7a9] user: sebres branch: sebres-8-5-event-perf-branch, size: 296743
13:31
fixed timer-marker handling: timer should be always executed after queued event (of the same generation), it was marked (be sure it marked to immediate execution in corresponding checkProc only). tclIO: scheduled event rewritten using Tcl_Event instead of timer event (IO is not timer, e. g. executed also by usage of `vwait -notimer ...`, etc). file: [5635a100d7] check-in: [470ed5221b] user: sebres branch: sebres-8-5-event-perf-branch, size: 296509
13:31
interim commit: trying to pass test-cases - timer-3.*, chan-io-29.34, socket-2.12 (busy prompt timer, unexpected too early timer event, wrong timer-marker usage) file: [831b633c2c] check-in: [d49f6f0a55] user: sebres branch: sebres-8-5-event-perf-branch, size: 296994
13:30
code review, rewrite tclTimer, prolongation, etc. file: [3b3eefd34e] check-in: [449d30a964] user: sebres branch: sebres-8-5-event-perf-branch, size: 296979
13:30
interim commit: code review, rewrite tclTimer, etc. file: [4a7eba9c36] check-in: [6828f2cd17] user: sebres branch: sebres-8-5-event-perf-branch, size: 296933
2017-06-05
18:33
Change the return type of Tcl_RegisterChannel from void to Tcl_Channel and have Tcl_RegisterChannel return the channel. his is a convenience to the programmer. file: [7610674287] check-in: [9d18c14038] user: stu branch: stwo-dev86, size: 314031
2017-04-12
13:36
merge trunk file: [79b9704952] check-in: [36507326e3] user: dgp branch: tip-445, size: 314300
2017-04-11
15:20
Remove some unnecessary "struct" definitions and some type casts no longer necessary. No functional changes. file: [992722ab43] check-in: [1f5acc492f] user: jan.nijtmans branch: trunk, size: 313994
14:47
merge novem file: [7c98768b0f] check-in: [c71f16742c] user: dgp branch: dgp-properbytearray, size: 313829
14:14
merge trunk file: [842436ffe0] check-in: [27c5038e96] user: dgp branch: tip-445, size: 314319
10:04
merge trunk file: [b3651c2316] check-in: [9aa06eddb4] user: jan.nijtmans branch: novem, size: 313608
2017-04-10
16:21
More minor style fixes. file: [c9e482594a] check-in: [4809613b1b] user: dkf branch: trunk, size: 314013
2017-03-29
14:35
merge trunk file: [8c68faaaab] check-in: [5154e628d8] user: dgp branch: tip-445, size: 313594
14:28
merge novem file: [0c54a466fe] check-in: [3ce58b40ba] user: dgp branch: dgp-properbytearray, size: 313103
12:20
Merge trunk file: [ae6c70129c] check-in: [eca85b8e37] user: jan.nijtmans branch: novem, size: 312882
12:16
In comments and documentation, distinguish between __int64 (a Microsoft 64-bit integer type) and int64_t (C99 equivalent) file: [c92eef4bab] check-in: [88e580fec1] user: jan.nijtmans branch: core-8-6-branch, size: 314365
12:05
(more experimenting): Make TCL_LL_MODIFIER behave more close to intuitive expectations: If the platform has a "long long" type, use it for Tcl_WideInt, so TCL_LL_MODIFIER is really a replacement for "ll" on most platforms (Win32/Win64 as most notable exception). Will need a new TIP. file: [1c9ce630a4] check-in: [c2eca96850] user: jan.nijtmans branch: z_modifier, size: 313288
2017-02-16
15:51
merge trunk file: [c6234d539e] check-in: [b77b0b9348] user: dgp branch: tip-445, size: 313592
2017-02-15
14:04
More internal use of size_t in stead of int, e.g. for epoch's file: [9bbe29df5e] check-in: [ff3f6a12a8] user: jan.nijtmans branch: trunk, size: 313286
2017-01-27
16:32
merge trunk file: [7a6eb5bc45] check-in: [50c9784c6a] user: dgp branch: tip-445, size: 313589
2017-01-25
12:22
If TCL_NO_DEPRECATED is defined, remove the "case" statement, and use much less interp->result. Implementation mostly taken over from "novem". If TCL_NO_DEPRECATED is not defined, nothing changes. file: [cda735b5e9] check-in: [3fe8ec5fd6] user: jan.nijtmans branch: trunk, size: 313283
2017-01-12
20:59
merge trunk file: [7d76f4b42c] check-in: [23f740a281] user: dgp branch: tip-445, size: 314676
2017-01-03
16:48
merge novem file: [9e63572cd6] check-in: [ddc40d9c59] user: dgp branch: dgp-properbytearray, size: 313101
2016-12-23
15:49
merge trunk file: [c8f6e827aa] check-in: [c56a03aae7] user: jan.nijtmans branch: novem, size: 312880
15:43
Update -DMSTATS functionality, for possible total memory sizes > 2Gb. One more place where use of size_t can increase range. file: [60f6be3ecb] check-in: [31fbc1f55a] user: jan.nijtmans branch: trunk, size: 314370
2016-12-13
18:29
Update Tcl_SetByteArrayLength() and callers. file: [0a75f0f378] check-in: [522ab5524f] user: dgp branch: dgp-properbytearray, size: 313094
2016-12-07
19:52
Put explicit byte-narrowing in the write pipeline of -encoding binary channels. This makes tests pass again. I don't much like it. It makes "-encoding binary" something different from "-encoding iso8859-1 -eofchar {} -translation lf" without a known good reason. Seems it would fit in better with other encodings if chars outside the supported set transformed in "?" instead. file: [d402a05747] check-in: [236f5e4f11] user: dgp branch: dgp-properbytearray, size: 313040
2016-12-02
19:01
merge trunk file: [a3d7293d7b] check-in: [33041ae916] user: dgp branch: tip-445, size: 314669
2016-12-01
11:42
compatability -> compatibility file: [8d9fa9c9df] check-in: [602e06e9d3] user: jan.nijtmans branch: core-8-6-branch, size: 314363
11:39
compatability -> compatibility file: [d323b043c8] check-in: [9cf8d87904] user: jan.nijtmans branch: core-8-5-branch, size: 295843
2016-11-29
12:26
merge trunk file: [f6300df60a] check-in: [0a73f68e8e] user: jan.nijtmans branch: novem, size: 312873
2016-11-25
12:58
merge trunk file: [129f68b9b3] check-in: [742389b703] user: jan.nijtmans branch: novem, size: 312871
2016-07-18
21:53
Second half "chan" Tcl_ObjType conversion. Mistake avoided this time. file: [d148726ef8] check-in: [d672e6e584] user: dgp branch: tip-445, size: 314669
20:59
Half convert "chan" Tcl_ObjType to new interfaces. file: [2f1516c0aa] check-in: [bb39d672f9] user: dgp branch: tip-445, size: 314549
20:08
Convert "chan" Tcl_ObjType to new interfaces. file: [28de50d7b4] check-in: [f5b0b1985d] user: dgp branch: mistake, size: 314656
17:15
merge trunk file: [d4b7abc27f] check-in: [c58aa1576a] user: dgp branch: novem, size: 312879
16:46
[104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cached channel name lookups. file: [af648152fc] check-in: [fb17469c50] user: dgp branch: core-8-6-branch, size: 314363
16:26
[104f2885bb] Rework the "chan" Tcl_ObjType to properly validate cached channel name lookups. file: [ec2c98d12a] check-in: [05d912fea5] user: dgp branch: core-8-5-branch, size: 295843
2016-04-20
16:44
Merge 8.6.5 file: [f9aa7c115d] check-in: [090329ea25] user: dgp branch: little, size: 316995
2016-04-19
20:35
Fork of Tcl used in the "Little" project. http://www.mcvoy.com/lm/little/index.html file: [59e988a423] check-in: [69b737f5a1] user: dgp branch: little, size: 316997
2015-11-24
09:19
Merge trunk. Use "tcl9" in stead of "tcl8" in various Makefiles, which (finally) allows to remove the hack in tm.tcl introduced in [387d3899e088f9e4] file: [af9ddf9229] check-in: [577ce89a59] user: jan.nijtmans branch: novem, size: 313486
2015-11-10
16:34
[261a8a79f0] Integer overflow leads to segfault. file: [ec741875e9] check-in: [a03fee273c] user: dgp branch: trunk, size: 314970
16:31
[261a8a79f0] Integer overflow leads to segfault. file: [7381b7ef93] check-in: [8303249388] user: dgp branch: core-8-5-branch, size: 296406
2015-09-25
17:12
merge trunk file: [4f0eef0c7f] check-in: [e2fac8a6f7] user: jan.nijtmans branch: novem, size: 313488
16:43
Backout failed attempt to fix [32ae34e63a]. file: [b3f8152197] check-in: [33902c18c2] user: dgp branch: trunk, size: 314972
2015-09-23
17:15
[e0a7b3e5f8] Add missing UpdateInterest call in DoRead(). file: [3e22b688ad] check-in: [59229a9240] user: dgp branch: trunk, size: 315829
16:58
[32ae34e63a] Prevent segfaults and data corruption when CopyData() is called recursively. Mark new test io-53.20 as "knownBug". It demos some unknown flaw in MoveBytes(). file: [1d9a38c7e8] check-in: [7ecd0b8c8d] user: dgp branch: trunk, size: 315563
16:37
merge 8.5 file: [a759444d05] check-in: [19bcc9ef79] user: dgp branch: bug-e0a7b3e5f8, size: 297265
16:00
Protect CopyState buffer from conflicting uses when CopyData() is called recursively. Also, have ReflectWatch() always give driver a chance to act. file: [cf481c2463] check-in: [84f5187671] user: dgp branch: bug-32ae34e63a, size: 296999
13:18
CopyData() now tolerates recursion enough so that io-53.18 does not segfault. file: [72a868d22d] check-in: [b932f3d39b] user: dgp branch: bug-32ae34e63a, size: 296820
09:40
WIP file: [83141e996a] check-in: [6b6709c021] user: dgp branch: bug-32ae34e63a, size: 297401
2015-08-10
19:44
Add the critical missing UpdateInterest() call at the exit of DoRead(). (Compare with same approach in DoReadChars()). This involves removing some other calls that are now replaced by the new one. Also marked several UpdateInterest() calls throughout tclIO.c with comments raising the suspicion that they serve no function. file: [ee4176f7de] check-in: [3993dcc988] user: dgp branch: bug-e0a7b3e5f8, size: 296408
2015-07-29
14:56
merge trunk file: [a945205ef9] check-in: [2fe99beec9] user: dgp branch: novem, size: 313222
2015-07-15
17:20
[b1534b438b] Prevent read outside buffer boundaries. file: [d8476c0741] check-in: [0915121be2] user: dgp branch: trunk, size: 314706
17:17
[b1534b438b] Prevent read outside buffer boundaries. file: [6788f70d44] check-in: [03885f127a] user: dgp branch: core-8-5-branch, size: 296142
2015-07-02
13:17
merge trunk file: [e494c50da4] check-in: [cfb40a9761] user: jan.nijtmans branch: novem, size: 312666
12:29
Revert some refcount changes on I/O structs. These are refcounts on structs, not Tcl_Obj's. Their scheme doesn't suffer the same difficulties and histories as Tcl_Obj's, and they need not copy every detail, appropriate or not, from Tcl_Obj refcount management. The "significant value" -- as dkf puts it -- for the struct refcounting scheme is 0 not 1. file: [3638d22d48] check-in: [77039e15ef] user: dgp branch: trunk, size: 314150
08:42
merge trunk file: [bd1bb34b98] check-in: [4c0b0070c3] user: jan.nijtmans branch: novem, size: 312674
08:17
Another round of refCount consistancy improvements. file: [325bfc92c4] check-in: [ec91b85b61] user: jan.nijtmans branch: trunk, size: 314158
2015-06-18
19:58
merge novem file: [c7ee8d3c99] check-in: [8d9650ab81] user: jan.nijtmans branch: novem-more-memory-API, size: 312711
2015-04-29
21:51
merge trunk file: [0695d299d9] check-in: [c80897363f] user: jan.nijtmans branch: novem, size: 312703
18:16
[894da183c8] Test and fix for regression in flushing blocked channels. file: [39a847ed3c] check-in: [98d7d3d724] user: dgp branch: trunk, size: 314240
18:00
[894da183c8] Test and fix for regression in flushing blocked channels. file: [1eb76061fc] check-in: [a13963e6e4] user: dgp branch: core-8-5-branch, size: 295586
16:34
[894da183c8] Fix and test for bug at the point it was introduced. file: [91110a00bf] check-in: [8eb3c44932] user: dgp branch: bug-894da183c8, size: 288587
2015-04-24
20:17
[879a0747be] Repair handling of incomplete multi-byte chars at the ends of input buffers. Also properly reset input encoding flags when cycling through a fleeting EOF condition. file: [fab1a8f708] check-in: [fa817d16c8] user: dgp branch: trunk, size: 314067
20:06
[879a0747be] Repair handling of incomplete multi-byte chars at the ends of input buffers. Also properly reset input encoding flags when cycling through a fleeting EOF condition. file: [42e03de185] check-in: [4b964e7afb] user: dgp branch: core-8-5-branch, size: 295413
2015-04-21
18:23
Proposed fix for bug 879a0747be file: [d88b57ad46] check-in: [606edab7e3] user: dgp branch: bug-879a0747be, size: 293445
2015-02-26
16:35
merge trunk file: [a13c34353d] check-in: [f28efa3202] user: dgp branch: novem, size: 310564
2015-02-19
22:01
per ticket [e08c2c407b053bbfaab] (and stray code related to [84f208762f172e]) adj code to passing test suite file: [ed46491514] check-in: [e8e453a016] user: bch branch: trunk, size: 312101
2015-02-12
17:08
Merge trunk and tzdata2015a from ietf.org file: [556169c622] check-in: [7e2416a5da] user: venkat branch: novem, size: 309772
2015-02-11
15:56
Even clearer failure messages. file: [cb2a337135] check-in: [d82fc0ac6e] user: dkf branch: tclchan_assertions, size: 312225
2015-02-08
05:04
inputProc and outputProc tests run conditionally on TCL_READABLE, TCL_WRITABLE mask file: [a108f3812f] check-in: [29f5697dfd] user: bch branch: tclchan_assertions, size: 311948
2015-02-07
21:19
switch raw assert() to Tcl_Panic() per discussion w/ dkf file: [3edb59d123] check-in: [4c53df3107] user: bch branch: tclchan_assertions, size: 311893
21:12
merge [trunk] file: [ec127983fd] check-in: [e64fd539ad] user: bch branch: tclchan_assertions, size: 311639
2015-02-05
19:23
Backport of channel mem leak fix that got missed before. file: [b12089b578] check-in: [9682f2723c] user: dgp branch: core-8-5-branch, size: 293445
2015-01-29
18:39
Fix [08872796bc] file: [f96bf3ed27] check-in: [938d402c18] user: dgp branch: trunk, size: 311309
2015-01-26
21:00
merge trunk file: [400ff787c7] check-in: [8fdd17d1b2] user: jan.nijtmans branch: novem, size: 309755
2015-01-21
00:21
truncateProc *can* be NULL file: [ab7e573e99] check-in: [4f581ec708] user: bch branch: tclchan_assertions, size: 311622
2015-01-20
23:40
assert() on missing definitions for Tcl_ChannelCreate() required struct Tcl_ChannelType{} fields. file: [2562ee318f] check-in: [03386a8409] user: bch branch: tclchan_assertions, size: 311663
2015-01-02
22:42
Now that we're using TCL_ENCODING_NO_TERMINATE - be careful about acting on the contents of dst -- they could be leftovers. Only check bytes reported to have been written and take care to get the assertions right. file: [adbc656608] check-in: [bd7e81c0fb] user: dgp branch: trunk, size: 311292
2014-12-23
18:44
merge trunk file: [15c7aa7809] check-in: [526ce54517] user: dgp branch: novem, size: 309763
16:57
Use the new TCL_ENCODING_CHAR_LIMIT flag to have the encoding system manage the max chars to read constraint. file: [eab4d1aba5] check-in: [8890be077c] user: dgp branch: dgp-encoding-flags, size: 311300
15:19
merge trunk file: [1a166d9c6e] check-in: [ce8eb2a4dd] user: dgp branch: novem, size: 309506
03:11
merge trunk file: [fdc7c60a95] check-in: [b057d4a0fb] user: dgp branch: dgp-encoding-flags, size: 311135
2014-12-18
18:06
[7c187a3773] Fix error in managing inStatePtr->inQueueTail value in the byte-moving optimized path of [chan copy]. Thanks to Benno. file: [71e90e87e8] check-in: [fca565edf9] user: dgp branch: trunk, size: 311043
2014-11-15
21:13
With no padding needed for a terminating NUL, there no need for a distinction between the dstNeeded and dstLimit values. file: [1b54cb52c8] check-in: [08d5c4e676] user: dgp branch: dgp-encoding-flags, size: 311051
21:08
Tcl_ExternalToUtf appends a terminating NUL to its encoded results. Perhaps this is a welcome convenience for some callers, but not for Tcl's I/O system, which has no need for that. Added a new flag value TCL_ENCODING_NO_TERMINATE that callers can use to suppress this behavior. This means buffers don't require so much padding, and a tiny bit of processing is saved. Update I/O callers to use the feature. file: [144794b6e1] check-in: [dfbd1c41a7] user: dgp branch: dgp-encoding-flags, size: 311090
2014-11-12
04:44
merge trunk file: [1e5111b149] check-in: [c0fa0060a5] user: dgp branch: novem, size: 309422
2014-11-11
22:23
Likely fix for channel mem leaks. file: [deb2c62f85] check-in: [450a131ee7] user: dgp branch: core-8-6-3-rc, size: 310959
2014-11-06
16:56
merge trunk file: [7719b48a1c] check-in: [d5dbec3ae3] user: dgp branch: novem, size: 309239
2014-11-03
21:04
Same patch re-enabling read after EOF, but here applied to 8.6. Likely additional changes needed in the other channel transforms new in 8.6. file: [e0dd789848] check-in: [e9b791012a] user: dgp branch: bug-5adc350683-86, size: 310776
20:39
[5adc350683] Reworked the management of the EOF states to re-enable the ability to read beyond EOF. Plenty of assert()s to keep thing from going off track again. file: [7f19c63d20] check-in: [77bf4ea593] user: dgp branch: bug-5adc350683, size: 293254
2014-11-01
14:52
Disable assertion until tls bug it detects is fixed. file: [037681b82b] check-in: [bd7e5a4c20] user: dgp branch: trunk, size: 305638
2014-10-28
20:10
Work in progress restoring ability to [read] after [eof] and get non-empty strings back in those cases where the channel has them to offer. Also working through all the implications of this possibility on Tcl's more exotic channel features, like stacking. file: [2c1c9c3a0d] check-in: [442bff14d8] user: dgp branch: bug-5adc350683, size: 290084
2014-10-18
22:49
merge trunk: file: [0f525fdb1b] check-in: [7abadb418f] user: dgp branch: novem, size: 303807
20:03
[10dc6daa37] New fix for [gets] on non-blocking channel. This time properly accounts for the effects of ENCODING_LINESIZE. file: [9a6c9cbb71] check-in: [58e5b26f2a] user: dgp branch: trunk, size: 305344
19:50
[10dc6daa37] New fix for [gets] on non-blocking channel. This time properly accounts for the effects of ENCODING_LINESIZE. file: [cf081228b0] check-in: [dfb79fa482] user: dgp branch: core-8-5-branch, size: 288117
2014-10-17
20:38
merge 8.5 file: [210918292e] check-in: [22595d7149] user: dgp branch: experiment, size: 305308
20:37
Revert the Tcl_GetsObj portion of the last commit. Although it fixed the bug demonstrated by the test io-33.12, it caused new breakage in [gets] not yet understood. Test io-33.12 left in place to prompt further work. file: [ac546f7dd6] check-in: [9c6f8da9dc] user: dgp branch: experiment, size: 288081
15:30
[10dc6daa37] [gets] on a non-blocking channel must take care so that 1) At least one call to the channel driver input proc gets made. Failure to do this locks up the channel - catastrophic FAIL. 2) After any driver call reports BLOCKED, don't call again. This is less serious, but FAILs to respect the non-blocking setting. Code corrections and tests included, to restore 8.6.1 compat. file: [4fac4806d3] check-in: [1271c3edfe] user: dgp branch: experiment, size: 305478
15:20
[10dc6daa37] [gets] on a non-blocking channel must take care so that 1) At least one call to the channel driver input proc gets made. Failure to do this locks up the channel - catastrophic FAIL. 2) After any driver call reports BLOCKED, don't call again. This is less serious, but FAILs to respect the non-blocking setting. Code corrections and tests included, to restore 8.5.15 compat. file: [898204e747] check-in: [87fc2707a0] user: dgp branch: experiment, size: 288251
2014-10-10
20:03
merge trunk file: [9c221fa1f2] check-in: [40b2999ded] user: dgp branch: novem, size: 303729
19:56
[bf7135428c] Restore the Tcl_Write() return value logic. file: [55f5eaf56d] check-in: [2e1556fb0e] user: dgp branch: trunk, size: 305266
19:54
[bf7135428c] Restore the Tcl_Write() return value logic. file: [e6fde87214] check-in: [9e301d16f7] user: dgp branch: core-8-5-branch, size: 288039
19:44
[ed29c4da21] Completed fix for [chan copy] handling [chan blocked]. file: [574a08307b] check-in: [b71be3e49e] user: dgp branch: trunk, size: 305226
18:28
[ed29c4da21] Merge patch from 8.5, still not a complete fix. file: [1b6696da06] check-in: [009cbc8def] user: dgp branch: trunk, size: 305064
18:24
[ed29c4da21] Don't let BLOCKED state get converted into a channel error. file: [cd4af57422] check-in: [a0b44a3c1d] user: dgp branch: core-8-5-branch, size: 287999
2014-10-02
14:51
merge trunk file: [82795a8b5b] check-in: [a20825f456] user: dgp branch: novem, size: 303171
14:46
[bc5b790099] Improper calculation of new dstLimit value. New test io-12.7. file: [6cfb21a5a5] check-in: [32edfe9722] user: dgp branch: trunk, size: 304708
14:43
[bc5b790099] Improper calculation of new dstLimit value. New test io-12.7. file: [35dd5d4c51] check-in: [df382f0bf1] user: dgp branch: core-8-5-branch, size: 287643
2014-09-17
13:16
merge trunk file: [d70b0dba9c] check-in: [e483b90ad3] user: jan.nijtmans branch: novem, size: 303190
2014-09-05
18:30
Make corrections to long-false comments. file: [3475249611] check-in: [2558fa2094] user: dgp branch: trunk, size: 304727
2014-09-04
22:05
Remove ChannelHandlerEvent struct, which has never been used in all of recorded Tcl history. Still need to purge comments of mentions of ChannelHandlerEventProc() which is similarly pre-historic. file: [af682f7f50] check-in: [e2338e8828] user: dgp branch: trunk, size: 304760
2014-08-24
17:50
merge trunk file: [587973a8db] check-in: [83d073e6c1] user: dgp branch: novem, size: 303589
2014-08-22
13:48
merge 8.5; fix notifier mask bug and Tcl_Read performance regression file: [553c10175c] check-in: [8cf00e79f5] user: dgp branch: trunk, size: 305126
13:20
Same results; simpler logic. file: [4aed59cabf] check-in: [5180649ac5] user: dgp branch: dgp-slow-read, size: 287662
2014-08-21
23:07
Test fix for likely cause of reported I/O slowdown. In a DoRead() revision, it came to favor making every effort to fill buffers, in preference to a more sensible goal of favoring avoiding calls out to the driver if there's already enough data in the buffers to satisfy the read operation. Result is many more calls out to recv() than are a good idea. Ought to show up most glaringly when many Tcl_Read() calls asking for small numbers of bytes (compared to buffer size) each, and that matches the reported case. file: [39ff85c938] check-in: [85cd086fd2] user: dgp branch: dgp-slow-read, size: 287909
04:13
Make simplificiations possible when we know just bytes are getting copied without complications of encodings file: [51fd0e6c55] check-in: [eb68cdfbc1] user: dgp branch: dgp-writebytes-optimize, size: 290634
2014-08-20
21:44
Copy Write() to WriteBytes() to create an arena for performance hacking. file: [11034dcb5a] check-in: [6e08d8924a] user: dgp branch: dgp-writebytes-optimize, size: 292085
17:50
Docs for Tcl_CreateChannelHandler() state that the registered handler proc will be called back with a mask value. "Mask is an integer mask indicating which of the requested conditions actually exists for the channel; it will contain ***a subset of the bits from the mask argument*** to Tcl_CreateChannelHandler when the handler was created." (emhpasis added).

Tcl_NotifyChannel is not honoring this. It passes a mask value that may contain bits not in common with the mask argument to T_CCH().

This commit is a one-liner patch adding in the masking step to make things behave as documented. Thanks to apn for digging this out. (In combination with other questionable code, this led to a hang in test http-4.6 on Windows)

Tcl_NotifyChannel() has had this error in all of recorded Tcl history. It's hard to imagine any code dependent on it though. If any exists, it can be revised to pass the mask value it truly needs to T_CCH() and end up with code suitable both before and after this change.

If you concur, please merge to core-8-5-branch, and I'll take it from there. file: [98b40a1869] check-in: [f520790052] user: dgp branch: aku-review, size: 287850

2014-08-14
06:49
Merge trunk. Remove (old and deprecated) SystemV timezone information. file: [8edeb0c360] check-in: [2f17676f24] user: jan.nijtmans branch: novem, size: 303764
2014-08-12
15:28
Accommodate the "udp" package, and any other Tcl package that expects a [read] on a channel @ EOF to attempt another pass through the channel drivers instead of immediately returning an empty string. Correcting this misbehavior appears too disruptive in a patch release to a long stable branch. file: [79599a9ab7] check-in: [8cd55feb1d] user: dgp branch: core-8-5-branch, size: 287836
2014-08-06
18:20
Fixed type conversion warnings which break a Win32 debug build (MSVC). file: [542994623e] check-in: [bd9c215886] user: andreask branch: trunk, size: 305301
2014-08-02
04:36
Another Preserve/Release on channels is needed during IO finalization. file: [b394d668a3] check-in: [c286356bd3] user: dgp branch: trunk, size: 304895
04:25
Another Preserve/Release on channels is needed during IO finalization. file: [e4e72c381b] check-in: [c22cc5859b] user: dgp branch: core-8-5-branch, size: 287824
2014-08-01
18:36
Updated package "platform" to version 1.0.13. Separated the identifiers "macosx*-i386-x86_64" and "macosx-universal" as incompatible with each other.

Plus addition of a cast in tclIO.c to match types in a comparison which otherwise bugs a Windows debug build (warnings are errors). file: [3c8428d4ad] check-in: [dcb280116a] user: andreask branch: core-8-5-branch, size: 287730

17:16
Backport the cheaper Preserve/Release on channels. file: [3b02ceb758] check-in: [ddcf91c9bd] user: dgp branch: core-8-5-branch, size: 287719
2014-07-30
02:58
Complete transformation off Tcl_Preserve() legacy onto ref counting. file: [e6ca8641fa] check-in: [6955f4f7b5] user: dgp branch: trunk, size: 304802
00:22
Reduce the cost of Preserve/Release on channels file: [c24818843c] check-in: [d77bfcba0a] user: dgp branch: trunk, size: 305046
2014-07-28
01:42
Revise MBRead() to be used in both sync and async modes. file: [961648febe] check-in: [f906a935ae] user: dgp branch: dgp-move-buffers, size: 304185
2014-07-27
22:53
Push MBWrite() differences out to callers. file: [7feb11c1b8] check-in: [f9904aa12a] user: dgp branch: dgp-move-buffers, size: 304576
17:20
Rework MBWrite() so it can be used in both sync and async modes. Reduce code duplication. file: [a1e4f4b51f] check-in: [50f3d36769] user: dgp branch: dgp-move-buffers, size: 304565
2014-07-26
15:44
Use common MBError() routine for sync and async operations. file: [63985c2cfc] check-in: [4712a9759c] user: dgp branch: dgp-move-buffers, size: 305477
15:02
Extend the "move buffer" implementation to cover the async case. file: [b2b4b75e68] check-in: [3523e77b9b] user: dgp branch: dgp-move-buffers, size: 305664
2014-07-24
15:34
simplify moveBytes selection logic file: [6750c73cc0] check-in: [e29e9fc580] user: dgp branch: dgp-move-buffers, size: 301329
15:24
Make sure MoveBytes error reporting reproduces what CopyData does. Bugward compatibility! file: [1dffe66f6d] check-in: [4b830e8027] user: dgp branch: dgp-move-buffers, size: 301404
15:02
Make sure MoveBytes records read error messages. file: [4fd2464a02] check-in: [92f931b2d4] user: dgp branch: dgp-move-buffers, size: 301064
2014-07-23
17:10
Extend the buffer move optimization to the "same encodings" case. file: [92b8716ad0] check-in: [e44c207283] user: dgp branch: dgp-move-buffers, size: 300895
2014-07-22
20:27
merge trunk file: [003ace5dff] check-in: [4bfdb8139c] user: dgp branch: dgp-move-buffers, size: 300841
2014-07-17
20:37
merge trunk file: [0642c01865] check-in: [6ba4e4b23d] user: jan.nijtmans branch: novem, size: 296210
2014-07-12
16:15
merge trunk file: [fb6dac8521] check-in: [e94bc46f19] user: dkf branch: bug-d5ddbc7f49, size: 298171
16:13
whopper change; now passes test suite on OSX file: [a16dee9e65] check-in: [0b38cdbc76] user: dkf branch: bug-d5ddbc7f49, size: 300329
2014-07-10
12:59
Repair buffer indexing error in Tcl_ReadRaw(). file: [05f7031a8b] check-in: [0f4ff1ba28] user: dgp branch: trunk, size: 297747
12:52
Repair buffer indexing error in Tcl_ReadRaw() exposed by iogt-6.0 and valgrind. file: [3ffc59d9c3] check-in: [6526c14303] user: dgp branch: core-8-5-branch, size: 287035
2014-07-09
14:44
First draft of using buffer moves in place of buffer copies to create an efficient [chan copy]. file: [35d0ca9725] check-in: [7a8b871fc7] user: dgp branch: dgp-move-buffers, size: 300848
2014-07-04
12:51
merge trunk file: [ad9a56af8a] check-in: [cc32a8e5c2] user: jan.nijtmans branch: novem, size: 296217
2014-07-02
16:30
[c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether a nonblocking channel is blocked. file: [d8dcc8ed1b] check-in: [af0d8f3b3c] user: dgp branch: trunk, size: 297754
16:20
[c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether a nonblocking channel is blocked. file: [24d09d795e] check-in: [6694ecd6d0] user: dgp branch: core-8-5-branch, size: 287042
2014-06-26
16:01
Fix mismatch of Tcl_Preserve() / Tcl_Release(). file: [f22be2acee] check-in: [4626888b50] user: dgp branch: trunk, size: 297764
15:59
Fix mismatch of Tcl_Preserve() / Tcl_Release(). file: [8f3f031f8e] check-in: [f58a059b16] user: dgp branch: core-8-5-branch, size: 287052
2014-06-24
16:46
Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer(). file: [11cc06cb2a] check-in: [1d2e0d8e55] user: dgp branch: trunk, size: 297783
16:34
Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer(). file: [a31a1dd7a2] check-in: [a9f9ffa7c7] user: dgp branch: core-8-5-branch, size: 287071
2014-06-23
08:41
cleaning up option processing throughout Tcl to use common functions/language file: [e296bab4ce] check-in: [7e93a07895] user: dkf branch: bug-d5ddbc7f49, size: 300101
2014-06-16
12:40
merge trunk file: [97750ac99d] check-in: [f3492bdbad] user: jan.nijtmans branch: novem, size: 298368
2014-06-05
15:20
When too many chars are read by ReadChars() and we trim the limits to get it right on the next pass, don't forget the TCL_UTF_MAX padding demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!) Fix the factorPtr management. It was just totaly wrong. The factor should be a ratio of the record of bytes read to the record of chars read. With those fixes, new test io-12.6 covers the "too many chars" code. file: [fece9c931c] check-in: [2e1e7c8266] user: dgp branch: trunk, size: 299905
15:17
When too many chars are read by ReadChars() and we trim the limits to get it right on the next pass, don't forget the TCL_UTF_MAX padding demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!) Fix the factorPtr management. It was just totaly wrong. The factor should be a ratio of the record of bytes read to the record of chars read. With those fixes, new test io-12.6 covers the "too many chars" code. file: [8e0b9b2f01] check-in: [04b06f7cea] user: dgp branch: core-8-5-branch, size: 289193
00:22
Fixed a tricky interaction of IO system and encodings which could result in a panic.

The relevant function is ReadChars() (short RC in the following).

When the encoding and translation transforms deliver more characters than were requested the iterative algorithm used by RC reduces the value of "dstLimit" (= the number of bytes allowed to be copied into the destination buffer) to force the next round to deliver less characters, hopefully the number requested.

The existing code used the byte located just after the last wanted character to determine the new limit. The resulting value could _undershoot_ the best possible limit because Tcl_ExternalToUtf would effectively reduce this limit further, by TCL_UTF_MAX+1, to have enough space for a single multi-byte character in the buffer, and a closing '\0' as well.

One effect of this were additional calls to ReadChars() to retrieve the characters missed by a call with an undershot limit.

In the limit (sic) however this was also able to cause a full-blown "Buffer Underflow" panic if the original request was for less than TCL_UTF_MAX characters (*), and we are using a single-byte encoding like iso-8859-1. Because then the undershot dstLimit would prevent the next round from copying anything, and causing it to try and consolidate the current buffer with the next buffer, thinking that it had to merge a multi-byte character split across buffer boundaries.

(Ad *) For example because the previous call had undershot already and left only such a small amount of characters behind!

The basic fix to the problem is to add TCL_UTF_MAX back to the limit, like is done in all the (three) other places in RC setting a new one. Note however that this naive fix may generate a new limit which is the same as the old, or possibly larger. If that happens we act very conservatively and reduce the limit by only one byte instead.

While I believe that this last conservative approach will never reduce the limit to TCL_UTF_MAX or less before reaching a state where it returnds the exact amount of requested characters I still added a check against this situation anyway, causing a new panic if triggered. file: [ed43cda0b4] check-in: [0f26611a0c] user: andreask branch: core-8-5-branch, size: 289746

2014-06-04
16:42
Revise DiscardOutput() to account for revisions to the loop in FlushChannel() which is its only caller. We need to discard the curOutPtr buffer as well, and not count on another pass through the loop to attempt to flush it (and raise the same failure again?). file: [21618f62f0] check-in: [2a072fdb9a] user: dgp branch: trunk, size: 299631
16:36
Revise DiscardOutput() to account for revisions to the loop in FlushChannel() which is its only caller. We need to discard the curOutPtr buffer as well, and not count on another pass through the loop to attempt to flush it (and raise the same failure again?). file: [4b2d3c418b] check-in: [2b1cda088c] user: dgp branch: core-8-5-branch, size: 288919
2014-06-03
17:32
Backport I/O core fixes made known by async socket work on trunk. file: [a7a1310ae5] check-in: [c801a8d5cc] user: dgp branch: core-8-5-branch, size: 288774
02:26
These edits make all tests outside of socket-14.* pass on OSX Mavericks. Several socket-14.* tests failing there, and those that pass are very slow about it. Firewall or poor networking configuration may be playing a role. file: [ec9d9274bb] check-in: [5b3eed19a0] user: dgp branch: dgp-async-socket, size: 299486
2014-06-02
20:03
These edits make the tests socket-14.11.[01] stop hanging, but also introduce a whole raft of test failures. WIP. file: [0d9babe420] check-in: [bf5e0126b5] user: dgp branch: dgp-async-socket, size: 299336
2014-05-31
14:12
Backout checkin 84f992ce50. This fixes test socket-14.11.1 and creates failure in tests *io-1.9. Branch bug-734138ded8 to work out resolution. file: [25108729d9] check-in: [5f5b6fc4b2] user: dgp branch: bug-734138ded8, size: 299220
02:40
Correct the interest masks in the Tcl_CreateFileHandler() calls in PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe. file: [f935bbbc1a] check-in: [0d6ad67b02] user: dgp branch: trunk, size: 299275
02:30
Correct the interest masks in the Tcl_CreateFileHandler() calls in PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe. file: [6e5bb9e4e1] check-in: [74a2238ecc] user: dgp branch: core-8-5-branch, size: 288769
2014-05-29
15:04
Refinements of FlushChannel() and its callers. Notably includes removal of the flag BUFFER_READY. file: [9a8c12c0d9] check-in: [37bcb4b42d] user: dgp branch: trunk, size: 299069
2014-05-28
18:58
Refinements of FlushChannel() and its callers. Notably includes removal of the flag BUFFER_READY. file: [bf7479f10a] check-in: [0ddf09e8bd] user: dgp branch: core-8-5-branch, size: 288563
18:49
Update comment to explain assumptions. file: [863923c99c] check-in: [b7bbbbc6ed] user: dgp branch: dgp-flush-channel, size: 288577
18:24
Further simplifications to FlushChannel(). This makes clear the BUFFER_READY flag serves no necessary purpose, so it is removed. file: [068f74982a] check-in: [d9e66fbb28] user: dgp branch: dgp-flush-channel, size: 288273
17:14
Expand the IsBufferFull() macro to check non-NULL bufPtr.. file: [3b82c89d83] check-in: [577da77e8c] user: dgp branch: dgp-flush-channel, size: 288999
16:54
Increase size of test io-29.34 so that it more portably tests the case where the OS networking machinery gets backed up and blocks. Added several TODO comments on potential simplifications. file: [88fe0cb90b] check-in: [83b2c056eb] user: dgp branch: dgp-flush-channel, size: 288979
2014-05-27
13:28
Move code that can only matter in the first loop iteration out of the loop. file: [3ca7b59bd7] check-in: [38257b5296] user: dgp branch: dgp-flush-channel, size: 288495
2014-05-23
15:08
merge trunk file: [3540e989e6] check-in: [c933efe84d] user: jan.nijtmans branch: novem, size: 297941
2014-05-21
14:37
Fix gcc warning (signed-unsigned compare) file: [b536f6884b] check-in: [c84093ac60] user: jan.nijtmans branch: trunk, size: 299478
2014-05-20
15:17
Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, in particular not allowing them to leak between multiple layers of a stacked channel. Much common code refactored into ChanRead(). file: [f2ce785f7d] check-in: [2a40293a49] user: dgp branch: trunk, size: 299470
15:00
Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, in particular not allowing them to leak between multiple layers of a stacked channel. Much common code refactored into ChanRead(). file: [4611814468] check-in: [f6b7d496c4] user: dgp branch: core-8-5-branch, size: 288621
2014-05-16
23:17
Merge flag changes. - Wow, no trouble with [chan push] demonstrated. file: [f78aa5f1f5] check-in: [960f628ee8] user: dgp branch: dgp-trunk-flag-repair, size: 299484
19:11
Improved use of EOF state to avoid worthless allocations. file: [3f0e41664b] check-in: [916e33672f] user: dgp branch: dgp-channel-flag-repair, size: 288635
18:45
Move the resets and testings of the BLOCKED flag to where they make more sense. file: [196f647a22] check-in: [b7aafa1d2d] user: dgp branch: dgp-channel-flag-repair, size: 288529
15:33
merge trunk file: [0e72fecd40] check-in: [44638ca040] user: dgp branch: novem, size: 297190
15:23
merge trunk file: [1a674108e5] check-in: [9e2a793a91] user: dgp branch: dgp-trunk-flag-repair, size: 299184
15:10
merge 8.5 file: [01bce1ea73] check-in: [98814a9861] user: dgp branch: trunk, size: 298727
15:05
merge 8.5 file: [0fe47b4760] check-in: [673526a228] user: dgp branch: dgp-channel-flag-repair, size: 288484
14:47
merge 8.5 file: [4f4212b8f5] check-in: [66fb298ca6] user: dgp branch: bug-io-32.11, size: 287922
14:47
Merge completion of dgp-read-bytes branch. file: [43ca1928d6] check-in: [a2f2c22575] user: dgp branch: bug-io-32.11, size: 287936
14:40
Bug fix - accept consumption of the trailing newline in crlf with no characters produced. Also delete false assertions. file: [5dfcc00730] check-in: [d407a02dd2] user: dgp branch: bug-io-32.11, size: 299213
2014-05-15
11:04
Push the setting and clearing of CHANNEL_BLOCKED flag to the more inner parts of the channel read machinery. file: [571f9e6ad7] check-in: [39ace581ea] user: dgp branch: dgp-channel-flag-repair, size: 287687
2014-05-13
18:49
Refactored much management of the BLOCKED and EOF flags into ChanRead() then began repairing some of the logic about them. Tests iogt-2.* now fail because they've been crafted as experiments recording the fine detail of reflected channel driver calls, and fixing the management of channel flags is changing that. zlib-8.5 also needed adjustment to reflect that an EOF set must come with an empty string read when flags are functioning properly. file: [764ac1f50e] check-in: [98736462fb] user: dgp branch: dgp-trunk-flag-repair, size: 298387
18:24
Rework Tcl_ReadRaw() mostly taking things out of the loop that never repeat. file: [711f2a3869] check-in: [e1c467edcd] user: dgp branch: dgp-channel-flag-repair, size: 287521
16:42
Salvaged what was left of value in the dgp-read-bytes-detour branch. Refactored much management of the BLOCKED and EOF flags into ChanRead() then began repairing some of the logic about them. Tests iogt-2.* now fail because they've been crafted as experiments recording the fine detail of reflected channel driver calls, and fixing the management of channel flags is changing that. file: [8a5be194c7] check-in: [94b7cdc521] user: dgp branch: dgp-channel-flag-repair, size: 287914
2014-05-09
13:50
merge trunk file: [4914a462e5] check-in: [239fb8a769] user: jan.nijtmans branch: novem, size: 296393
2014-05-08
17:38
Merge the reforms of dgp-trunk-read branch into trunk. (port of dgp-read-bytes)
Large overhaul of I/O read operations - Protects integer overflow of buffers, reusing append machinery - Forces -buffersize changes to take place when commanded - Uses assertions to simplify code in "can't happen" situations - Eliminated duplication of -translation processing - Fixes bugs io-35.18b and io-35.20
file: [fda4d82a2f] check-in: [d17b42d5cb] user: dgp branch: trunk, size: 297930
17:30
Merge the reforms of dgp-read-bytes branch into 8.5+ releases.
Large overhaul of I/O read operations - Protects integer overflow of buffers, reusing append machinery - Forces -buffersize changes to take place when commanded - Uses assertions to simplify code in "can't happen" situations - Eliminated duplication of -translation processing - Fixes bugs io-35.18b and io-35.20
file: [8e1c8dd353] check-in: [ea760ac244] user: dgp branch: core-8-5-branch, size: 287125
16:12
merge trunk file: [6838f0e303] check-in: [b345c44424] user: dgp branch: dgp-trunk-read, size: 297944
16:03
Fix the panic in iogt-2.5. Back in 2011, Bugs 3384654 and 3393276 first noticed troubles with ChannelBuffer sharing, but the magnitude of the problem wasn't truly grasped. A fix was applied that turned out to be more of a band-aid workaround. Now that the real fix is in place, the band-aid is actually preventing it working properly in thie case. Rip it off! file: [8f40b9cf38] check-in: [cc5f6a9f05] user: dgp branch: trunk, size: 305010
13:01
Revert the iogt-2.5 fix. For now one panic is better than widespread memory leaks. file: [d78d03f0e0] check-in: [1f0997a0f1] user: dgp branch: trunk, size: 305037
03:28
merge trunk file: [f66d18cb0c] check-in: [41b555c6c8] user: dgp branch: dgp-trunk-read, size: 298013
03:13
Merge 8.5. file: [dd6338dc0d] check-in: [6373847bf0] user: dgp branch: trunk, size: 305079
02:55
Merge 8.5. file: [1641746455] check-in: [355b7c916f] user: dgp branch: dgp-read-bytes, size: 287139
02:38
Stop leak in iocmd-21.22. file: [222dd3e96d] check-in: [bd77beabda] user: dgp branch: core-8-5-branch, size: 294402
2014-05-07
02:28
Stop leak in io-53.5. file: [6169eb2862] check-in: [923384ef74] user: dgp branch: core-8-5-branch, size: 294355
2014-05-06
23:23
Stop memory leak in io-29.34 file: [04c2a50cb2] check-in: [9ed25477ae] user: dgp branch: core-8-5-branch, size: 294323
22:34
Stop memory leak in io-29.27. file: [3be416dc8a] check-in: [710c762201] user: dgp branch: core-8-5-branch, size: 294259
17:33
Symptom relief. Make test stop panicking. This is not the proper final answer. ChannelBuffer management in FlushChannel is simply not robustly correct yet. file: [a220f6cea3] check-in: [299eab2396] user: dgp branch: trunk, size: 304901
15:23
Add Panic call to better identify where iogt-2.5 goes wrong. file: [d25b4c5696] check-in: [bd7a70e510] user: dgp branch: trunk, size: 304859
2014-05-05
13:23
Merge GotFlag() backport from 8.5. Conflicts galore! file: [7cd7b4bd95] check-in: [b1ed89a610] user: dgp branch: dgp-read-bytes, size: 286961
09:17
Backport "GotFlag" macro from Tcl 8.6. Makes code more readable. No change in functionality. file: [4b9f66f9ca] check-in: [70147dfbb6] user: jan.nijtmans branch: core-8-5-branch, size: 294224
2014-05-02
15:58
merge trunk file: [3dc2660557] check-in: [8940c7f376] user: dgp branch: dgp-trunk-read, size: 297715
15:41
merge 8.5 file: [4feefc7692] check-in: [5c1344169d] user: dgp branch: dgp-read-bytes, size: 287031
15:06
Backport channel self restacking support. (Test iogt-2.4). file: [f4f536dbf5] check-in: [65f9e5c5ef] user: dgp branch: core-8-5-branch, size: 294301
14:45
Add some comments about possible other self-restacking troubles. file: [311c2c9785] check-in: [cc96a1b1e4] user: dgp branch: dgp-demo, size: 304781
13:02
Fully restore topChan resetting to accommodate self-restacking channels. file: [dcfa22ff42] check-in: [479b266698] user: dgp branch: dgp-demo, size: 304492
12:39
Re-enable buffer recycling. file: [4de3a79933] check-in: [19ba1dca2c] user: dgp branch: dgp-demo, size: 304163
07:15
merge novem file: [f351fb6b28] check-in: [08a7e90291] user: jan.nijtmans branch: novem-more-memory-API, size: 302245
2014-05-01
16:33
Stop the segfault in iogt-2.4. First by changing the UpdateInterest() call that triggers it. "downChanPtr" may no longer be the right argument at that point. Second, after ending the segfault, the test became an infinite loop (nested unstacking?! whoa.), so revised the test to one that terminates (and passes). Left behind a comment that the recursive unstacking case may require more examination. file: [cced0b6b66] check-in: [a6e8d96c80] user: dgp branch: dgp-demo, size: 304168
15:16
merge trunk file: [e1b1595769] check-in: [ace047c40e] user: jan.nijtmans branch: novem, size: 302237
15:13
merge trunk file: [c1f04ab4d3] check-in: [22914ee992] user: dgp branch: dgp-demo, size: 303897
15:00
merge trunk file: [e4e8c12af0] check-in: [52f2afaf4f] user: dgp branch: dgp-trunk-read, size: 296708
14:52
merge 8.5 file: [fd57ec7d96] check-in: [c88761f6af] user: dgp branch: dgp-read-bytes, size: 285323
01:26
Merge in the fixes for improper ChannelBuffer sharing via recycling. file: [3869d88968] check-in: [a63b3cbe41] user: dgp branch: trunk, size: 303774
2014-04-30
19:54
Stop the segfaults in [close] during [gets] tests. Not sure this is the right behavior, but it's better than crashing. file: [206c5299f0] check-in: [04b1f8b14c] user: dgp branch: core-8-5-branch, size: 292593
19:33
Panic message to pinpoint the cause of iocmd-21.23 segfault. file: [fbf5bc5370] check-in: [7bbdf769a2] user: dgp branch: core-8-5-branch, size: 292652
2014-04-29
17:40
Make sure no shared ChannelBuffers get recycled. file: [698556df81] check-in: [c101f46322] user: dgp branch: core-8-5-branch, size: 292583
17:04
merge trunk file: [769fc487df] check-in: [e344fa9b49] user: dgp branch: dgp-demo, size: 303704
16:47
Fix bug exposed when buffer recycling is disabled. file: [092ec6afaa] check-in: [84f992ce50] user: dgp branch: trunk, size: 303581
16:36
Fix bug exposed when buffer recycling is disabled. file: [c9c2205acc] check-in: [9823e74a67] user: dgp branch: core-8-5-branch, size: 292400
15:54
Revise the logic for setting TCL_ENCODING_END in the outputEncodingFlags so it does not rely on buffer recycling. file: [ee4ec65f48] check-in: [bf4b0651be] user: dgp branch: dgp-no-buffer-recycle, size: 292405
2014-04-25
20:12
Disable buffer recycling to expose bugs for fixing. file: [71445aaee6] check-in: [e9c2ad7207] user: dgp branch: dgp-no-buffer-recycle, size: 292350
19:51
Disable buffer recycling, which creates mysteries. file: [f94f1f7483] check-in: [0e64d0aa58] user: dgp branch: dgp-demo, size: 303649
17:34
Test iortrans-4.8.2 demos an infinite loop. Possible trouble with pushback buffers. file: [c3ffe12f9b] check-in: [71c708ce30] user: dgp branch: dgp-demo, size: 303644
2014-04-21
20:02
merge trunk file: [6fb6bcccea] check-in: [58bcc7a29a] user: dgp branch: dgp-trunk-read, size: 296460
20:01
merge 8.5 file: [7a4a2cce11] check-in: [621d5cbc6e] user: dgp branch: dgp-read-bytes, size: 285075
19:04
Merge refcounting machinery for ChannelBuffer. file: [572318365e] check-in: [0c1015d94d] user: dgp branch: trunk, size: 303526
18:55
Added a refcounting mechanism to ChannelBuffers. Other edits to stop segfaults in tests iocmd-21.2[12]. file: [12e3e7af5c] check-in: [13886141d8] user: dgp branch: core-8-5-branch, size: 292345
2014-04-16
20:11
merge 8.5 file: [db1d1fe6eb] check-in: [97f35a8071] user: dgp branch: dgp-read-bytes, size: 284271
17:35
merge trunk file: [a69cc45c12] check-in: [505682a5bb] user: dgp branch: dgp-trunk-read, size: 295611
2014-04-07
14:56
merge trunk file: [0aa4d4912f] check-in: [f24df1717c] user: jan.nijtmans branch: novem, size: 301143
2014-04-04
11:14
Fix for Bug [97069ea11a]: Set return message in close if a flush error is reported (which may be an error from a background flush) file: [1f3e307385] check-in: [7aa743c0ee] user: oehhar branch: trunk, size: 302680
2014-04-01
13:06
Imported fix for bug [97069ea11a] from branch bug-97069ea11a: empty error message on stalled background flush after async socket connect fail file: [e5a70c30c6] check-in: [0fa84c1e50] user: oehhar branch: bug-13d3af3ad5, size: 302239
11:31
Fix test failure socket-2.9: "1 {not owner}" instead of "1 {couldn't open socket address already in use}" by only setting returned error message if not jet set. file: [40ce308f57] check-in: [5277cd7d5d] user: oehhar branch: bug-97069ea11a, size: 291544
09:52
Set return message in close if a flush error is reported (which may be an error from a background flush). Ticket [97069ea11a] file: [caa0dab1b9] check-in: [d9c2394aec] user: oehhar branch: bug-97069ea11a, size: 291458
2014-03-31
18:47
merge trunk file: [05ea421f32] check-in: [33f13ba67c] user: jan.nijtmans branch: novem, size: 300810
2014-03-28
20:29
Merge minimal fix for iocmd-23.11. Note that top channel regeneration is removed, so that Preserve/Release call pairs are sure to operate on the same pointers. Other bug fixes may need to change that. file: [67ae4012e2] check-in: [4c19c39276] user: dgp branch: trunk, size: 302347
2014-03-27
21:35
Minimal patch to fix iocmd-23.11. Might not be the best fix, but is *a* fix. file: [a201fb2927] check-in: [b846182cdc] user: dgp branch: core-8-5-branch, size: 291211
2014-03-23
20:59
Merge the checkins of the dgp-read-bytes branch onto the trunk, up to and including checkin a1e82fb63e . Do not merge checkin bae1c688f2 which starts to take the dgp-read-bytes branch into directions apparently unfriendly to stacked channels, which tests for [chan push] on the trunk help us to detect. file: [519c18eb0d] check-in: [c4c1cd81e4] user: dgp branch: dgp-trunk-read, size: 294813
2014-03-21
14:45
missing declaration file: [2cc23278ed] check-in: [44ad35d49a] user: dgp branch: dgp-read-bytes-detour, size: 283854
12:57
Fixup ChanRead() header. Note (dstSize > 0) precondition. file: [13d87d4629] check-in: [466dfbd509] user: dgp branch: dgp-read-bytes-detour, size: 283790
02:36
Documentation header for ChanRead() file: [82c58626cc] check-in: [594b1261d6] user: dgp branch: dgp-read-bytes-detour, size: 283610
2014-03-20
23:21
Both callers of ChanRead() have simlar epilogs. Shift that into ChanRead and refactor. file: [0d3fc2bac4] check-in: [bae1c688f2] user: dgp branch: dgp-read-bytes-detour, size: 282922
20:18
Don't allow buffer recycling to prevent or delay buffersize shrinkage. file: [8f94e171e3] check-in: [a1e82fb63e] user: dgp branch: dgp-read-bytes, size: 283526
19:25
Stop routine clearing of CHANNEL_EOF. Only clear when there's a reason (seek, eofchar change, ungets). Otherwise, once you hit EOF you stay there. file: [bee20ed3ef] check-in: [4da5102566] user: dgp branch: dgp-read-bytes, size: 284082
16:31
Use assertions about the pushback buffers to simplify their handling. Mark several things left TODO. Some tidying. file: [112775114b] check-in: [059316c224] user: dgp branch: dgp-read-bytes, size: 284618
2014-03-19
21:43
Let TranslateInputEOL handle the "\r$eofChar" sequence in CRLF mode. file: [53c93f2349] check-in: [87cabe74cb] user: dgp branch: dgp-read-bytes, size: 284529
20:32
Complete rewrite of DoRead(). file: [29c468fcbd] check-in: [b0fec86516] user: dgp branch: dgp-read-bytes, size: 284755
2014-03-18
04:06
DoRead refactoring WIP. file: [ee8f0ecd67] check-in: [e942c49131] user: dgp branch: mistake, size: 288717
2014-03-17
17:56
Remove long dead "BAD_BLOCKING" support code so it no longer confuses people reading/editing this code. file: [2d20659e03] check-in: [b97275fff8] user: dgp branch: dgp-read-bytes, size: 285876
2014-03-11
16:51
Compress code for better single screen viewing. file: [df3e717a7f] check-in: [b1b64885a9] user: dgp branch: dgp-read-bytes, size: 289499
03:38
Trial rewrite of AUTO input translation. file: [6b8707fbf3] check-in: [8753583e66] user: dgp branch: dgp-read-bytes, size: 290120
2014-03-10
19:30
.... and then the bug fix. file: [7eb9084fc5] check-in: [626308d6df] user: dgp branch: dgp-read-bytes, size: 289304
19:00
Rewrite CRLF translation to use more system calls. file: [4bd703e809] check-in: [6ac30093f3] user: dgp branch: dgp-read-bytes, size: 289304
17:58
Bring CRLF translation in parallel with others. file: [ec3195c888] check-in: [1e9ea0b532] user: dgp branch: dgp-read-bytes, size: 289036
03:09
TranslateInputEOL doesn't need to return anything. No caller cares. Other optimizations and simplifications. file: [0a527afb59] check-in: [a534865f9d] user: dgp branch: dgp-read-bytes, size: 289097
2014-03-07
20:15
TranslateInputEOL() callers no longer need assert dstLen <= srcLen. file: [9aebc54794] check-in: [ab50666290] user: dgp branch: dgp-read-bytes, size: 288618
19:43
Simplify the input eof char scan. Update some comments. file: [ebee31a654] check-in: [ac39a58a9c] user: dgp branch: dgp-read-bytes, size: 288671
2014-03-06
15:51
Variable "rawStart" serves no purpose. file: [3512d34491] check-in: [961f9c82ce] user: dgp branch: dgp-read-bytes, size: 288373
2014-03-05
19:41
Remove old dead code; silence compiler warnings; tidy up. file: [bce3e46cb5] check-in: [df25cce286] user: dgp branch: dgp-read-bytes, size: 288409
17:16
Adapt CopyAndTranslateBuffer() to changes in TranslateInputEOL(). Notably no longer using the INPUT_NEED_NL flag. file: [b153828fdd] check-in: [e9e06ab343] user: dgp branch: dgp-read-bytes, size: 299122
14:23
Merge repair to correct failing tests. file: [06bcc85bb5] check-in: [be0a413ba3] user: dgp branch: dgp-read-bytes, size: 298396
2014-03-01
03:01
Fixups make the test suite almost pass (except *io-39.17) file: [f07a60f1d1] check-in: [b745eb9ba4] user: dgp branch: dgp-read-bytes, size: 298416
2014-02-28
19:01
Bring over the ReadChars rewrite for integration into the other I/O work. file: [7178128998] check-in: [22a9f73877] user: dgp branch: dgp-read-bytes, size: 298406
18:28
tidy up. file: [768713bc8f] check-in: [967f356dde] user: dgp branch: dgp-read-chars, size: 299043
18:25
More ReadChars rewriting. Test suite now passes. Note that this reform simplifies ReadChars a fair bit (at least in my eyes). Also it does away with the use of an INPUT_NEED_NL flag, using the same strategy for partial \r\n sequences as is used for incomplete multibyte chars. file: [a6eaf3b847] check-in: [8928ad3eb5] user: dgp branch: dgp-read-chars, size: 299186
2014-02-27
20:21
Work in progress attempting a ReadChars rewrite. file: [74caa2dbbd] check-in: [914a1b6351] user: dgp branch: dgp-read-chars, size: 294719
20:11
remove comment file: [cbc372df66] check-in: [5d763d1af8] user: dgp branch: dgp-read-bytes, size: 290023
2014-02-26
11:26
More coverage tests and bug fixes. file: [4c3bc75a66] check-in: [929bdbd0af] user: dgp branch: dgp-read-bytes, size: 290025
2014-02-24
21:25
Reduce ReadBytes to simplest expression. file: [d6ed50af7a] check-in: [fa8b2ead5a] user: dgp branch: dgp-read-bytes, size: 290047
21:01
simplification trims file: [dcd5fac447] check-in: [d5fce7db96] user: dgp branch: dgp-read-bytes, size: 290401
19:11
Merge the stricter binary mode experiment. file: [b3e46091c7] check-in: [b3f0eb6d21] user: dgp branch: dgp-read-bytes, size: 290942
2014-02-21
15:12
Simplify ReadBytes based on new constraints. file: [653e8f5617] check-in: [adeabf71cf] user: dgp branch: dgp-experiment, size: 291099
15:02
fix type error file: [1dbe09b796] check-in: [80330ed77d] user: dgp branch: dgp-experiment, size: 291008
2014-02-20
21:23
Switch consistently on the narrower def of binary mode. file: [7c3782bba7] check-in: [5a647c7aae] user: dgp branch: dgp-experiment, size: 291008
20:31
Can we send some binary reads down the char-reading path? file: [f773f3010c] check-in: [13ebbaf45b] user: dgp branch: dgp-experiment, size: 290934
03:51
Refactoring repair to fix failing test. file: [1e544fcdc6] check-in: [2e3d8aa19c] user: dgp branch: dgp-read-bytes, size: 290654
2014-02-19
03:45
Next coverage test to expose another refactoring error. file: [e2d7b9999d] check-in: [7ee5a61b87] user: dgp branch: dgp-read-bytes, size: 289997
03:36
Shortcut ReadBytes() when it's a no-op. file: [4742aaeb65] check-in: [cc398cf78d] user: dgp branch: dgp-read-bytes, size: 290022
2014-02-18
23:20
Callers of TranslateInputEOL are expected to manage the INPUT_NEED_NL flag. file: [df5eb92667] check-in: [0426499beb] user: dgp branch: dgp-read-bytes, size: 290001
21:27
Another coverage test that reveals refactoring error. file: [a4bb617656] check-in: [be16a4865e] user: dgp branch: dgp-read-bytes, size: 289741
18:35
coverage test for -translation cr file: [4150c7d102] check-in: [b79ce5761c] user: dgp branch: dgp-read-bytes, size: 289740
18:26
Refactor correction exposed by coverage test. file: [1757125a14] check-in: [8619f9ff5d] user: dgp branch: dgp-read-bytes, size: 289764
17:54
Coverage test for -translation auto handling of INPUT_SAW_CR flag. Demonstrates refactor failure. file: [9bec7d807a] check-in: [18b306d083] user: dgp branch: dgp-read-bytes, size: 289757
2014-02-11
19:53
Refactor so that CopyAndTranslateBuffer() calls on TranslateInputEOL() instead of duplicating so much of its function. Note the testing gaps. file: [d222e840b9] check-in: [26bac705c9] user: dgp branch: dgp-read-bytes, size: 289782
2014-02-06
22:10
merge trunk file: [e34440d678] check-in: [6828d86c67] user: jan.nijtmans branch: novem, size: 300369
19:04
Revised ReadChars to restore an attempt to make sure we do not short read because of a false notion of limited storage space. The test suite does not appear to demonstrate any case where this matters. Could be an incomplete test suite, or an example of pointless code. file: [ac64750eb0] check-in: [8a185f4fe9] user: dgp branch: dgp-may-be-pointless, size: 289532
16:33
merge 8.5 file: [fc6bc52971] check-in: [3d3823e676] user: dgp branch: dgp-read-bytes, size: 289384
2014-02-04
16:24
Simplify the core output operations of channels. Reduce duplicative and dead code. file: [4377e1473b] check-in: [af063120ee] user: dgp branch: trunk, size: 301906
2014-01-31
22:07
Simplify macro typecasting. file: [fab5b0b705] check-in: [77d1c32097] user: dgp branch: dgp-optimize-output-stage, size: 290823
20:42
The "channel" Tcl_ObjType is caching only. It never needs an UpdateString routine. It's also static to the tclIO.c file. file: [5f84cae0d2] check-in: [3be587ea63] user: dgp branch: dgp-optimize-output-stage, size: 290923
20:02
Do not call updateStringProc directly. We have TclGetString() for that. file: [9a04a47013] check-in: [16cebba90b] user: dgp branch: dgp-optimize-output-stage, size: 291979
09:26
merge trunk file: [c2e59d10a2] check-in: [9cbf304e98] user: jan.nijtmans branch: novem, size: 314772
2014-01-30
20:10
Refactor to eliminate the DoWriteChars() layer. file: [bc80e2db79] check-in: [1fb1e81ddc] user: dgp branch: dgp-optimize-output-stage, size: 292243
19:30
Eliminate DoWrite(). It duplicates WriteBytes(). file: [079d8bfbf5] check-in: [4a35001f56] user: dgp branch: dgp-optimize-output-stage, size: 293553
19:13
Trial: Implement DoWrite() as WriteBytes(). file: [601e9a63e1] check-in: [e38265e698] user: dgp branch: dgp-optimize-output-stage, size: 297888
18:45
Simplification and cleanup enabled by last commit. file: [3a5633a771] check-in: [df0dfbf28d] user: dgp branch: dgp-optimize-output-stage, size: 297824
18:31
Refactor WriteChars() and WriteBytes() into simple wrappers of a common routine Write(). file: [87b209323d] check-in: [d651018d94] user: dgp branch: dgp-optimize-output-stage, size: 305753
14:51
Eliminate the use of a staging buffer in WriteChars(). file: [126643b7f9] check-in: [f5f5df0f00] user: dgp branch: trunk, size: 316309
2014-01-28
20:23
The outputStage field is now unused, so never allocate it. file: [04de13d4c5] check-in: [d89e241ea4] user: dgp branch: dgp-optimize-output-stage, size: 305241
20:19
tidy things up file: [2d57bf5a09] check-in: [69fc4bcc62] user: dgp branch: dgp-optimize-output-stage, size: 306164
18:51
Working code with no staging buffer use. file: [997710ff0e] check-in: [d6de6b35d8] user: dgp branch: dgp-optimize-output-stage, size: 310941
11:04
WIP file: [6bdd424fcc] check-in: [e1ed4ca828] user: dgp branch: dgp-optimize-output-stage, size: 309436
2014-01-27
17:35
Revise the Tcl_Append* machinery to tolerate NULL bytes to append. Then have ReadChars() use that machinery to resize buffer receiving input, rather than invent its own version. Simplify ReadChars() callers. file: [f6206e3164] check-in: [dcc87ec669] user: dgp branch: dgp-read-bytes, size: 306139
2014-01-25
21:42
merge trunk file: [e8c57e6473] check-in: [5fb12de009] user: jan.nijtmans branch: novem, size: 317035
2014-01-24
22:33
merge 8.5 file: [15e5c5858f] check-in: [3920660b95] user: dgp branch: dgp-read-bytes, size: 307067
21:52
In WriteChars(), eliminate the copy step through a staging buffer when it is not required for channel translation. file: [5a0046ad06] check-in: [d76ed8a13f] user: dgp branch: trunk, size: 318572
17:38
Eliminate the copy to a staging buffer when that serves no functional purpose. file: [11ecdc8056] check-in: [68c21e5139] user: dgp branch: dgp-optimize-output-stage, size: 307578
2014-01-21
22:08
There is no need for ReadBytes() or its caller(s) to track how many bytes are actually stored in objPtr. The ByteArray Tcl_ObjType already has the machinery to take care of this. file: [ddf3dbfe83] check-in: [4d0dcf283d] user: dgp branch: dgp-read-bytes, size: 307028
21:32
Backport of bytearray append machinery to support bug fixes in ReadBytes. file: [d9c3012e50] check-in: [9e237cce30] user: dgp branch: dgp-read-bytes, size: 307388
2014-01-17
09:43
remove some dead code file: [f51ee389e3] check-in: [a9e0697268] user: dkf branch: bug-272e866f1e, size: 318382
2014-01-15
20:21
[272e866f1e][965a39e314] Revise ReadBytes so that it uses the bytearray growth algorithm already in TclAppendBytesToByteArray() rather than poorly making its own. file: [3eaf7cb074] check-in: [128d902c33] user: dgp branch: bug-272e866f1e, size: 318812
2013-09-27
16:38
Clean compile on OSX file: [4bc852d088] check-in: [adad1a60c5] user: dkf branch: novem-64bit-sizes, size: 317641
2013-09-26
13:13
merge novem

WARNING: No checks of build-ability done yet. file: [5b4c705f94] check-in: [2688d65077] user: dkf branch: novem-64bit-sizes, size: 317629

2013-05-29
16:24
Fix C99 comment-ism breaking the native AIX compiler. HPUX likely as well. file: [61eaeb7eca] check-in: [dd32313fb4] user: andreask branch: core-8-5-branch, size: 307539
2013-05-01
21:13
Backport 8.6's fix [checkin 5af0d249de] to [Bug 2901998]: Inconsistent buffered I/O. Tcl's I/O now flushes buffered output before reading, discards buffered input before writing, etc. file: [3237c1f25d] check-in: [e7d7fe409a] user: ferrieux branch: core-8-5-branch, size: 307535
2013-02-27
12:06
merge trunk. Implement Tcl_VarTraceInfo and Tcl_UpVar as macro. file: [29f52d4082] check-in: [fa671b9c4f] user: jan.nijtmans branch: novem, size: 316996
2013-02-26
17:48
Remove from tclIO.h structs used only in tclIO.c. file: [8395b525d1] check-in: [f02d4b5c29] user: dgp branch: trunk, size: 318533
17:37
structs *ChannelHandler* GetsState CopyState used only locally. Remove from tclIO.h. file: [607266365b] check-in: [cee6202b4c] user: dgp branch: core-8-5-branch, size: 305686
17:15
structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally. Remove from tclIO.h. file: [dbe1aa86db] check-in: [b8a10548fd] user: dgp branch: core-8-4-branch, size: 285582
16:38
struct NextChannelHandler used only locally. Remove from tclIO.h. file: [80d78c40aa] check-in: [f04cd919ee] user: dgp branch: core-8-4-branch, size: 282475
2013-02-25
18:17
Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct used only locally. Remove from tclIO.h. file: [16c0bf3f5e] check-in: [c3e51e7bce] user: dgp branch: trunk, size: 314174
18:15
Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct used only locally. Remove from tclIO.h. file: [65cd8e1c5f] check-in: [0998e957ef] user: dgp branch: core-8-5-branch, size: 301334
18:05
Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct is used only locally. Remove from tclIO.h. file: [90a26d04e5] check-in: [5a27ca7124] user: dgp branch: core-8-4-branch, size: 281237
2013-02-17
22:14
merge trunk file: [e52d604295] check-in: [b811284fad] user: jan.nijtmans branch: better-deprecation, size: 312235
2013-02-03
17:17
merge novem file: [fee2d3ce1d] check-in: [f0ab71bc6c] user: jan.nijtmans branch: novem-more-memory-API, size: 312201
16:05
merge trunk file: [76372ab34a] check-in: [127b30eda5] user: jan.nijtmans branch: novem, size: 312193
2013-01-31
10:31
merge core-8-5-branch file: [57505311f5] check-in: [f9be79d941] user: jan.nijtmans branch: trunk, size: 313730
2013-01-29
10:46
Change core to use repr->twoPtrValue.ptr1 in stead of repr->otherValuePtr (which is exactly the same), but also set repr->twoPtrValue.ptr2 to NULL explicitly. This allows repr->twoPtrValue.ptr2 to be used for another purpose (experimental): Store the StringObj internal representation there when available. file: [bddbd308ae] check-in: [4918a10d3d] user: jan.nijtmans branch: no-shimmer-string-length, size: 300890
2013-01-25
23:38
merge novem file: [91dfb76eda] check-in: [6d83b97710] user: jan.nijtmans branch: novem-more-memory-API, size: 312195
2013-01-24
10:37
Convert Tcl_GetIndexFromObj implementation to macro file: [9ef3e7aafe] check-in: [039696e2d8] user: jan.nijtmans branch: novem, size: 312187
2013-01-02
11:58
merge trunk. tclStubLib.c: protect loading incompatible Tcl9 extensions in Tcl8 file: [58a0a87e05] check-in: [4919da4fc4] user: jan.nijtmans branch: novem-more-memory-API, size: 312218
2012-12-21
10:13
remove unnecessary struct names, which only pollute the "struct" namespace for the compiler. file: [efbde1f23b] check-in: [7752ee08e3] user: jan.nijtmans branch: novem, size: 312210
2012-12-12
21:21
More memory API changes, mainly char* -> void* and unsigned -> size_t file: [1319076588] check-in: [19fb92fb72] user: jan.nijtmans branch: novem-more-memory-API, size: 312237
2012-12-10
20:54
merge trunk file: [9a0a5bad63] check-in: [94274c0c5b] user: jan.nijtmans branch: novem, size: 312229
2012-12-08
17:13
Fix busyloop at exit under TCL_FINALIZE_ON_EXIT when there are unflushed nonblocking channels. Thanks Miguel for spotting. file: [0766f63dcd] check-in: [3a000c424c] user: ferrieux branch: trunk, size: 313724
2012-12-06
15:43
Use Tcl_EvalEx in pkgb.dll. Same functionality. More deprecated function replacements file: [5107bb122b] check-in: [6f8010216f] user: jan.nijtmans branch: better-deprecation-85, size: 300933
2012-12-03
08:11
merge core-8-5-branch eliminate more usage of to-be-deprecated functions file: [ed3346c65e] check-in: [976aeca8c6] user: jan.nijtmans branch: better-deprecation-85, size: 300911
2012-11-25
18:27
merge novem file: [e46dfbdb75] check-in: [ba36ca6cfd] user: dkf branch: novem-64bit-sizes, size: 312802
15:21
Clean compile on OSX - except for usual warnings - and passes test suite. file: [88120b776b] check-in: [1ef028ae69] user: dkf branch: novem-64bit-sizes, size: 314370
2012-11-23
13:42
stop io.test from busylooping on unix file: [cbd60f71eb] check-in: [af95eda298] user: dkf branch: novem-64bit-sizes, size: 314350
2012-11-22
23:20
now, some tests even pass! file: [7c0153a7f5] check-in: [a9b17dd321] user: dkf branch: novem-64bit-sizes, size: 314264
2012-11-21
10:18
more conversion of code, still not running test suite at all file: [2141fd55f5] check-in: [e648a1571f] user: dkf branch: novem-64bit-sizes, size: 314388
00:42
converting to use TCL_STRLEN file: [681482a999] check-in: [2afb72a22d] user: dkf branch: novem-64bit-sizes, size: 314485
2012-11-19
12:17
Merge trunk

Adapt Tcl_Tell and Tcl_Seek to use the new type

file: [39473e7826] check-in: [d2181b6ae0] user: jan.nijtmans branch: tcl_nosize, size: 314034
11:17
Remove some undocumented - obsolete - function from the API with 'Old' in the name. file: [a30b800080] check-in: [4648cb9db2] user: jan.nijtmans branch: novem, size: 312213
10:20
Merge novem.

Introduce TCL_SIZE_T type. Not complete yet.

file: [e3cedd62fb] check-in: [a3ee6b3635] user: jan.nijtmans branch: tcl_nosize, size: 314042
06:41
now a clean compile on OSX in non-debug mode file: [2ab34a035e] check-in: [b814e8d7e8] user: dkf branch: novem-64bit-sizes, size: 314469
2012-11-18
07:39
Better programming practice, no literal '-1' in source code. Might even be useful for 64bit-sizes branch

add TCL_NOSIZE as internal defined for -1, and use it in a lot of places Ass this function argument should be size_t, not ssize_t (still to be TIPped), something like this will be needed anyway.

file: [9ad35fd272] check-in: [11a1d1e174] user: jan.nijtmans branch: tcl_nosize, size: 313868
00:06
another batch of conversions file: [7c61f746c7] check-in: [7698b769e5] user: dkf branch: novem-64bit-sizes, size: 314426
2012-11-16
14:15
More work done. Still I am finding places where int should be size_t and reverse. file: [a8c6ec5062] check-in: [d348e679f7] user: jan.nijtmans branch: novem-64bit-sizes, size: 313858
2012-10-03
15:29
When checking for std channels being closed, compare the channel state, not the channel itself so that stacked channels do not cause trouble. file: [6d5e53c2d8] check-in: [00425ee7d7] user: dgp branch: core-8-5-branch, size: 300884
15:18
When checking for std channels being closed, compare the channel state, not the channel itself so that stacked channels do not cause trouble. file: [ddcb9440c3] check-in: [2c93b6c7f8] user: dgp branch: bug-3567063, size: 280793
2012-10-02
16:08
Fix for core bug yet to be named/numbered. file: [1ed12a5ba8] check-in: [ba0663c73f] user: dgp branch: dgp-stackedstdchan, size: 313708
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: [9d32640092] check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 313495
2012-08-05
12:09
Final part of result generation conversion (modulo any minor blunders) file: [492d3118c0] check-in: [1fb35ca910] user: dkf branch: trunk, size: 313514
2012-07-24
20:20
Preserve the chanPtr so that script evaluation cannot invalidate it when we plan to use it again. file: [ce150d9bcb] check-in: [7f143c10c1] user: dgp branch: trunk, size: 312716
20:18
Preserve the chanPtr so that script evaluation cannot invalidate it when we plan to use it again. file: [782184b082] check-in: [ea138c4fb3] user: dgp branch: core-8-4-branch, size: 280720
20:14
Preserve the chanPtr so that script evaluation cannot invalidate it when we plan to use it again. file: [dd0bb34d1b] check-in: [14f2ba0d03] user: dgp branch: core-8-5-branch, size: 300706
2012-07-23
18:50
[Bug 3545365]: Never try a bg-flush on a dead channel, just like before 2011-08-17. file: [2620fbf904] check-in: [3bbd536102] user: ferrieux branch: trunk, size: 312663
2012-07-03
14:52
Factor out a number of common patterns of use of Tcl_DStringAppend. file: [3c37be5862] check-in: [4dd736c95f] user: dkf branch: trunk, size: 312586
2012-05-25
08:50
Factor out constant that must be the same in multiple places. Prompted by a conversation with Alexandre Ferrieux. file: [9f771071a6] check-in: [68547a2755] user: dkf branch: trunk, size: 312669
2012-05-09
19:09
* generic/tclIORChan.c [Bug 3522560]: Fixed the crash, enabled the test case. Modified [chan postevent] to properly inject the event(s) into the owner thread's event queue for execution in the correct context. Renamed the ForwardOpTo...Thread() function to match with our terminology. file: [ccb46e3782] check-in: [32d93a8414] user: andreask branch: trunk, size: 312594
2012-05-07
16:36
Properly close nonblocking channels even when not flushing them. file: [a8491a9037] check-in: [a219ffee40] user: ferrieux branch: trunk, size: 312593
2012-04-30
21:31
Fix a nesting bug in the message-passing protocol to Tcl_SetChannelError in one case. file: [4960996a04] check-in: [a13a83a7c2] user: ferrieux branch: bug-3522560, size: 313582
21:15
Explore enforcing the (implied) law that EAGAIN is forbidden for a blocking channel. Violation discovered is iocmd.tf-24.1[56] after TIP#398. Turns deadlock of these tests into frank failures. file: [152ca24f1b] check-in: [89f82f5eaf] user: ferrieux branch: bug-3522560, size: 313580
2012-04-28
17:09
IMPLEMENTATION OF TIP#398 : Quickly Exit with Non-Blocking Blocked Channels file: [da2a749e37] check-in: [efc6bbd2cb] user: ferrieux branch: trunk, size: 312592
17:03
Compat flag, test, and doc update. file: [667abd6d14] check-in: [96fb0e1328] user: ferrieux branch: tip-398-impl, size: 312592
2012-04-26
19:59
get rid of _ANSI_ARGS_ and CONST file: [2ee743e2c6] check-in: [ce95e51ad2] user: jan.nijtmans branch: trunk, size: 311817
2012-04-24
08:55
merge trunk file: [2c6cfc64ea] check-in: [3a8c412e3e] user: ferrieux branch: tip-398-impl, size: 311578
2012-04-23
13:49
make some more internal tables const file: [ca2009f9e9] check-in: [8f88d10716] user: jan.nijtmans branch: trunk, size: 311817
13:17
make some more internal tables const file: [9b51d83927] check-in: [7ac468debe] user: jan.nijtmans branch: core-8-5-branch, size: 300653
12:30
make some more internal tables const On cygwin, install dll's in /usr/bin, not in /usr/lib file: [74425dab3e] check-in: [6de689d796] user: jan.nijtmans branch: core-8-4-branch, size: 280641
2012-03-22
08:04
Take two. Don't forget to apply all patches, even when the phone rings in between. file: [dde6732457] check-in: [83c38b0c0d] user: ferrieux branch: tip-398-impl, size: 311572
07:33
Implement tip 398 : Quickly Exit with Non-Blocking Blocked Channels. This is simply a revert of the (C part of the) 1025712d5b commit of 2011-08-17. file: [e58cc4f962] check-in: [f2a0a1891c] user: ferrieux branch: tip-398-impl, size: 311696
2012-03-07
21:59
start of a new attempt, building functionality in "channel" file: [29d9d58875] check-in: [a0ed010170] user: jan.nijtmans branch: bug-3466099, size: 301209
2011-09-21
20:54
[Bug 3412487]: Now short reads are allowed in synchronous fcopy, avoid mistaking them as nonblocking ones. file: [ac36ea7ff1] check-in: [300934ee84] user: ferrieux branch: trunk, size: 311811
2011-08-19
19:07
3394654, 3393276 Revise FlushChannel() to account for the possibility that the ChanWrite() call might recycle the buffer out from under us. file: [34ab5ef273] check-in: [75186ea1b1] user: dgp branch: trunk, size: 311805
16:05
Preserve the chanPtr during FlushChannel so that channel drivers don't yank it away before we're done with it. file: [b503ff00fc] check-in: [9b67637699] user: dgp branch: trunk, size: 311767
2011-08-18
15:06
[Bug 3096275] Sync fcopy buffers input. file: [187e81ed40] check-in: [2b3b49886d] user: ferrieux branch: trunk, size: 311657
2011-08-17
20:35
[Bug 2946474] Consistently resume backgrounded flushes+closes when exiting. file: [4bdd4458b5] check-in: [1025712d5b] user: ferrieux branch: trunk, size: 311403
2011-08-05
15:23
Use Tcl_PrintfObj to generate more (complex) error messages. file: [eb280af7ad] check-in: [76495bbc29] user: dkf branch: trunk, size: 311288
2011-04-21
13:47
Make sure SetFooFromAny routines react reasonably when passed a NULL interp. file: [f5794d9f4d] check-in: [36b0307ba2] user: dgp branch: trunk, size: 311340
13:24
Make sure SetFooFromAny routines react reasonably when passed a NULL interp. file: [893409755c] check-in: [0da07d5b1e] user: dgp branch: core-8-5-branch, size: 300647
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: [b3fe853291] check-in: [5574bdd262] user: dkf branch: trunk, size: 311289
2011-03-10
09:31
MINOR: Formatting fixes, mainly to comments, so code better fits the style in the Engineering Manual. file: [4861f03a95] check-in: [5cb634a1c1] user: dkf branch: trunk, size: 311750
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: [d2ef7c3ae8] check-in: [c64f310d38] user: dgp branch: trunk, size: 311716
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: [090bbe0d5e] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 300596
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: [59e8837636] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 280635
2011-01-12
15:23
This commit is both no-NRE v2, implemented by subtracting the NRE pieces (*), and update to CVS trunk head of Wednesday Jan 5. (*) no-NRE v1 in the other branch was created in an additive manner from the point where 8.5 was branched from the trunk, by adding all the patches but those for NRE. file: [2d2cf61200] check-in: [2d93b1436c] user: andreask branch: activestate-nre-excised-variant-2-subtracted, size: 311795
2010-12-30
14:42
merge file: [71113ad050] check-in: [45d5c91eaf] user: dgp branch: dgp-refactor, size: 311787
2010-12-11
18:39
merge file: [57dcb486d8] check-in: [c291154f2c] user: kennykb branch: dogeen-assembler-branch, size: 311791
2010-12-10
17:16
[backport] Make sure [fcopy -size ... -command ...] always calls the callback asynchronously, even for size zero. file: [10d6d8894e] check-in: [f1c09901d7] user: ferrieux branch: core-8-5-branch, size: 300673
17:00
Make sure [fcopy -size ... -command ...] always calls the callback asynchronously, even for size zero. file: [5cfbe24a53] check-in: [c65a69cfa4] user: ferrieux branch: trunk, size: 311788
2010-12-06
13:20
@1330 + jump interp, indexobj file: [638e915d72] check-in: [c08c831172] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 310882
12:33
@1300 file: [6a8c19cec1] check-in: [3f09e6a910] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 309713
2010-12-02
13:17
@1200 file: [7ab3da43ae] check-in: [772aad65cb] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 309647
10:58
@1090 file: [93cc10dbaa] check-in: [64d3140aa1] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 309231
2010-12-01
15:41
@999 file: [f2814a5c2f] check-in: [1ad7b941e2] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 307535
15:06
@940 file: [0039ae62d1] check-in: [fbf7360824] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 307120
14:48
@921 file: [10f90b2a6e] check-in: [61b08bf693] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 307092
13:39
@864 + jumps file: [ae688e38a9] check-in: [0dbcc4b3c6] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 307065
2010-11-29
13:51
@670 file: [451c7d986c] check-in: [2435a4366f] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 306790
2010-11-23
15:23
Next @611, and jumping tclGetDate.yyacc grammar. file: [20a058d2c2] check-in: [b277d95385] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 306774
14:27
Jumps of win/ files. Fixed missing patches to configure. Jumped configure.in and tcl.m4. Also @578 file: [f196b366d4] check-in: [1c930c462b] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 306859
11:38
Next @500. file: [c755d7310f] check-in: [5365d7ae02] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 299843
10:24
Next @411 file: [0e0737deb6] check-in: [769955448f] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 296963
2010-11-22
16:07
Next @380. OO Stacktraces broken. file: [cceda6ba78] check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 297094
2010-03-30
08:45
Merge from HEAD to rmax-ipv6-branch file: [33fec4a973] check-in: [54b695423d] user: rmax branch: rmax-ipv6-branch, size: 310875
2010-03-20
18:00
merge updates file: [2ec2519485] check-in: [c65700492b] user: dgp branch: dgp-refactor, size: 310874
17:53
* generic/tclIO.c (CopyData): Allow the total number of bytes copied by [fcopy] to exceed 2GB. Can happen when no -size parameter given.
file: [957633272b] check-in: [c6cdb88f0b] user: dkf branch: core-8-5-branch, size: 299755
17:49
Missed a spot. file: [26b6884833] check-in: [eb14061610] user: dkf branch: trunk, size: 310870
15:58
merge updates file: [2b4e2c39f6] check-in: [f275ac41be] user: dgp branch: dgp-refactor, size: 310870
15:39
Allow [fcopy] to move more than 2GB per call. Frederic Bonnet identified issue. file: [0d6b0f00f1] check-in: [a2e969549f] user: dkf branch: trunk, size: 310866
2010-03-17
17:26
merge updates from HEAD file: [f8194ee4b7] check-in: [296b59ea58] user: dgp branch: dgp-refactor, size: 310353
16:35
* generic/tclIORTrans.c (ReflectInput, ReflectOutput, ReflectSeekWide): [Bug 2921116]: Added missing TclEventuallyFree calls for preserved ReflectedTransform* structures. Reworked ReflectInput to preserve the structure for its whole life, not only in InvokeTclMethod.
* generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate topChan, may have been changed by a self-modifying transformation.
* tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11, iortrans-7.4, iortrans-8.3): New test cases.
file: [1fd23f1482] check-in: [366cd619ab] user: andreas_kupries branch: trunk, size: 310361
2010-02-25
21:53
merge updates from HEAD file: [58ada3a5d9] check-in: [1b11388844] user: dgp branch: dgp-refactor, size: 309705
2010-02-24
10:45
More tidying up (whitespace, spelling, useless parentheses, useless casts) file: [41ee65419e] check-in: [511d94dd87] user: dkf branch: trunk, size: 309701
2010-01-19
14:23
merge updates from HEAD file: [c11f51e901] check-in: [907e364180] user: dgp branch: dgp-refactor, size: 309639
2010-01-18
22:20
* generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize the EventScriptRecord (esPtr) fully before handing it to Tcl_CreateChannelHandler for registration. Otherwise a reflected channel calling 'chan postevent' (== Tcl_NotifyChannel) in its 'watchProc' will cause the function 'TclChannelEventScriptInvoker' to be run on an uninitialized structure. file: [b41d3732f5] check-in: [f1ca567e92] user: andreas_kupries branch: core-8-5-branch, size: 299743
22:19
* generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize the EventScriptRecord (esPtr) fully before handing it to Tcl_CreateChannelHandler for registration. Otherwise a reflected channel calling 'chan postevent' (== Tcl_NotifyChannel) in its 'watchProc' will cause the function 'TclChannelEventScriptInvoker' to be run on an uninitialized structure. file: [20d02eaa38] check-in: [1d91b69bab] user: andreas_kupries branch: trunk, size: 309647
2009-12-10
00:30
merge updates from HEAD file: [a2af4e821b] check-in: [8b033f7215] user: dgp branch: dgp-refactor, size: 309223
2009-12-09
23:26
Killed c99/c++ comments left in by the IO patch. file: [5770e4fc59] check-in: [b8d9093b8d] user: andreas_kupries branch: trunk, size: 309231
23:03
* generic/tclIO.c: [Bug 2901998]: Applied Alexandre Ferrieux's patch fixing the inconsistent buffered I/O. Tcl's I/O now flushes buffered output before reading, discards buffered input before writing, etc. file: [ea0e91257a] check-in: [5af0d249de] user: andreas_kupries branch: trunk, size: 309350
2009-11-19
16:51
merge updates from HEAD file: [cb474ec604] check-in: [7aa1b44845] user: dgp branch: dgp-refactor, size: 308390
2009-11-18
22:41
Fix [Bug 2849797]: channel name inconsistencies as suggested by DKF minor *** POTENTIAL INCOMPATIBILITY *** because Tcl_CreateChannel() and its derivatives, now sometimes ignore their "chanName" argument. file: [790bc9f328] check-in: [c0b94338ed] user: nijtmans branch: trunk, size: 308391
2009-11-12
18:16
merge updates from HEAD file: [d8c1ad302d] check-in: [6e00f30a7c] user: dgp branch: dgp-refactor, size: 308218
17:41
* generic/tclIO.c (CopyData): [Bug 2895565]. Dropped bogosity * tests/io.test: which used the number of _written_ bytes or character to update the counters for the read bytes/characters. New test io-53.11. This is a backward port from the 8.5 branch. file: [0a87be1d0b] check-in: [dd31314594] user: andreas_kupries branch: core-8-4-branch, size: 280718
17:25
* generic/tclIO.c (CopyData): [Bug 2895565]. Dropped bogosity * tests/io.test: which used the number of _written_ bytes or character to update the counters for the read bytes/characters. New test io-53.11. This is a forward port from the 8.5 branch. file: [1b573a0227] check-in: [bee5fce253] user: andreas_kupries branch: trunk, size: 308226
17:03
* generic/tclIO.c (CopyData): [Bug 2895565]. Dropped bogosity which used the number of _written_ bytes or character to update the counters for the read bytes/characters. See last entry for the test case. file: [19be989079] check-in: [baab8a7a17] user: andreas_kupries branch: core-8-5-branch, size: 299327
2009-11-11
14:27
merge updates from HEAD file: [cb3c948f48] check-in: [ed5b810465] user: dgp branch: dgp-refactor, size: 307809
00:04
Backported fix for [Bug 2888099] (close discards ENOSPC error) by saving the errno from the first of two FlushChannel()s. Uneasy to test; might need specific channel drivers. Four-hands with aku. file: [dfa5d01fd0] check-in: [ee83aeb170] user: ferrieux branch: core-8-5-branch, size: 298906
2009-11-10
23:50
Fix [Bug 2888099] (close discards ENOSPC error) by saving the errno from the first of two FlushChannel()s. Uneasy to test; might need specific channel drivers. Four-hands with aku. file: [f814015f14] check-in: [c4da5b0446] user: ferrieux branch: trunk, size: 307810
21:59
merge updates from HEAD file: [8f996662bc] check-in: [833ca3a39c] user: dgp branch: dgp-refactor, size: 307487
2009-11-09
13:47
Some small bits of tidying up. file: [0f19717bd6] check-in: [35e9bea66e] user: dkf branch: trunk, size: 307483
2009-10-23
19:40
merge updates from HEAD file: [527a8fdc62] check-in: [e03987998b] user: dgp branch: dgp-refactor, size: 307527
19:09
* generic/tclIO.c (FlushChannel): Skip OutputProc for low-level 0-length writes. When closing pipes which have already been closed not skipping leads to spurious SIG_PIPE signals. Reported by Mikhail Teterin <[email protected]>. file: [ad63d1601e] check-in: [6a13560e76] user: andreas_kupries branch: trunk, size: 307535
19:09
* generic/tclIO.c (FlushChannel): Skip OutputProc for low-level 0-length writes. When closing pipes which have already been closed not skipping leads to spurious SIG_PIPE signals. Reported by Mikhail Teterin <[email protected]>. file: [308798c6e9] check-in: [a63650e781] user: andreas_kupries branch: core-8-5-branch, size: 298632
19:08
* generic/tclIO.c (FlushChannel): Skip OutputProc for low-level 0-length writes. When closing pipes which have already been closed not skipping leads to spurious SIG_PIPE signals. Reported by Mikhail Teterin <[email protected]>. file: [42f18ef8fe] check-in: [c8af1f5edb] user: andreas_kupries branch: core-8-4-branch, size: 280288
2009-10-19
22:13
merge updates from HEAD file: [e53955cca0] check-in: [8be0506f4c] user: dgp branch: dgp-refactor, size: 307464
22:00
* generic/tclIO.c: Revised ReadChars and FilterInputBytes routines 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.
file: [be45a42630] check-in: [8e6e2b93ab] user: dgp branch: trunk, size: 307460
21:59
* generic/tclIO.c: Revised ReadChars and FilterInputBytes routines 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.
file: [56aa7378b5] check-in: [cdf0022092] user: dgp branch: core-8-5-branch, size: 298564
2009-09-30
06:07
merge updates from HEAD file: [1ad4583bc0] check-in: [3b4e6b13b9] user: dgp branch: dgp-refactor, size: 307112
03:11
* generic/tclDictObj.c: Updated freeIntRepProc routines so * 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:
file: [1c85cc8e3c] check-in: [c712d7d7bb] user: dgp branch: trunk, size: 307108
2009-09-07
16:39
merge updates from HEAD file: [97fb039fba] check-in: [8c0a6a5799] user: dgp branch: dgp-refactor, size: 307084
07:28
* generic/tclExecute.c: fix potential uninitialized variable use and * 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:
file: [0e66ca44ae] check-in: [e93f957325] user: das branch: trunk, size: 307080
2009-07-24
16:51
* generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this is allowed. Provide a nice error message in the bypass area. Updated caller to check the bypass for a mesage. Bug reported by Andy Sonnenburg <[email protected]>. Backported from CVS head. file: [89bd8d6030] check-in: [62c8e5320a] user: andreas_kupries branch: core-8-5-branch, size: 298224
13:16
merge updates from HEAD file: [4e893ef047] check-in: [6beb79f8e9] user: dgp branch: dgp-refactor, size: 307057
2009-07-23
22:49
* generic/tclIO.c (Tcl_GetChannelHandle): Do not crash for * generic/tclPipe.c (FileForRedirect): getHandleProc == NULL, this is allowed. Provide a nice error message in the bypass area. Updated caller to check the bypass for a mesage. This fixes the bug [Bug 2826248] reported by Andy Sonnenburg <[email protected]> file: [fa33347cdb] check-in: [9039eeb584] user: andreas_kupries branch: trunk, size: 307065
2009-02-11
17:27
merge updates from HEAD file: [3b00264bc8] check-in: [f07460d448] user: dgp branch: dgp-refactor, size: 306782
2009-02-10
22:49
- eliminate some unnessary type casts - some internal const decorations - spacing file: [05b1473b05] check-in: [160bcb1152] user: nijtmans branch: trunk, size: 306783
2009-01-09
14:17
merge updates from HEAD file: [cf64d7d542] check-in: [02f7c5c705] user: dgp branch: dgp-refactor, size: 306766
11:21
Style fixes (unfouling whitespace, sorting comments, removing useless casts, etc.) file: [e92bb980f2] check-in: [cd3c38f00a] user: dkf branch: trunk, size: 306762
2008-12-19
03:37
merge updates from HEAD file: [332d7b4034] check-in: [319f77c794] user: dgp branch: dgp-refactor, size: 306851
2008-12-18
23:48
* generic/tclIO.c (Tcl_CloseEx,CloseWrite,CloseChannelPart,ChanCloseHalf): Rewrite the half-close to properly flush the channel, like is done for a full close, going through FlushChannel, and using the flag BG_FLUSH_SCHEDULED (async flush during close). New functions CloseWrite, CloseChannelPart, new flag CHANNEL_CLOSEDWRITE.
* tests/chanio.test (chanio-28.[67]): Reactivated these tests. Replaced tclsh -> [interpreter] to get correct executable for the pipe process, and added after cancel to kill the fail timers when we are done. Removed the explicits calls to [flush], now that [close] handles this correctly.
file: [7d4e5a0140] check-in: [2cb6ab45d5] user: andreas_kupries branch: trunk, size: 306859
18:18
merge updates from HEAD file: [c4b2c22763] check-in: [ac8dad98e0] user: dgp branch: dgp-refactor, size: 300198
16:52
Add missing flush for half-close of the write side file: [c1cc541cfc] check-in: [9abef88cd5] user: ferrieux branch: trunk, size: 300199
04:36
merge updates from HEAD file: [9af0fdbee0] check-in: [75c2ca517b] user: dgp branch: dgp-refactor, size: 299835
01:14
TIP #332 IMPLEMENTATION - Half-Close for Bidirectional Channels file: [cc4ff4d78f] check-in: [d4d9fb3168] user: ferrieux branch: trunk, size: 299836
2008-12-12
02:41
merge updates from HEAD file: [14022360ea] check-in: [ffe56e444b] user: dgp branch: dgp-refactor, size: 296749
2008-12-11
17:30
* generic/tclIO.c (SetChannelFromAny and related): Modified the * tests/io.test: internal representation of the tclChannelType to contain not only the ChannelState pointer, but also a reference to the interpreter it was made in. Invalidate and recompute the internal representation when it is used in a different interpreter (Like cmdName intrep's). Added testcase. [Bug 2407783]. file: [6088c97ee0] check-in: [4698543527] user: andreas_kupries branch: trunk, size: 296757
17:27
* generic/tclIO.c (SetChannelFromAny and related): Modified the * tests/io.test: internal representation of the tclChannelType to contain not only the ChannelState pointer, but also a reference to the interpreter it was made in. Invalidate and recompute the internal representation when it is used in a different interpreter (Like cmdName intrep's). Added testcase. [Bug 2407783]. file: [81884892c8] check-in: [cfad9b09d7] user: andreas_kupries branch: core-8-5-branch, size: 297949
2008-12-10
13:51
merge updates from HEAD file: [831f76b7ae] check-in: [17d1c7c4c7] user: dgp branch: dgp-refactor, size: 296200
2008-12-09
20:16
TIP #337 IMPLEMENTATION
* doc/BackgdErr.3: Converted internal routine * doc/interp.n: TclBackgroundException() into public routine * generic/tcl.decls: Tcl_BackgroundException(). * generic/tclEvent.c: * generic/tclInt.decls:
* generic/tclDecls.h: make genstubs * generic/tclIntDecls.h: * generic/tclStubInit.c:
* generic/tclIO.c: Update callers. * generic/tclIOCmd.c: * generic/tclInterp.c: * generic/tclTimer.c: *** POTENTIAL INCOMPATIBILITY only for extensions using the converted internal routine ***
file: [9d9bf74d2f] check-in: [2c2b2f27f3] user: dgp branch: trunk, size: 296196
14:09
A bit more readability refactoring. file: [ebe6931b84] check-in: [579d74d29f] user: dkf branch: trunk, size: 296194
2008-12-02
18:23
* generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre Ferrieux's first patch for [Bug 2270477] with a gentler version, also supplied by him. file: [f22f1a0df7] check-in: [485f324427] user: andreas_kupries branch: core-8-5-branch, size: 297384
18:23
* generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre Ferrieux's first patch for [Bug 2270477] with a gentler version, also supplied by him. file: [f92400c5a4] check-in: [0510216fea] user: andreas_kupries branch: trunk, size: 296963
2008-12-01
21:48
* generic/tclIO.c (TclFinalizeIOSubsystem): Revised latest commit to something that doesn't crash the test suite.
file: [3660c6043e] check-in: [f0ac8ebbfa] user: dgp branch: core-8-4-branch, size: 280227
2008-11-27
05:58
merge updates from HEAD file: [345105b114] check-in: [d491254068] user: dgp branch: dgp-refactor, size: 296925
2008-11-25
23:19
Eliminate 3 calls to Tcl_SetResult, as examples how it should have been done. purpose: contribute in the TIP #340 discussion. file: [63f8152869] check-in: [8956424338] user: nijtmans branch: trunk, size: 296926
22:18
* generic/tclIO.c (TclFinalizeIOSubsystem): Applied backport of Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite looping during finalization of channels not bound to interpreters. file: [b8782a92fa] check-in: [57ca0f31d3] user: andreas_kupries branch: core-8-4-branch, size: 280209
22:16
* generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite looping during finalization of channels not bound to interpreters. file: [23311823e9] check-in: [5b28ad3f61] user: andreas_kupries branch: core-8-5-branch, size: 297354
22:13
* generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite looping during finalization of channels not bound to interpreters. file: [638b2898ab] check-in: [9fa4a72d8a] user: andreas_kupries branch: trunk, size: 297101
2008-11-24
04:43
merge updates from HEAD file: [55ea4f7dbe] check-in: [fbcc3c2aee] user: dgp branch: dgp-refactor, size: 297090
2008-11-23
19:29
* generic/tclIO.c: Backport of fix for [Bug 2333466]. file: [2ca4bca691] check-in: [845be4dce9] user: andreas_kupries branch: core-8-5-branch, size: 297351
19:26
* generic/tclIO.c: Backport of fix for [Bug 2333466]. file: [5554469f09] check-in: [ba4fa202be] user: andreas_kupries branch: core-8-4-branch, size: 280206
18:05
Fix IsChannelExisting name comparison [Bug 2333466] file: [ea3a322b9f] check-in: [23d8e42096] user: ferrieux branch: trunk, size: 297091
2008-11-10
02:18
merge updates from HEAD file: [bb188dd359] check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 297086
2008-11-06
21:47
add "-Wno-implicit-int" for gcc, as on UNIX eliminate an 'array index out of bounds' warning on HP-UX' file: [9ad50637b3] check-in: [918ba31cc4] user: nijtmans branch: trunk, size: 297087
2008-10-26
18:34
Style improvements - invoking callbacks without visual junk. file: [eb93d101ba] check-in: [a1a8afc25d] user: dkf branch: trunk, size: 297078
2008-10-17
20:52
merge updates from HEAD file: [b44b302414] check-in: [d93600ad8e] user: dgp branch: dgp-refactor, size: 297274
2008-10-16
22:34
Add "const" to many internal const tables. No functional or API change. file: [948f0ccd98] check-in: [f03d2e2d83] user: nijtmans branch: trunk, size: 297275
2008-10-11
03:37
merge updates from HEAD file: [a20aac6ddc] check-in: [707fc4e9cf] user: dgp branch: dgp-refactor, size: 297268
2008-10-04
12:33
* doc/ChnlStack.3: CONSTified the typePtr argument * doc/CrtChannel.3: of Tcl_CreateChannel and Tcl_StackChannel * generic/tcl.decls and the return value of Tcl_GetChannelType * generic/tcl.h * generic/tclIO.h * generic/tclIO.c * ChangeLog * generic/tclDecls.h: regenerated This change complies with TIP #27.
file: [b03577f024] check-in: [1fb6ccc45a] user: nijtmans branch: trunk, size: 297269
2008-06-25
15:56
merge updates from 8.5 branch file: [32b695bab5] check-in: [affd52009d] user: dgp branch: core-stabilizer-branch, size: 297245
2008-05-31
21:01
merge updates from HEAD file: [a49ca16854] check-in: [6f324d01e1] user: dgp branch: dgp-refactor, size: 297244
2008-05-23
21:12
* win/tclWinChan.c (FileWideSeekProc): Accepted a patch by Alexandre Ferrieux <[email protected]> to fix the [Bug 1965787]. 'tell' now works for locations > 2 GB as well instead of going negative.
* generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by * tests/io.test: Alexandre Ferrieux <[email protected]> to fix the [Bug 1969953]. Buffersize outside of the supported range are now clipped to nearest boundary instead of ignored.
file: [844f5476d8] check-in: [6f5350cff4] user: andreas_kupries branch: core-8-4-branch, size: 280115
21:10
* win/tclWinChan.c (FileWideSeekProc): Accepted a patch by Alexandre Ferrieux <[email protected]> to fix the [Bug 1965787]. 'tell' now works for locations > 2 GB as well instead of going negative.
* generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by * tests/io.test: Alexandre Ferrieux <[email protected]> * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside of the supported range are now clipped to nearest boundary instead of ignored.
file: [fce6a28734] check-in: [ade419178b] user: andreas_kupries branch: core-8-5-branch, size: 297256
21:00
* win/tclWinChan.c (FileWideSeekProc): Accepted a patch by Alexandre Ferrieux <[email protected]> to fix the [Bug 1965787]. 'tell' now works for locations > 2 GB as well instead of going negative.
* generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by * tests/io.test: Alexandre Ferrieux <[email protected]> * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside of the supported range are now clipped to nearest boundary instead of ignored.
file: [73d1073dd0] check-in: [f337d855cc] user: andreas_kupries branch: trunk, size: 297252
2008-04-15
19:19
merge updates from HEAD file: [8c0eb5c349] check-in: [dc626ebb84] user: dgp branch: dgp-refactor, size: 297217
18:34
* generic/tclIO.c (CopyData): Applied another patch by Alexandre * io.test (io-53.8a): Ferrieux <[email protected]>, * chanio.test (chan-io-53.8a): to shift EOF handling to the async part of the command if a callback is specified, should the channel be at EOF already when fcopy is called. Testcase by myself. file: [eee9a34ac4] check-in: [f8664c0638] user: andreas_kupries branch: trunk, size: 297225
18:32
* generic/tclIO.c (CopyData): Applied another patch by Alexandre * io.test (io-53.8a): Ferrieux <[email protected]>, * chanio.test (chan-io-53.8a): to shift EOF handling to the async part of the command if a callback is specified, should the channel be at EOF already when fcopy is called. Testcase by myself. file: [fee58a2421] check-in: [25f469ce77] user: andreas_kupries branch: core-8-5-branch, size: 297229
18:31
* generic/tclIO.c (CopyData): Applied another patch by Alexandre * io.test (io-53.8a): Ferrieux <[email protected]>, to shift EOF handling to the async part of the command if a callback is specified, should the channel be at EOF already when fcopy is called. Testcase by myself. file: [edaaac9041] check-in: [ca26b071d8] user: andreas_kupries branch: core-8-4-branch, size: 280133
2008-04-08
13:18
merge updates from HEAD file: [759c321d43] check-in: [e6bf431352] user: dgp branch: dgp-refactor, size: 297091
2008-04-07
22:53
* tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * tests/chanio.test: * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [2df500dca3] check-in: [8b118596fb] user: andreas_kupries branch: trunk, size: 297099
22:33
* tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * tests/chanio.test: * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [cd88380865] check-in: [a9e6f2b7cb] user: andreas_kupries branch: core-8-5-branch, size: 297103
22:17
* tests/io.test (io-53.10): Testcase for bi-directionaly fcopy. * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible. file: [3c9093fdc0] check-in: [804943284a] user: andreas_kupries branch: core-8-4-branch, size: 279999
19:42
* generic/tclIO.c (BUSY_STATE, CheckChannelErrors, TclCopyChannel): New macro, and the places using it. This change allows for bi-directional fcopy on channels. Thanks to Alexandre Ferrieux <[email protected]> for the patch. file: [b7f8984b35] check-in: [4bc02d762e] user: andreas_kupries branch: trunk, size: 296728
19:41
* generic/tclIO.c (BUSY_STATE, CheckChannelErrors, TclCopyChannel): New macro, and the places using it. This change allows for bi-directional fcopy on channels. Thanks to Alexandre Ferrieux <[email protected]> for the patch. file: [679511aafa] check-in: [27fdbe7ec3] user: andreas_kupries branch: core-8-5-branch, size: 296732
19:40
* generic/tclIO.c (BUSY_STATE, CheckChannelErrors, TclCopyChannel): New macro, and the places using it. This change allows for bi-directional fcopy on channels. Thanks to Alexandre Ferrieux <[email protected]> for the patch.
* tests/io.test (io-53.9): Made test cleanup robust against the possibility of slow process shutdown on Windows. Backported from Kevin Kenny's change to the same test on the 8.5 and head branches.
file: [ef564410d7] check-in: [7e674627c1] user: andreas_kupries branch: core-8-4-branch, size: 279636
2008-04-04
04:40
merge updates from HEAD file: [b76a4dae35] check-in: [40d856c29f] user: dgp branch: dgp-refactor, size: 296482
2008-04-03
18:06
* generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to * tests/io.test: prevent fcopy from calling -command synchronously the first time. Thanks to Alexandre Ferrieux <[email protected]> for report and patch. file: [40035a7e6c] check-in: [cdd0c6626a] user: andreas_kupries branch: core-8-4-branch, size: 279398
18:06
* generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to * tests/io.test: prevent fcopy from calling -command synchronously * tests/chanio.test: the first time. Thanks to Alexandre Ferrieux <[email protected]> for report and patch. file: [3642fc28b5] check-in: [b9d8285147] user: andreas_kupries branch: core-8-5-branch, size: 296494
18:05
* generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to * tests/io.test: prevent fcopy from calling -command synchronously * tests/chanio.test: the first time. Thanks to Alexandre Ferrieux <[email protected]> for report and patch. file: [eeffb4da00] check-in: [d72429b721] user: andreas_kupries branch: trunk, size: 296490
2008-04-02
20:27
* generic/tclIO.c (CopyData): Applied patch for the fcopy problem [Bug 780533], with many thanks to Alexandre Ferrieux <[email protected]> for tracking it down and providing a solution. Still have to convert his test script into a proper test case. file: [dec7019822] check-in: [854fdab305] user: andreas_kupries branch: core-8-4-branch, size: 279117
20:27
* generic/tclIO.c (CopyData): Applied patch for the fcopy problem [Bug 780533], with many thanks to Alexandre Ferrieux <[email protected]> for tracking it down and providing a solution. Still have to convert his test script into a proper test case. file: [41b2ece85e] check-in: [89bcb90b51] user: andreas_kupries branch: core-8-5-branch, size: 296240
20:26
* generic/tclIO.c (CopyData): Applied patch for the fcopy problem [Bug 780533], with many thanks to Alexandre Ferrieux <[email protected]> for tracking it down and providing a solution. Still have to convert his test script into a proper test case. file: [8e67928a6f] check-in: [d2651aebcd] user: andreas_kupries branch: trunk, size: 296236
2008-01-23
16:42
merge updates from HEAD file: [14c74349cf] check-in: [013cce9562] user: dgp branch: core-stabilizer-branch, size: 296204
2008-01-22
14:49
merge updates from HEAD file: [ef5fe5d3c4] check-in: [d2f9709393] user: dgp branch: dgp-refactor, size: 296204
2008-01-20
21:16
* generic/tclIO.c (TclGetsObjBinary): operate on topmost channel. [Bug 1869405] (Ficicchia)
file: [417f3bc098] check-in: [ac70196d3c] user: hobbs branch: trunk, size: 296202
2007-12-13
15:22
merge stable branch onto HEAD file: [20e78a2610] check-in: [d1f7550cd9] user: dgp branch: trunk, size: 296081
2007-12-10
19:04
merge updates from HEAD file: [9f5aedbcbe] check-in: [f1b9af4a21] user: dgp branch: dgp-refactor, size: 296085
18:32
merge updates from HEAD file: [6b96f4455f] check-in: [efd7dcda90] user: dgp branch: core-stabilizer-branch, size: 296085
15:16
make tclChannelType static (fix 'make checkstubs') file: [3911dc3a5e] check-in: [69c392c373] user: das branch: trunk, size: 296081
2007-12-09
22:24
* tests/io.test, tests/chanio.test (io-73.1): Make sure to invalidate * generic/tclIO.c (SetChannelFromAny): internal rep only after validating channel rep. [Bug 1847044]
file: [7e8442ab8b] check-in: [0404d916bd] user: hobbs branch: trunk, size: 296076
2007-12-06
07:11
merge updates from HEAD file: [49a1a32e43] check-in: [304e9bdd17] user: dgp branch: dgp-refactor, size: 295940
07:08
merge updates from HEAD file: [28ad3e3f78] check-in: [7b24711edb] user: dgp branch: core-stabilizer-branch, size: 295940
06:51
merge updates from HEAD file: [38befa9e19] check-in: [6f3a8a0d9e] user: dgp branch: dgp-refactor, size: 289389
2007-12-05
21:47
* generic/tclIO.h: Create Tcl_Obj for Tcl channels to reduce * generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New * generic/tclIOCmd.c: TclGetChannelFromObj for internal use. * generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid EOL translation when not linebuffered or using lf. [Bug 1845092]
file: [791f0a733b] check-in: [b780154df6] user: hobbs branch: trunk, size: 295938
2007-11-28
20:30
merge updates from HEAD file: [a440d9248d] check-in: [b82595df55] user: dgp branch: core-stabilizer-branch, size: 289389
16:04
* generic/tclIO.c: Simplify test and improve accuracy of error message in latest changes.
file: [00bea522f1] check-in: [afbe8ffbca] user: dgp branch: trunk, size: 289385
01:11
-eofchar must support no eofchar. file: [e32b3b3746] check-in: [3e6026e637] user: patthoyts branch: trunk, size: 289424
2007-11-27
19:48
* doc/chan.n: "Fix" the limitation on channel -eofchar * doc/fconfigure.n: values to single byte characters by documenting * generic/tclIO.c: it and making it fail loudly. Thanks to * tests/chan.test: Stuart Cassoff for contributing the fix. [Bug 800753]
file: [84ed1743d6] check-in: [847f162f29] user: dgp branch: trunk, size: 289427
2007-11-21
06:30
Merge updates from 8.5b3 release file: [b79f4b5a0e] check-in: [c60ad186f4] user: dgp branch: core-stabilizer-branch, size: 289263
2007-11-19
14:04
Simplifications (fewer casts, less manual bit twiddling) file: [3e0c0bedbe] check-in: [703d0677c7] user: dkf branch: trunk, size: 289259
2007-11-12
20:40
merge updates from HEAD file: [4bc14d4129] check-in: [27f428842c] user: dgp branch: dgp-refactor, size: 289725
19:18
merge updates from HEAD file: [551d3fee51] check-in: [72c5ac9502] user: dgp branch: core-stabilizer-branch, size: 289725
2007-11-11
19:32
[Patch 1830038]: Increased usage of macros to detect and take advantage of objTypes. file: [040b99ef8f] check-in: [11e8f31512] user: msofer branch: trunk, size: 289724
2007-11-08
07:10
fix (unsigned char*) vs. (char*) warnings file: [aef724e5bd] check-in: [c264c409d6] user: das branch: trunk, size: 289729
2007-11-07
23:52
(DoWriteChars): special case for 1-byte channel write.
file: [2d6a20bbef] check-in: [260c9d8931] user: hobbs branch: trunk, size: 289714
19:18
* generic/tclIO.c (TclGetsObjBinary): add an efficient binary path for [gets].
file: [22532df79e] check-in: [d85436e72b] user: hobbs branch: trunk, size: 289476
2007-09-17
15:10
merge updates from HEAD file: [32c13d83fb] check-in: [998f41c78b] user: dgp branch: dgp-refactor, size: 282329
15:03
merge updates from HEAD file: [e216f04c7a] check-in: [f5355cd31e] user: dgp branch: core-stabilizer-branch, size: 282329
12:07
(CopyData): avoid leaking msg and errObj (if interp == NULL) file: [34bdac51db] check-in: [ef19734d0e] user: das branch: trunk, size: 282325
2007-09-07
03:15
merge updates from HEAD file: [9f06ba14d1] check-in: [2c46d786c6] user: dgp branch: dgp-refactor, size: 282171
2007-09-06
18:20
merge updates from HEAD file: [f98c59cb11] check-in: [e581a62da3] user: dgp branch: core-stabilizer-branch, size: 282171
18:13
* generic/tclInt.decls: New internal routine TclBackgroundException() * generic/tclEvent.c: that for the first time permits non-TCL_ERROR exceptions to trigger [interp bgerror] handling. Closes a gap in TIP 221. When falling back to [bgerror] (which is designed only to handle TCL_ERROR), convert exceptions into errors complaining about the exception.
* generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call * generic/tclIO.c: TclBackgroundException(). * generic/tclIOCmd.c: * generic/tclTimer.c:
* generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
file: [4792e9f475] check-in: [d487b6177f] user: dgp branch: trunk, size: 282167
2007-07-03
02:54
merge updates from HEAD file: [5701caadd5] check-in: [099b3f38d7] user: dgp branch: dgp-refactor, size: 282126
02:28
merge updates from HEAD file: [1575f7a9e6] check-in: [ee65fc56de] user: dgp branch: core-stabilizer-branch, size: 282126
2007-07-02
19:18
* generic/tclIO.c: Removed dead code. * unix/tclUnixChan.c:
file: [fe1d6a784e] check-in: [f1679dd963] user: dgp branch: trunk, size: 282122
2007-05-29
14:21
merge updates from HEAD file: [aed93cb3e7] check-in: [404470c2db] user: dgp branch: dgp-refactor, size: 282373
2007-05-24
19:31
* generic/tclIO.c: Backport memleak fix in TclFinalizeIOSubsystem.
file: [67c2b6d2f3] check-in: [bb3dfd4fa3] user: dgp branch: core-8-4-branch, size: 279081
2007-05-04
14:59
* tests/encoding.test: Modified so that encoding tests happen in a private namespace, to avoid polluting the global one. This problem was discovered when running the test suite '-singleproc 1 -skip exec.test' because the 'path' variable in encoding.test conflicted with the one in io.test. * tests/io.test: Made more of the working variables private to the namespace. file: [ded9e0d765] check-in: [9cc60b0ea4] user: kennykb branch: trunk, size: 282373
2007-05-01
22:43
* generic/tclIO.c (DeleteChannelTable): Made changes so that DeleteChannelTable tries to close all open channels, not just the first. [Bug 1710285] * generic/tclThread.c (TclFinalizeSynchronization): Make sure that TSD blocks get freed on non-threaded builds. [Bug 1710825] file: [5d0332ff3b] check-in: [41c23d142b] user: kennykb branch: trunk, size: 282367
2007-04-30
21:40
* generic/tclIO.c (FixLevelCode): Corrected reference count mismanagement of newlevel, newcode. Changed to allocate the Tcl_Obj's as late as possible, and only when actually needed. [Bug 1705778, leak K29]. file: [bd705823f1] check-in: [a533a69b73] user: andreas_kupries branch: trunk, size: 282260
2007-04-20
17:13
merge updates from HEAD file: [aeee6179e1] check-in: [92b90f2910] user: dgp branch: dgp-refactor, size: 282068
05:51
Whitespace policing, replacing commas in varargs with constant string catenation, and fixed an oversight in the fix for NZA time zones. file: [5429b7508e] check-in: [d6ee490b6b] user: kennykb branch: trunk, size: 282068
2007-04-08
14:58
Merge updates from HEAD; may not build file: [df66bd82c9] check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 282078
2007-04-05
13:31
Simplification of some argument processing through introduction of a helper macro. file: [6526089d03] check-in: [4864e8a741] user: dkf branch: trunk, size: 282074
2007-02-23
23:02
various "const" additions, in line with TIP #27 file: [2853c7c88f] check-in: [e3ada46179] user: nijtmans branch: trunk, size: 282435
2007-01-17
10:20
Missed a spot; thanks to Andreas Kupries for spotting this one. file: [fe2ffe8abc] check-in: [c47afa6c2d] user: dkf branch: trunk, size: 282310
00:42
Added macros to make usage of ChannelBuffers clearer. file: [d31be83467] check-in: [9b58a9089b] user: dkf branch: trunk, size: 282230
2006-12-27
03:04
* generic/tclIO.c (Tcl_GetsObj): Avoid checking for for the LF in a possible CRLF sequence when EOF has already been found.
file: [710ec6df21] check-in: [d801cae602] user: mdejong branch: trunk, size: 281491
2006-11-13
17:51
* generic/tclIO.c: When [gets] on a binary channel needs to use the "iso8859-1" encoding, save a copy of that encoding per-thread to avoid repeated freeing and re-loading of it from the file system. This replaces the cached copy of this encoding that the platform initialization code used to keep in pre-8.5 releases.
file: [0559a59549] check-in: [412bdf69f2] user: dgp branch: trunk, size: 281307
08:23
* generic/tclCompExpr.c: fix gcc warnings about 'cast to/from * generic/tclEncoding.c: pointer from/to integer of different * generic/tclEvent.c: size' on 64-bit platforms by casting to * generic/tclExecute.c: intermediate types intptr_t/uintptr_t * generic/tclHash.c: via new PTR2INT(), INT2PTR(), * generic/tclIO.c: PTR2UINT() and UINT2PTR() macros. * generic/tclInt.h: [Patch 1592791] * generic/tclProc.c: * generic/tclTest.c: * generic/tclThreadStorage.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/configure.in: * unix/tclUnixChan.c: * unix/tclUnixPipe.c: * unix/tclUnixPort.h: * unix/tclUnixTest.c: * unix/tclUnixThrd.c:
* unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59
file: [f7c8b058ba] check-in: [8562d10e43] user: das branch: trunk, size: 280446
2006-11-08
11:41
Rewrite for style and clarity (esp. tclPkg.c) file: [c6c54757b2] check-in: [36e6a4022c] user: dkf branch: trunk, size: 280438
2006-10-23
21:01
merge updates from HEAD file: [44cac4b72b] check-in: [1f911d4cbb] user: dgp branch: dgp-refactor, size: 280728
2006-09-28
19:24
* generic/tclIO.c (Tcl_GetsObj): added two test'n'panic guards for possible NULL derefs, [Bug 1566382] and coverity #33.
file: [796fce9406] check-in: [22f85bac32] user: msofer branch: trunk, size: 280727
2006-09-25
21:55
* generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642], aka coverity #51. Extended loop condition, added checking for NULL to prevent seg.fault. file: [a35bfe9853] check-in: [a406cad4cf] user: andreas_kupries branch: trunk, size: 280549
21:55
* generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642], aka coverity #51. Extended loop condition, added checking for NULL to prevent seg.fault. file: [7d6da94e9f] check-in: [82a33de162] user: andreas_kupries branch: core-8-4-branch, size: 279351
2006-07-10
23:01
* generic/tclIO.c (Tcl_CreateChannel): allow Tcl std channel inheritance to be #defined out (default remains in).
file: [dd263d7855] check-in: [51333eb85f] user: hobbs branch: core-8-4-branch, size: 279317
2006-04-28
16:09
Merge updates from HEAD file: [50cd9a6e5a] check-in: [afab2ad07a] user: dgp branch: dgp-refactor, size: 280517
2006-04-05
00:18
* generic/tclIO.c (ReadChars): Added check and panic and commentary to a piece of code which relies on BUFFER_PADDING to create enough space at the beginning of each buffer forthe insertion of partial multi-byte data at the beginning of a buffer. To explain why this code is ok, and as precaution if someone twiddled the BUFFER_PADDING into uselessness.
* generic/tclIO.c (ReadChars): [SF Tcl Bug 1462248]. Added code temporarily suppress the use of TCL_ENCODING_END set when eof was reached while the buffer we are converting is not truly the last buffer in the queue. together with the Utf bug below it was possible to completely bollox the buffer data structures, eventually crashing Tcl.
* generic/tclEncoding.c (UtfToUtfProc): Fixed problem where the function accessed memory beyond the end of the input buffer. When TCL_ENCODING_END is set and the last bytes of the buffer start a multi-byte sequence. This bug contributed to [SF Tcl Bug 1462248].
file: [1c1c7202f6] check-in: [3f9727b64f] user: andreas_kupries branch: trunk, size: 280525
00:05
* generic/tclIO.c (ReadChars): Added check and panic and commentary to a piece of code which relies on BUFFER_PADDING to create enough space at the beginning of each buffer forthe insertion of partial multi-byte data at the beginning of a buffer. To explain why this code is ok, and as precaution if someone twiddled the BUFFER_PADDING into uselessness.
* generic/tclIO.c (ReadChars): [SF Tcl Bug 1462248]. Added code temporarily suppress the use of TCL_ENCODING_END set when eof was reached while the buffer we are converting is not truly the last buffer in the queue. together with the Utf bug below it was possible to completely bollox the buffer data structures, eventually crashing Tcl.
* generic/tclEncoding.c (UtfToUtfProc): Fixed problem where the function accessed memory beyond the end of the input buffer. When TCL_ENCODING_END is set and the last bytes of the buffer start a multi-byte sequence. This bug contributed to [SF Tcl Bug 1462248].
file: [a5928c43b4] check-in: [6dddbc1976] user: andreas_kupries branch: core-8-4-branch, size: 279217
2006-03-27
18:08
* doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made it * generic/tcl.h: the version where the "truncateProc" * generic/tclIO.c: is defined at, and moved all channel * generic/tclIOGT.c: drivers of Tcl to v5. * generic/tclIORChan.c: * unix/tclUnixChan.c: * unix/tclUnixPipe.c: * win/tclWinChan.c: * win/tclWinConsole.c: * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: file: [fc99bace1a] check-in: [5fab17f21d] user: andreas_kupries branch: trunk, size: 277393
2006-03-10
17:32
Calls TclpFinalizeSockets() as part of the TclFinalizeIOSubsystem() file: [96591b4d11] check-in: [e58d58ce10] user: vasiljevic branch: trunk, size: 277293
14:12
Invokes TclpFinalizeSockets() as part of the TclFinalizeIOSubsystem() call. file: [8c88222e5d] check-in: [ab02be49ed] user: vasiljevic branch: core-8-4-branch, size: 276077
2006-02-23
14:45
merge updates from HEAD file: [562f74851b] check-in: [7fa5cf84d0] user: dgp branch: dgp-refactor, size: 277143
2006-02-15
16:04
* generic/tclIO.c: Made several routines tolerant of * generic/tclIOUtil.c: interp == NULL arguments. [Bug 1380662]
file: [f4eccabeb2] check-in: [edfdd84186] user: dgp branch: core-8-4-branch, size: 275918
15:43
* generic/tclIO.c: Made several routines tolerant of * generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662] * generic/tclIOUtil.c:
file: [84456b7b90] check-in: [bd31f0fa9a] user: dgp branch: trunk, size: 277139
2006-01-25
18:38
merge updates from HEAD file: [4057f03009] check-in: [24df3318d7] user: dgp branch: dgp-refactor, size: 276929
2005-12-13
22:43
Export stubs for libtommath; fix mingw compiler warnings file: [3d195ed19d] check-in: [3842b9c468] user: kennykb branch: trunk, size: 276929
2005-12-02
18:42
merge updates from HEAD file: [f8879feb1c] check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 276916
2005-11-18
19:38
* generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we netrieve next statePtr from it.
file: [bf3cd4e2f7] check-in: [6869f44f49] user: hobbs branch: trunk, size: 276914
19:38
* generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we netrieve next statePtr from it.
file: [062e16cf4d] check-in: [420af74d34] user: hobbs branch: core-8-4-branch, size: 275704
17:15
* generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch for [SF Tcl Bug 1359094]. This moves the retrieval of the next channel state to the end of the loop, as the called closeproc may close other channels, i.e. modify the list we are iterating, invalidating any pointer retrieved earlier. file: [dd36f23cd0] check-in: [6d056d3802] user: andreas_kupries branch: trunk, size: 276795
17:14
* generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch for [SF Tcl Bug 1359094]. This moves the retrieval of the next channel state to the end of the loop, as the called closeproc may close other channels, i.e. modify the list we are iterating, invalidating any pointer retrieved earlier. file: [e128fc586e] check-in: [e8ea129e06] user: andreas_kupries branch: core-8-4-branch, size: 275606
2005-11-03
17:52
merge updates from HEAD file: [b0ed79e18f] check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 276636
2005-10-31
17:15
typo file: [9355a69b34] check-in: [08fbaa0411] user: dgp branch: trunk, size: 276632
15:59
Convert to using ANSI decls/definitions and using the (ANSI) assumption that NULL can be cast to any pointer type transparently. file: [3456cae15a] check-in: [1e0170d2bf] user: dkf branch: trunk, size: 276631
2005-10-18
20:46
merge updates from HEAD file: [e23608ac60] check-in: [2e8613842e] user: dgp branch: dgp-refactor, size: 283409
2005-10-14
17:33
Backed off change from 2005-10-04 (see ChangeLog and Tcl Bug# 1323992 for more info). file: [bac09df0aa] check-in: [7ffd02a4fa] user: vasiljevic branch: trunk, size: 283411
17:12
Backed off change from 2005-10-04 (see ChangeLog and Tcl Bug# 1323992 for more info. file: [c8f13b2e5c] check-in: [88a6e2c1cc] user: vasiljevic branch: core-8-4-branch, size: 275457
2005-10-13
21:01
Added some more clarifying comments in Tcl_ClearChannelHandlers() file: [1b97d3c1e1] check-in: [7910c8fdd8] user: vasiljevic branch: core-8-4-branch, size: 276174
21:01
Added some more clarifying comments in Tcl_ClearChannelHandlers() file: [be76f778c7] check-in: [e296d976e4] user: vasiljevic branch: trunk, size: 284120
20:51
Temporary ifdef TCL_THREADS changes done to de-activate pending event processing when channel is being closed/cutted. file: [fe6e6a4e8f] check-in: [f7a1a7a67b] user: vasiljevic branch: trunk, size: 283953
20:40
Temporary ifdef TCL_THREADS changes done to de-activate pending event processing when channel is being closed/cutted. file: [e1e7329f26] check-in: [0c54954fc0] user: vasiljevic branch: core-8-4-branch, size: 275998
2005-10-08
13:44
merge updates from HEAD file: [d93be79af4] check-in: [1b902ae45a] user: dgp branch: kennykb-numerics-branch, size: 283835
2005-10-04
18:32
Tcl_ClearChannelHandlers(): now deletes any outstanding timer for the channel. Also, prevents events still in the event queue from triggering on the current channel. file: [7450bd2b89] check-in: [b68b5918fb] user: vasiljevic branch: trunk, size: 283837
18:15
Tcl_ClearChannelHandlers(): now deletes any outstanding timer for the channel. Also, prevents events still in the event queue from triggering on the current channel. file: [f1bd73c833] check-in: [2c5a4e4496] user: vasiljevic branch: core-8-4-branch, size: 275883
2005-09-12
15:40
merge updates from HEAD file: [2e6e1d6831] check-in: [156f19bcaf] user: dgp branch: dgp-refactor, size: 283310
2005-08-29
18:38
[kennykb-numerics-branch] Merge updates from HEAD.
file: [e6c199c4b1] check-in: [c74bd61cc0] user: dgp branch: kennykb-numerics-branch, size: 283309
2005-08-26
22:11
* generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to {Cut,Splice}Channel for internal use, and created new public functions for Tcl_{Cut,Splice}Channel which walk the whole stack of transformations and invoke the necessary thread actions. Added code to Tcl_(Un)StackChannel to properly invoke the thread actions when pushing and popping transformations on/from a channel. file: [04765e36f6] check-in: [fd26ccea74] user: andreas_kupries branch: trunk, size: 283317
2005-08-25
15:46
[kennykb-numerics-branch] Merge updates from HEAD
* generic/tclExecute.c: Bug fix. INST_*SHIFT* opcodes stack management. [expr 0<<6] should be 0, not 6.
file: [1089ea0b1f] check-in: [6d651867f9] user: dgp branch: kennykb-numerics-branch, size: 278807
2005-08-24
17:56
TIP#219 IMPLEMENTATION
* doc/SetChanErr.3: ** New File **. Documentation of the new channel API functions. * generic/tcl.decls: Stub declarations of the new channel API. * generic/tclDecls.h: Regenerated * generic/tclStubInit.c:
* tclIORChan.c: ** New File **. Implementation of the reflected channel. * generic/tclInt.h: Integration of reflected channel and new error * generic/tclIO.c: propagation into the generic I/O core. * generic/tclIOCmd.c: * generic/tclIO.h: * library/init.tcl:
* tests/io.test: Extended testsuite. * tests/ioCmd.test: * tests/chan.test: * generic/tclTest.c: * generic/tclThreadTest.c:
* unix/Makefile.in: Integration into the build machinery. * win/Makefile.in: * win/Makefile.vc:
file: [0d7592bd4a] check-in: [d936ddccf8] user: andreas_kupries branch: trunk, size: 278815
2005-08-15
18:13
merge updates from HEAD file: [1328a3fb49] check-in: [b456e92317] user: dgp branch: kennykb-numerics-branch, size: 267055
17:23
merge updates from HEAD file: [eb162a9945] check-in: [074d06ccf4] user: dgp branch: dgp-refactor, size: 267056
2005-08-04
17:28
* generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently missing word to complete a sentence.
* generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic message.
file: [0a177d54bd] check-in: [561dff49b3] user: andreas_kupries branch: trunk, size: 267063
2005-08-02
18:14
merge updates from HEAD file: [5a69148b5c] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 267043
2005-07-26
04:11
Merge updates from HEAD file: [3953b5de2d] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 267044
2005-07-17
21:17
Getting more systematic about style file: [2476a99b47] check-in: [7591df07d6] user: dkf branch: trunk, size: 267039
2005-07-12
20:35
merged changes from HEAD file: [42ef115eba] check-in: [5316ea45e0] user: kennykb branch: kennykb-numerics-branch, size: 268511
2005-06-22
21:12
merge updates from HEAD file: [984fbbeadc] check-in: [2c0cc8807c] user: dgp branch: dgp-refactor, size: 268508
19:47
bug 1225727 file: [9c2f7216d0] check-in: [6c3e03abdb] user: kennykb branch: trunk, size: 268507
19:35
bug 1225727 file: [1934fe7187] check-in: [ab109e436a] user: kennykb branch: core-8-4-branch, size: 275367
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611)
file: [addbec7e95] check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 268485
2005-06-07
20:37
Stick to TCL_CHANNEL_VERSION_4; it's all in alpha anyway! file: [24870b7f82] check-in: [4d740196df] user: dkf branch: trunk, size: 268478
02:10
typo file: [fd5047ac00] check-in: [8d33e93a6d] user: dgp branch: trunk, size: 268084
2005-06-06
23:45
TIP#208 implementation It's crude (especially in the tests and docs department) and incomplete (no truncation on non-POSIX platforms). file: [711e8b9c83] check-in: [3280056391] user: dkf branch: trunk, size: 268087
2005-05-11
16:58
merge updates from HEAD file: [bc77584919] check-in: [a8212110f1] user: dgp branch: dgp-refactor, size: 266114
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: [96d8d85443] check-in: [1cc2336920] user: kennykb branch: trunk, size: 266113
16:11
Merged changes from HEAD file: [d4f2c28717] check-in: [bae9c0a530] user: kennykb branch: kennykb-numerics-branch, size: 266117
2005-05-05
18:37
* generic/tclInt.decls: Converted TclMatchIsTrivial to a macro. * generic/tclInt.h: * generic/tclUtil.c: * generic/tclIntDecls.h: `make genstubs` * generic/tclStubInit.c: * generic/tclBasic.c: Added callers of TclMatchIsTrivial where * generic/tclCmdIL.c: a search can be done more efficiently * generic/tclCompCmds.c:when it is recognized that a pattern match * generic/tclDictObj.c: is really an exact match. [Patch 1076088] * generic/tclIO.c: * generic/tclNamesp.c: * generic/tclVar.c:
file: [20b6338c59] check-in: [751ccc1989] user: dgp branch: trunk, size: 266109
2005-04-29
22:39
Merge updates from HEAD file: [2e5b69518e] check-in: [ac63d218d8] user: dgp branch: dgp-refactor, size: 265775
2005-04-25
21:37
Merged with HEAD. file: [ded9bd5fcc] check-in: [fcce6158ac] user: kennykb branch: kennykb-numerics-branch, size: 265778
2005-04-14
07:09
* generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit * tests/io.test: changed from ten bytes to one byte. Need * tests/iogt.test: for this change was proven by Ross Cartlidge <[email protected]> where [read stdin 1] was grabbing 10 bytes followed by starting a child process that was intended to continue reading from stdin. Even with -buffersize set to one, nine chars were getting lost by the buffersize over reading for the native read() caused by [read]. file: [679446ca91] check-in: [74c27f43eb] user: davygrvy branch: core-8-4-branch, size: 275343
02:41
* generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit * tests/io.test: changed from ten bytes to one byte. Need for this change was proven by Ross Cartlidge <[email protected]> where [read stdin 1] was grabbing 10 bytes followed by starting a child process that was intended to continue reading from stdin. Even with -buffersize set to one, nine chars were getting lost by buffer size over reading for the native read(). file: [75fa227f16] check-in: [7b37444344] user: davygrvy branch: trunk, size: 265775
2005-04-10
23:14
merged with HEAD and fixed 1180368 file: [ee200646f2] check-in: [7bc9ca0285] user: kennykb branch: kennykb-numerics-branch, size: 265783
2005-04-08
17:10
explanatory comment file: [fc76ca774f] check-in: [53b1db0561] user: dgp branch: trunk, size: 265775
2005-02-24
19:53
Merge updates from HEAD file: [7932086e1b] check-in: [185beecc8a] user: dgp branch: dgp-refactor, size: 265393
2005-02-02
15:53
sync with head, add TclStrToD (TIP #132) file: [456f85cdea] check-in: [82ce6a0c40] user: kennykb branch: kennykb-numerics-branch, size: 265396
2005-01-27
22:53
TIP#218 IMPLEMENTATION
* generic/tclDecls.h: Regenerated from tcl.decls. * generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API, * generic/tcl.decls: extended testsuite, and * generic/tcl.h: implementation. Removal of old * generic/tclIO.c: driver-specific TclpCut/Splice * generic/tclInt.h: functions. Replaced with generic * tests/io.test: thread-action calls through the * unix/tclUnixChan.c: new hooks. Update of all builtin * unix/tclUnixPipe.c: channel drivers to version 4. * unix/tclUnixSock.c: Windows drivers extended to * win/tclWinChan.c: manage thread state in a thread * win/tclWinConsole.c: action handler. * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: * mac/tclMacChan.c:
file: [743fe52e1f] check-in: [1621430b8b] user: andreas_kupries branch: core-8-4-branch, size: 275414
00:22
TIP#218 IMPLEMENTATION
* generic/tclDecls.h: Regenerated from tcl.decls. * generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API, * generic/tcl.decls: extended testsuite, and * generic/tcl.h: implementation. Removal of old * generic/tclIO.c: driver-specific TclpCut/Splice * generic/tclInt.h: functions. Replaced with generic * tests/io.test: thread-action calls through the * unix/tclUnixChan.c: new hooks. Update of all builtin * unix/tclUnixPipe.c: channel drivers to version 4. * unix/tclUnixSock.c: Windows drivers extended to * win/tclWinChan.c: manage thread state in a thread * win/tclWinConsole.c: action handler. * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c:
file: [1f5ac66365] check-in: [0162fae7ad] user: andreas_kupries branch: trunk, size: 265400
2004-12-09
23:00
Merge updates from HEAD file: [205af71686] check-in: [24873008cc] user: dgp branch: dgp-refactor, size: 263870
2004-11-30
19:34
Patch 976520 reworks several of the details involved with startup/initialization of the Tcl library, focused on the activities of Tcl_FindExecutable().
* generic/tclIO.c: Removed bogus claim in comment that encoding "iso8859-1" is "built-in" to Tcl.
* generic/tclInt.h: Created a new struct ProcessGlobalValue, * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and function type TclInitProcessGlobalValueProc. Together, these take care of the housekeeping for "values" (things that can be held in a Tcl_Obj) that are global across a whole process. That is, they are shared among multiple threads, and epoch and mutex protection must govern the validity of cached copies maintained in each thread.
* generic/tclNotify.c: Modified TclInitNotifier() to tolerate being called multiple times in the same thread.
* generic/tclEvent.c: Dropped the unused argv0 argument to TclInitSubsystems(). Removed machinery to unsure only one TclInitNotifier() call per thread, now that that is safe. Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to tclEncoding.c. * generic/tclBasic.c: Updated caller.
* generic/tclInt.h: TclpFindExecutable now returns void. * unix/tclUnixFile.c: * win/tclWinFile.c: * win/tclWinPipe.c:
* generic/tclEncoding.c: Built new encoding search initialization on a foundation of ProcessGlobalValues, exposing new routines Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to directory pathname keeps track of where encodings are available for loading. Tcl_FindExecutable greatly simplified into just three function calls. The "library path" is now misnamed, as its only remaining purpose is as a foundation for the default encoding search path.
* generic/tclInterp.c: Inlined the initScript that is evaluated by Tcl_Init(). Added verification after initScript evaluation that Tcl can find its installed *.enc files, and that it has initialized [encoding system] in agreement with what the environment expects. [tclInit] no longer driven by the value of $::tcl_libPath; it largely constructs its own search path now, rather than attempt to share one with the encoding system.
* unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can reveal that Tcl thinks the [encoding system] should be, even when an incomplete encoding search path, or a missing *.enc file won't allow that initialization to succeed. TclpInitLibraryPath reworked as an initializer of a ProcessGlobalValue.
* unix/tclUnixTest.c: Update implementations of [testfindexecutable], [testgetdefenc], and [testsetdefenc].
* tests/unixInit.test: Corrected tests to operate properly even when a value of TCL_LIBRARY is required to find encodings.
* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath, TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These are candidates for public exposure by future TIPs.
* generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
* generic/tclTest.c: Updated [testencoding] to use * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
file: [dafd84dfcf] check-in: [5b205fd672] user: dgp branch: trunk, size: 263866
2004-11-09
15:47
Janitorial whitespace/style fixes. file: [26dcab5cd8] check-in: [95ac722b47] user: dkf branch: trunk, size: 263934
2004-10-28
18:45
merge updates from HEAD file: [5ff15d6157] check-in: [5fdab1eb47] user: dgp branch: dgp-refactor, size: 274423
2004-10-06
15:59
* generic/tclBasic.c: * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: * generic/tclEncoding.c: * generic/tclExecute.c: * generic/tclFCmd.c: * generic/tclHistory.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclResult.c: * generic/tclScan.c: * generic/tclTimer.c: * generic/tclTrace.c: * generic/tclUtil.c: * generic/tclVar.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
file: [ad686b7db2] check-in: [9883f6bfdb] user: dgp branch: trunk, size: 274419
2004-09-21
23:10
merge updates from HEAD file: [be09bb51a0] check-in: [1d1ea15d54] user: dgp branch: dgp-refactor, size: 274408
2004-09-10
20:06
Fix [Bug 1025359] to make sure wide seeks don't lose errors file: [12bee30999] check-in: [ffbedbe75d] user: dkf branch: core-8-4-branch, size: 273876
20:04
Fix [Bug 1025359]; make sure wide seeks don't lose errors file: [f95e13963f] check-in: [f1b225581b] user: dkf branch: trunk, size: 274404
2004-09-08
23:02
Merge updates from HEAD file: [55f1cf59a2] check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 274418
2004-07-15
20:46
* generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the * generic/tclIO.c (Tcl_Close): close callbacks are run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive call of 'close' in the close-callbacks. This is a possible error made by implementors of virtual filesystems based on 'tclvfs', thinking that they have to close the channel in the close handler for the filesystem.
* generic/tclIO.c: * generic/tclIO.h: * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel drivers it introduced. This has become possible due to Expect gaining a BlockModeProc and now handling blockingg and non-blocking modes correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough version of Expect is used.
* doc/CrtChannel.3: Added warning about usage of a channel without a BlockModeProc.
file: [29d2337d54] check-in: [ec89766307] user: andreas_kupries branch: trunk, size: 274426
20:46
* generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the * generic/tclIO.c (Tcl_Close): close callbacks are run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive call of 'close' in the close-callbacks. This is a possible error made by implementors of virtual filesystems based on 'tclvfs', thinking that they have to close the channel in the close handler for the filesystem.
* generic/tclIO.c: * generic/tclIO.h: * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel drivers it introduced. This has become possible due to Expect gaining a BlockModeProc and now handling blockingg and non-blocking modes correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough version of Expect is used.
* doc/CrtChannel.3: Added warning about usage of a channel without a BlockModeProc.
file: [bcb94738eb] check-in: [91ff646723] user: andreas_kupries branch: core-8-4-branch, size: 273898
2004-06-01
18:44
* generic/tclIO.c (Tcl_SetChannelOption): Took out the range verification on -buffersize so original behavior for silently ignoring bad settings is returned. The only difference now is the behavior difference between atoi and Tcl_GetInt which gains the ability to error for 'not a number' and can understand hexidecimal. file: [836726cf17] check-in: [1478f4055c] user: davygrvy branch: trunk, size: 272646
10:00
* generic/tclIO.c (Tcl_SetChannelOption): Invalid settings for -buffersize weren't being reported as errors and were blindly ignored. Now reports conversion errors to an int and checks ranges for validity. atoi() swapped for Tcl_GetInt(). file: [e7cc94ee6a] check-in: [cc6db8153e] user: davygrvy branch: trunk, size: 272881
2004-05-27
14:29
Merge updates from HEAD. Also implemented flags argument to TclCompEvalObj(). file: [d1a67bbdf5] check-in: [8f7452ee0c] user: dgp branch: dgp-refactor, size: 272578
2004-05-19
19:41
* tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem as * tclIO.h: [SF Tcl Bug 462317], see ChangeLog entry 2001-09-26. The fix done at that time is incomplete. It is possible to get around it if the actual read operation is defered and not executed in the event handler itself. Instead of tracking if we are in an read caused by a synthesized fileevent we now track if the OS has delivered a true event = actual data and bypass the driver if a read finds that there is no actual data waiting. The flag is cleared by a short or full read. file: [1d87764856] check-in: [30839ce2a7] user: andreas_kupries branch: trunk, size: 272586
19:23
Removed one bogus clearance of the has-more flag. Erroneously kept after shifting the code. file: [16208401fd] check-in: [36ef9ecd35] user: andreas_kupries branch: core-8-4-branch, size: 272112
19:16
* tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem as * tclIO.h: [SF Tcl Bug 462317], see ChangeLog entry 2001-09-26. The fix done at that time is incomplete. It is possible to get around it if the actual read operation is defered and not executed in the event handler itself. Instead of tracking if we are in an read caused by a synthesized fileevent we now track if the OS has delivered a true event = actual data and bypass the driver if a read finds that there is no actual data waiting. The flag is cleared by a short or full read. file: [3013224265] check-in: [f99f83647b] user: andreas_kupries branch: core-8-4-branch, size: 272164
2004-05-04
17:44
Merge updates from HEAD. file: [7b09e301e7] check-in: [de9c64200c] user: dgp branch: dgp-refactor, size: 269300
2004-04-23
23:40
* generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851]. When changing the eofchar we have to zap the related flags to prevent them from prematurely aborting the next read. file: [9e14d5002c] check-in: [3404cd2712] user: andreas_kupries branch: core-8-4-branch, size: 268834
23:38
* generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851]. When changing the eofchar we have to zap the related flags to prevent them from prematurely aborting the next read. file: [bd4405c0d2] check-in: [81e0f61614] user: andreas_kupries branch: trunk, size: 269308
2004-04-09
20:57
Merge updates from HEAD file: [858d5b9a97] check-in: [5b5c8133e5] user: dgp branch: dgp-refactor, size: 269033
2004-04-06
22:25
Patch 922727 committed. Implements three changes:
* 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):
file: [8afc7c4a7e] check-in: [2e5b18c85c] user: dgp branch: trunk, size: 269029
2004-03-26
22:28
Merge updates from HEAD. file: [2b4d3e5454] check-in: [6e8d2d7ba1] user: dgp branch: dgp-refactor, size: 269054
2004-03-09
12:59
fixed typos in documentation and comments file: [bf8dc942a3] check-in: [720c4fb879] user: vincentdarley branch: trunk, size: 269060
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: [3e62bee6bb] check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 269067

2004-02-02
22:00
* generic/tclIO.c (Tcl_Ungets): fixes improper filling of the channel buffer. [Bug 405995] file: [782eae764e] check-in: [de1126b198] user: davygrvy branch: core-8-4-branch, size: 268560
21:31
* generic/tclIO.c (Tcl_Ungets): fixed improper filling of the channel buffer. [Bug 405995] file: [7b3e9b1303] check-in: [b0dd06df66] user: davygrvy branch: trunk, size: 269068
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: [9b16d8ae0f] check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 269080
2003-04-22
23:20
* The changes below fix SF bugs [593810], and [718045].
* generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke TclpCutSockChannel and TclpSpliceSockChannel.
* generic/tclInt.h: Declare TclpCutSockChannel and TclpSpliceSockChannel.
* unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): Dummy functions, on unix the sockets are _not_ handled specially.
* mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New functions to handle socket specific cut/splice operations: auto-initi of socket system for thread on splice, management of the module internal per-thread list of sockets, management of association of sockets with HWNDs for event notification.
* win/tclWinSock.c (NewSocketInfo): Extended initialization assignments to cover all items of the structure. During debugging of the new code mentioned above I found that two fileds could contain bogus data.
* win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before definition because when compiling in debug mode the compiler complains about a redefinition, and this warning is also treated as an error.
file: [55275be4b3] check-in: [1aff0f8acb] user: andreas_kupries branch: trunk, size: 269043
2003-04-11
17:39
* generic/tclIO.c (UpdateInterest): When dropping interest in TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a bug where Expect detects eof on a file prematurely on solaris 2.6 and higher. A much more complete explanation is in the code itself (40 lines of comments for a one-line change :) file: [2ae9fff0ac] check-in: [31a2593db7] user: andreas_kupries branch: trunk, size: 268980
17:35
* generic/tclIO.c (UpdateInterest): When dropping interest in TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a bug where Expect detects eof on a file prematurely on solaris 2.6 and higher. A much more complete explanation is in the code itself (40 lines of comments for a one-line change :) file: [08f63cd25b] check-in: [75fb1b9079] user: andreas_kupries branch: core-8-4-branch, size: 268579
2003-04-10
22:18

Experimental change. Easier to check in and later back out if there are problems than to try and compile everything manually on all the platforms. This way the AS auto-build gets the change without fuss, and I can read the logs tomorrow. file: [cbb7eb04c8] check-in: [472e7cd66b] user: andreas_kupries branch: core-8-4-branch, size: 267228

2003-03-06
20:14
* generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): If there is data buffered in the statePtr->curOutPtr member then set the BUFFER_READY flag in Tcl_Seek. This is needed so that the next call to FlushChannel will write any buffered bytes before doing the seek. The existing code would set the BUFFER_READY flag inside the Tcl_OutputBuffered function. This was a programming error made when Tcl_OutputBuffered was originally created in CVS revision 1.35. The setting of the BUFFER_READY flag should not have been included in the Tcl_OutputBuffered function. * generic/tclTest.c (TestChannelCmd): Use the Tcl_InputBuffered and Tcl_OutputBuffered util methods to query the amount of buffered input and output.
file: [09bd5142b0] check-in: [23b96afaed] user: mdejong branch: trunk, size: 267297
10:10
* generic/tclIO.c (Tcl_Flush): Compare the nextAdded member of the ChannelBuffer to the nextRemoved member to determine if any output has been buffered. The previous check against the value 0 seems to have just been a coding error. See other methods like Tcl_OutputBuffered for examples where nextAdded is compared to nextRemoved to find the number of bytes buffered.
file: [36af492ddd] check-in: [f7c5ccc73c] user: mdejong branch: trunk, size: 266997
09:58
* generic/tclIO.c (Tcl_GetsObj): Check that the eol pointer has not gone past the end of the string when in auto translation mode and the INPUT_SAW_CR flag is set. The previous code worked because the end of string value \0 was being compared to \n, this patch just skips that pointless check.
file: [70b07eb2ad] check-in: [f2e6fa75ca] user: mdejong branch: trunk, size: 266953
09:47
* generic/tclIO.c (WriteBytes, WriteChars, Tcl_GetsObj, ReadBytes): Rework calls to TranslateOutputEOL to make it clear that a boolean value is being returned. Add some comments in an effort to make the code more clear. This patch makes no functional changes.
file: [244c6391f4] check-in: [5c860f8cb1] user: mdejong branch: trunk, size: 266933
09:16
* generic/tclIO.c (Tcl_SetChannelOption): Invoke the Tcl_SetChannelBufferSize method as a result of changing the -buffersize option to fconfigure. The previous implementation used some inlined code that reset the buffer size to the default size instead of ignoring the request as implemented in Tcl_SetChannelBufferSize. * tests/io.test: Update test case so that it actually checks the implementation of Tcl_SetChannelBufferSize.
file: [311dcde804] check-in: [743ec70c25] user: mdejong branch: trunk, size: 266772
2003-02-19
01:04
(HaveVersion): correctly decl static file: [1198e71832] check-in: [4e98446e21] user: hobbs branch: trunk, size: 266890
2003-02-17
22:31
* generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only assigned at the top of the TCL_TRANSLATE_AUTO case block. The other cases assign eol so this does not change any functionality.
file: [60160af7fb] check-in: [bfd396bc22] user: mdejong branch: trunk, size: 266885
2003-01-26
05:59
* generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke TclpCutFileChannel and TclpSpliceFileChannel. * generic/tclInt.h: Declare TclpCutFileChannel and TclpSpliceFileChannel. * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel, Tcl_MakeFileChannel, TclpCutFileChannel, TclpSpliceFileChannel): Implement thread load data cut and splice for file channels. This avoids an invalid memory ref when compiled with -DDEPRECATED. * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel, TclpSpliceFileChannel): Implement thread load data cut and splice for file channels. This avoids an invalid memory ref that was showing up in the thread extension.
file: [8e998661b6] check-in: [40bc638062] user: mdejong branch: trunk, size: 266884
2003-01-24
11:59
stringObj unicode Tcl_SetObjLength fixes file: [a8aa2bb2d2] check-in: [dce71c6888] user: vincentdarley branch: trunk, size: 266825
2002-08-20
20:25
merged with trunk at tag macosx-8-4-merge-2002-08-20-trunk file: [4f1873b1cf] check-in: [354986d9c3] user: das branch: macosx-8-4-branch, size: 266602
2002-07-30
18:36
* tests/io.test: * generic/tclIO.c (WriteChars): Added flag to break out of loop if nothing of the input is consumed at all, to prevent infinite looping of called with a non-UTF-8 string. Fixes Bug 584603 (partially). Added new test "io-60.1". Might need additional changes to Tcl_Main so that unprintable results are printed as binary data. file: [7a31cfa01c] check-in: [e3952500b8] user: andreas_kupries branch: trunk, size: 266610
2002-06-10
05:33
Merging with TOT as of 06/09/2002. file: [365bdc4147] check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 266233
2002-05-24
21:19
TIP#91 implementation; makes old style channels binary compatible with new TIP#72-enabled Tcl. See http://purl.org/tcl/tip/91 for details. file: [6585deb671] check-in: [b14125cf9e] user: dkf branch: trunk, size: 266224
2002-04-18
01:51
* generic/tclEncoding.c (EscapeFromUtfProc): * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of outputting end escapes for escape-based encodings. [Bug #526524] (yamamoto)
file: [b5eb2dd3f9] check-in: [f6c1bdfbf8] user: hobbs branch: trunk, size: 263469
2002-03-18
22:30
* generic/tclCompile.c (TclCompileTokens): Modified imported bugfix to use a heap variable for the message buffer instead of placing it on the stack.
* Updated "mod-8-3-1-branch" to head of "core-8-3-1-branch" to get the newest fixes for tcl 8.3.4 into this branch.
file: [c44ad02576] check-in: [d631cf3e55] user: andreas_kupries branch: mod-8-3-4-branch, size: 244715
2002-03-11
20:43
* generic/tclEncoding.c: Fix typo in comment. * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value instead of pointer set to NULL to make things more clear. Reorder arguments so that they match the function signatures. Cleanup little typos and add more descriptive comment.
file: [43e1ae9b93] check-in: [d89191c5ce] user: mdejong branch: trunk, size: 262209
2002-03-02
05:00
* tests/encoding.test: added encoding-23.* tests * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START flags in the ChannelState when using 'gets'. [Bug #523988] Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this seems to improve the performance of 'gets' according to tclbench.
file: [75b6ae938c] check-in: [3af9e80543] user: hobbs branch: core-8-3-1-branch, size: 242918
04:55
* tests/encoding.test: added encoding-23.* tests * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START flags in the ChannelState when using 'gets'. [Bug #523988] Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this seems to improve the performance of 'gets' according to tclbench.
file: [2f8e64d9ca] check-in: [53ae028f58] user: hobbs branch: trunk, size: 262103
2002-02-15
14:28
TIP#72 implementation. See ChangeLog for details. This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode. file: [de0c033ded] check-in: [8d82de1905] user: dkf branch: trunk, size: 261912
2002-02-05
02:21
Merging with the current TOT. Very few conflicts, mostly in the generated files. file: [78c8b35b08] check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 260966
2002-01-26
01:10
* Sought out and eliminated instances of CONST-casting that are no longer needed after the TIP 27 effort.
file: [f7866d875e] check-in: [4bca1d26db] user: dgp branch: trunk, size: 260957
00:30
Make -eofchar and -translation options read only for server sockets. [Bug 496733]
* generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): Instead of returning nothing for the -translation option on a server socket, always return "auto". Return the empty string enclosed in quotes for the -eofchar option on a server socket. Fixup -eofchar usage message so that it matches the implementation. * tests/io.test: Add -eofchar tests and -translation tests to ensure options are read only on server sockets. * tests/socket.test: Update tests to account for -eofchar and -translation option changes.
file: [6054240a7b] check-in: [ef568c52d6] user: mdejong branch: core-8-3-1-branch, size: 242728
2002-01-25
23:06
Make -eofchar and -translation options read only for server sockets. [Bug 496733]
* generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): Instead of returning nothing for the -translation option on a server socket, always return "auto". Return the empty string enclosed in quotes for the -eofchar option on a server socket. Fixup -eofchar usage message so that it matches the implementation. * tests/io.test: Add -eofchar tests and -translation tests to ensure options are read only on server sockets. * tests/socket.test: Update tests to account for -eofchar and -translation option changes.
file: [075ab61e4b] check-in: [1c08e33e95] user: mdejong branch: trunk, size: 260979
20:40
* Updated interfaces of generic/tclEncoding, generic/tclFilename.c, generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
file: [2e65a3bcb6] check-in: [fceed15544] user: dgp branch: trunk, size: 260618
2002-01-21
20:38
* generic/tclIO.c (WriteChars): Fix for SF #506297, reported by Martin Forssen <[email protected]>. The encoding chosen in the script exposing the bug writes out three intro characters when TCL_ENCODING_START is set, but does not consume any input as TCL_ENCODING_END is cleared. As some output was generated the enclosing loop calls UtfToExternal again, again with START set. Three more characters in the out and still no use of input ... To break this infinite loop we remove TCL_ENCODING_START from the set of flags after the first call (no condition is required, the later calls remove an unset flag, which is a no-op). This causes the subsequent calls to UtfToExternal to consume and convert the actual input. file: [cc960a4461] check-in: [1b53b7b70c] user: andreas_kupries branch: trunk, size: 260622
20:37
* generic/tclIO.c (WriteChars): Fix for SF #506297, reported by Martin Forssen <[email protected]>. The encoding chosen in the script exposing the bug writes out three intro characters when TCL_ENCODING_START is set, but does not consume any input as TCL_ENCODING_END is cleared. As some output was generated the enclosing loop calls UtfToExternal again, again with START set. Three more characters in the out and still no use of input ... To break this infinite loop we remove TCL_ENCODING_START from the set of flags after the first call (no condition is required, the later calls remove an unset flag, which is a no-op). This causes the subsequent calls to UtfToExternal to consume and convert the actual input. file: [aa61321298] check-in: [c667016762] user: andreas_kupries branch: core-8-3-1-branch, size: 242379
2002-01-17
04:37
* More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were overlooked before. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes a source incompatibility in the tablePtr arguments of the Tcl_GetIndexFromObj* routines.
file: [1fcfc5a953] check-in: [28b6020550] user: dgp branch: trunk, size: 259759
03:03
* Updated APIs in generic/tclUtf.c and generic/tclRegexp.c according to the guidelines of TIP 27. Updated callers.
file: [958bbcff99] check-in: [17ade15700] user: dgp branch: trunk, size: 259753
2002-01-15
21:19
* Updated APIs in generic/tclIOUtil.c and generic/tclPosixStr.c according to the guidelines of TIP 27. Updated callers. [Patch 499196]
file: [6af46250e1] check-in: [c606fbd2da] user: dgp branch: trunk, size: 259747
17:55
* Updated APIs in the file generic/tclIO.c according to the guidelines of TIP 27. Several minor documentation corrections as well.
* Updated channel driver interface according to the guidelines of TIP 27. See also [Bug 500348].
* Moved Tcl_EolTranslation enum declaration from generic/tcl.h to generic/tclInt.h (renamed to TclEolTranslation). It is not used anywhere in Tcl's public interface.
file: [286e796dd6] check-in: [9c9edf24eb] user: dgp branch: trunk, size: 259574
2001-12-17
22:55
* Applied #219311 on behalf of Rolf Schroedter <[email protected]> to prevent fcopy on serial ports from flooding the event queue. file: [dc100182ac] check-in: [0e625dfd2b] user: andreas_kupries branch: trunk, size: 259459
2001-12-12
22:32
* generic/tclIO.c (Tcl_GetsObj): Applied patch for bug #491341 as provided by Don Porter <[email protected]>. Fixes assumption of having an empty Tcl_Obj to work with. file: [9566dd6fb8] check-in: [8c4490b8d5] user: andreas_kupries branch: trunk, size: 259046
2001-12-04
21:52
* NOTES: * tcl.h: * tclInt.h: Moved the macros to control feature exclusion and stack manipulation into the private area of the tcl headers. Renamed the macros for TCL_STRUCT_ON_HEAP to make their names more sensible.
* tclCmdAH.c: * tclCompCmds.c: * tclCompExpr.c: * tclCompile.c: * tclExecute.c: * tclIO.c: * tclParse.c: * tclParseExpr.c: * tclScan.c: * tclUnixChan.c: Adapted to changed macro names, added some more places there structures go on the heap instead of the stack. Fixed a problem with TCL_FMT_STATIC_FLOATBUFFER_SZ which caused the interp to crash when actually used to reduce the usage of the stack.
file: [b2f2c960a4] check-in: [fa28ece419] user: andreas_kupries branch: mod-8-3-4-branch, size: 243315
2001-11-28
17:58
* NOTES: New file. Read here about the new modularization macros, interdependencies, implications, etc.
* static.sizes.html: New file. Report on the cuts achieved so far. Regarding the object files only the files which did change in size are reported. Usage of the MODULAR_TCL macro currently cuts about 17 % of the code (measured using strip'ped object files and libraries).
* Changed files so far .. [cut, see changelog for full list]
* Working on modularization of the tcl core.
*************************** **** mod-8-3-4-branch **** ***************************
file: [9f762c0fa4] check-in: [052bbd8095] user: andreas_kupries branch: mod-8-3-4-branch, size: 243308
2001-11-07
04:48
See ChangeLog. file: [71ed97fd68] check-in: [e43a5e4c29] user: andreas_kupries branch: core-8-3-1-branch, size: 241528
04:47
See ChangeLog file: [5cf3314b63] check-in: [755139d84b] user: andreas_kupries branch: trunk, size: 259027
2001-11-05
14:23
Improved backward-compatability on platforms by adding migration entries to the stubs table for Tcl_Seek and Tcl_Tell file: [3cd06ed5ed] check-in: [37677d9c1f] user: dkf branch: dkf-64bit-support-branch, size: 258750
2001-10-16
05:31
Undo of mistaken commit. Sorry! file: [77f10a5588] check-in: [092e282e8d] user: dgp branch: trunk, size: 258719
05:10
  • Added test to demonstrate memory corruption problems. [Bug 219393].
file: [6b3852bf93] check-in: [6134ad6471] user: dgp branch: trunk, size: 258725
2001-09-28
16:30
* generic/tclIO.c: added (on behalf of Kevin Kenny <[email protected]>) two more '(ClientData)' casts on calls to Tcl_Preserve and Tcl_Release -- ones that Vince apparently missed. file: [126ca6d772] check-in: [2c68fed13d] user: andreas_kupries branch: core-8-3-1-branch, size: 241232
16:06
Added necessary casts to ClientData on a pair of calls to Tcl_Preserve and Tcl_Release. file: [2e7e15a620] check-in: [35be6fd3d4] user: kennykb branch: trunk, size: 258723
14:29
Factoring out some more 64/32-bit OS interfaces file: [7d65aea32a] check-in: [8f153d8b82] user: dkf branch: dkf-64bit-support-branch, size: 257767
02:26
* generic/tclIO.c (ChannelTimerProc): Added Tcl_Preserve() and Tcl_Release() to fix segfault introduced by the 2001-09-26 changes. [Bug 465494]
* doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to #define GUARD_SIZE.
file: [8263e3e3a0] check-in: [3828b00948] user: dgp branch: core-8-3-1-branch, size: 241194
00:41
* Added Tcl_Preserve() and Tcl_Release() to fix segfault introduced by the 2001-09-26 changes. [Bug 465494]
file: [3ad91b5e1b] check-in: [70efe784b9] user: dgp branch: trunk, size: 258693
2001-09-27
14:23
Backed out unwise changes file: [4101bce032] check-in: [a6d453858f] user: dkf branch: dkf-64bit-support-branch, size: 257764
02:26
* The changes below fix [Bug #462317] where Expect tried to read more than was in the buffers and then blocked in the OS call as its pty channel driver provides no blockmodeproc through which the OS could be notified of blocking-behaviour. Because of this the general I/O core has to take more care than usual to preserve the semantics of non-blocking channels.
* generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the channel is non-blocking and the fileevent causing the read was generated by a timer. We do not know if there is data available from the OS. Instead of going to the OS for more and potentially blocking we simply signal EWOULDBLOCK to the higher levels to cause the system to wait for true fileevents. (GetInput): Same as before. (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV.
* generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set if a fileevent was generated by a timer, the channel is not blocking and the driver did not provide a blockmodeproc. In that case the I/O core has to be especially careful about going to the driver for more data.
file: [3f9d00e573] check-in: [defcffd4a1] user: andreas_kupries branch: core-8-3-1-branch, size: 241157
02:12
* The changes below fix [Bug #462317] where Expect tried to read more than was in the buffers and then blocked in the OS call as its pty channel driver provides no blockmodeproc through which the OS could be notified of blocking-behaviour. Because of this the general I/O core has to take more care than usual to preserve the semantics of non-blocking channels.
* generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the channel is non-blocking and the fileevent causing the read was generated by a timer. We do not know if there is data available from the OS. Instead of going to the OS for more and potentially blocking we simply signal EWOULDBLOCK to the higher levels to cause the system to wait for true fileevents. (GetInput): Same as before. (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV.
* generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set if a fileevent was generated by a timer, the channel is not blocking and the driver did not provide a blockmodeproc. In that case the I/O core has to be especially careful about going to the driver for more data.
file: [8d2ceb3e08] check-in: [cd08453fb3] user: andreas_kupries branch: trunk, size: 258657
2001-09-26
14:23
Now builds on Solaris8/SPARC with both SunPro CC *and* GCC. file: [3022535e1c] check-in: [4850711173] user: dkf branch: dkf-64bit-support-branch, size: 258354
2001-09-25
16:49
Woo hoo! Builds on one platform (Solaris8/SPARC with SunPro CC) file: [12cd5f7498] check-in: [dd2d80954c] user: dkf branch: dkf-64bit-support-branch, size: 258024
2001-09-06
09:35
Changes due to TIP#49 "Tcl_OutputBuffered" from Rolf Schroedter file: [0561d28cad] check-in: [252b889fc2] user: dkf branch: trunk, size: 257791
2001-08-23
17:37
fs update file: [766acfc918] check-in: [37484c1daa] user: vincentdarley branch: trunk, size: 258114
2001-07-31
19:12
Changes from TIP#17 "Redo Tcl's filesystem"

The following files were impacted.

* doc/Access.3: * doc/FileSystem.3: * doc/OpenFileChnl.3: * doc/file.n: * doc/glob.n: * generic/tcl.decls: * generic/tcl.h: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDate.c: * generic/tclDecls.h: * generic/tclEncoding.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclGetDate.y: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclIOUtil.c: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclLoad.c: * generic/tclStubInit.c: * generic/tclTest.c: * generic/tclUtil.c: * library/init.tcl: * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacInit.c: * mac/tclMacPort.h: * mac/tclMacResource.c: * mac/tclMacTime.c: * tests/cmdAH.test: * tests/event.test: * tests/fCmd.test: * tests/fileName.test: * tests/io.test: * tests/ioCmd.test: * tests/proc-old.test: * tests/registry.test: * tests/unixFCmd.test: * tests/winDde.test: * tests/winFCmd.test: * unix/mkLinks: * unix/tclUnixFCmd.c: * unix/tclUnixFile.c: * unix/tclUnixInit.c: * unix/tclUnixPipe.c: * win/tclWinFCmd.c: * win/tclWinFile.c: * win/tclWinInit.c: * win/tclWinPipe.c
file: [cbec228ee0] check-in: [9461aca548] user: vincentdarley branch: trunk, size: 257938
2001-07-18
17:17
2001-07-18 Andreas Kupries <[email protected]>
* generic/tclIO.c: Aftermath to [SF #427196]. Squash empty buffers if they are smaller than the requested buffersize, to prevent reusage of old buffers and to honor changes in the requested buffersize made by the user.
file: [af6dc18b5e] check-in: [2233dc0144] user: andreas_kupries branch: core-8-3-1-branch, size: 240297
17:13
2001-07-18 Andreas Kupries <[email protected]>
* generic/tclIO.c: Aftermath to [SF #427196]. Squash empty buffers if they are smaller than the requested buffersize, to prevent reusage of old buffers and to honor changes in the requested buffersize made by the user.
file: [5f00282030] check-in: [f732d07f79] user: andreas_kupries branch: trunk, size: 253829
2001-07-17
20:43
* generic/tclIO.c (GetInput): Fixed [SF #427196]. Memory was overwritten because a buffer was used after a change of the requested buffersize together with that requested buffersize and not its actual size, which was smaller. Note that the continous reuse of the smaller buffer negatively impacts performance. The system never allocates a buffer with the newly requested bigger buffersize.
file: [630f0ccf8c] check-in: [c1c9df3c6a] user: hobbs branch: core-8-3-1-branch, size: 239612
17:53
2001-07-17 Andreas Kupries <[email protected]>
* generic/tclIO.c (GetInput): Fixed [SF #427196]. Memory was overwritten because a buffer was used after a change of the requested buffersize together with that requested buffersize and not its actual size, which was smaller. Note that the continous reuse of the smaller buffer negatively impacts performance. The system never allocates a buffer with the newly requested bigger buffersize.
file: [769c7ebf56] check-in: [c3fafed4c2] user: andreas_kupries branch: trunk, size: 253154
2001-05-19
16:59
* Note that "tclbench" (see project "tcllib") was extended with performance benchmarks for [fcopy] too.
* doc/fcopy.n: Updated to reflect the extended behaviour of 'fcopy'.
* tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11' to test the handling of encodings by 'fcopy' / 'TclCopychannel' [Bug #209210].
* generic/tclIO.c: Split of both 'Tcl_ReadChars' and 'Tcl_WriteChars' into a public error checking and an internal working part. The public functions now use the new internal ones. The new functions are 'DoReadChars' and 'DoWriteChars'. Extended 'CopyData' to use the new functions 'DoXChars' when required by the encodings on the input and output channels [Bug #209210].
file: [49b5bc73e2] check-in: [cff0564319] user: andreas_kupries branch: trunk, size: 252546
2001-04-03
22:54
see backport log in ChangeLog for specific file backports from 8.4aCVS file: [24e26109cb] check-in: [6defc375da] user: hobbs branch: core-8-3-1-branch, size: 239067
2001-03-30
23:06
2001-03-30 Andreas Kupries <[email protected]>
* All of the changes below belong to TIP #10 [Tcl I/O Enhancement: Thread-Aware Channels]. See also [Patch #403358] at SF.
* generic/tclIO.h (struct ChannelState, line 236f): Extended the structure with a new field of type 'Tcl_ThreadId' to hold the id of the thread currently managing all channels with this state.
Note: This structure is shared by all channels in a stack of transformations.
* generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified to store the Id of the current thread in the 'ChannelState' of the new channel.
* generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified in the same manner as 'Tcl_CreateChannel' as the channel will be managed by the current thread afterward.
* generic/tclIO.c (Tcl_GetChannelThread, lines 1478-1503): * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New API function to retrieve the Id of the managing thread from a channel. Implementation and declaration.
* generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added subcommand 'mthread' to query a channel about its managing thread.
file: [e9c0f275d3] check-in: [902eab8ec8] user: andreas_kupries branch: trunk, size: 247559
2001-01-30
17:32
2000-01-30 Don Porter <[email protected]> * generic/tclIO.c (CopyData): Moved code that updates the count of how many bytes are left to copy. Corrects bug that when writing occurs in the background, the copy loop could be escaped without updating the count, causing CopyData() to try to copy more bytes than the toRead value originally passed to TclCopyChannel(), leading to hangs and misreporting of number of bytes copied. [Bug 118203, Patch 103432] file: [eb6580f553] check-in: [8a04aef41f] user: dgp branch: trunk, size: 246426
2000-10-28
00:29
* generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code for old channel structures, placed preserve/release around statePtr
file: [1fb0a417a8] check-in: [af6e1bf3b1] user: hobbs branch: trunk, size: 246237
2000-10-27
22:34
* generic/tclIO.c (CloseChannel): the statePtr for a channel was not being freed when the last channel in a stack was freed, causing a mem leak.
file: [bbf2f52620] check-in: [ff154ed552] user: hobbs branch: trunk, size: 248026
2000-10-06
21:10
* tests/cmdAH.test: extra tests for 'file channels' that include multiple interpreter tests and channel sharing * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and consequently 'file channels') to return channels that are actually registered for this specific interp, rather than this thread.
file: [33b6449bb3] check-in: [c07558c028] user: hobbs branch: trunk, size: 247833
2000-09-28
06:38
up-port of the stacked channel implementation rewrite in 8.3.2 to 8.4a2 code base, merged in with some existing new 8.4a2 features. file: [f6ede1ae99] check-in: [23d1294c3a] user: hobbs branch: trunk, size: 247169
2000-08-08
00:57
* generic/tclIO.c (Tcl_CreateChannel): added assertion to verify that the new channel versioning will be binary compatible with older channel drivers.
file: [6793b9cbe1] check-in: [b27de3ca70] user: hobbs branch: core-8-3-1-branch, size: 241083
2000-07-27
01:39
* merged core-8-3-1-io-rewrite back into core-8-3-1-branch. The core-8-3-1-io-rewrite branch should now be considered defunct.
file: [a5911a9648] check-in: [4a5dd63d1f] user: hobbs branch: core-8-3-1-branch, size: 240589
00:38
* generic/tclStubInit.c: * generic/tclDecls.h: * generic/tcl.decls: * generic/tcl.h: * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to tclIO.c and made them proper stubbed functions. These are: Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, and Tcl_ChannelHandlerProc. These should be used to access the Tcl_ChannelType structure instead of direct pointer dereferencing.
file: [17c446db52] check-in: [d975fb5646] user: hobbs branch: core-8-3-1-io-rewrite, size: 240593
2000-07-25
16:54
2000-07-25 Andreas Kupries <[email protected]>
* tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting buffering trouble when stacking and unstacking transformations. iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now, due to the perceived complexity of solutions.
* generic/tclIO.h: (line 139f) struct Channel, added a buffer queue, to hold data pushed back when stacking a transformation.
* generic/tclIO.c: (line 91f, line 7434f) New internal function 'CopyBuffer'. Derived from 'CopyAndTranslateBuffer', with translation removed. (line 1025f, line 1212f): Initialization of new queue. (line 1164f, Tcl_StackChannel): Pushback of input queue. (line 1293f, Tcl_UnstackChannel): Discard input and pushback. (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area before going to the driver. Uses 'CopyBuffer', s.a. (line 4702f, GetInput): Modified to use data in the push back area before going to the driver. (line 4867f, Tcl_Seek): Modified to take pushback of the topmost channel in a stack into account. (line 5620f, Tcl_InputBuffered): See above. Added 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for the buffer area in the channel.
* generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
file: [8e61754ed9] check-in: [10bfc475b0] user: kupries branch: core-8-3-1-io-rewrite, size: 233477
2000-07-17
22:59
* generic/tclStubInit.c: * generic/tclIntDecls.h: * generic/tclInt.decls: commented out internal decls for TclTestChannelCmd and TclTestChannelEventCmd as they were moved to tclTest.c. Added new decls for TclChannelEventScriptInvoker and TclChannelTransform.
* generic/tclIO.h: new file that contains the main internal structures of Tcl_Channel code to allow for multiple files to access them. * generic/tclTest.c: * generic/tclIO.c: broke into 3 files - tclIO.c core code, tclIO.h header code, and tclIOGT.c - the giot test code from Kupries. The channel test code also moved to tclTest.c. * generic/tclIO.c (CloseChannel): stopped masking out of the TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel, instead adding extra intelligence to CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special behavior when called from Raw channel APIs.
file: [cfcbf18df6] check-in: [9a75cd275a] user: hobbs branch: core-8-3-1-io-rewrite, size: 224211
2000-07-14
04:16
* generic/tclIO.c (StackSetBlockMode): moved set of chanPtr outside of blockModeProc check to avoid infinite loop when blockModeProc was NULL (Kupries). updated TransformSeekProc to not call Tcl_Seek directly (Kupries).
file: [e702e27b79] check-in: [d0ec86cd6c] user: hobbs branch: core-8-3-1-io-rewrite, size: 296088
2000-07-12
01:41
* tests/iogt.test: made tests [345].0 not run by default as they were failing in the new design, but I'm not convinced that the returned result isn't correct.
* generic/tclDecls.h: * generic/tclStubInit.c: * generic/tcl.decls: added Tcl_GetTopChannel C API that returns the current top channel of a channel stack. Tcl_GetChannel was changed earlier to return the bottommost channel of a stack because that is the one that is guaranteed to stay around the longest, and this was needed to compensate for certain operations that want to look at the state of the main channel. Most channel APIs already compensate for grabbing the top, so it shouldn't be needed often.
* generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added flushing of buffers (Kupries), removed use of DownChannel macro, added Tcl_GetTopChannel public API to get to the top channel of the channel stack (necessary for TLS). Rewrote Tcl_NotifyChannel for new channel design (Kupries). Did some code cleanup in the transform code. tclIO.c must still be broken into bits (separate out test code and giot code, create tclIO.h).
file: [b7b7ac2a1c] check-in: [2f00b8921d] user: hobbs branch: core-8-3-1-io-rewrite, size: 295933
2000-07-10
17:35
2000-07-10 Andreas Kupries <[email protected]>
* tests/iogt.test: Reverted some earlier changes as a fix by Jeff revived the original and correct behaviour. IOW, the tests showed a genuine error and I didn't see it :(.
* generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use the drivers and not DoRead|DoWrite. The latter use the buffering system, encoding and eol-translation and this wreaks havoc with the data going through the transformations. Both procedures use CheckForchannelErrors and let it believe that there is no background copy in progress or else stacked channels could not be used for that.
* generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the topmost channel from the first to the second procedure to make the decision about that at the last possible time (Callbacks can change the stacking).
test suite: failures of iogt-[345].0
file: [d41387d774] check-in: [ddc1b09ee7] user: kupries branch: core-8-3-1-io-rewrite, size: 290142
2000-07-07
03:31
* tests/iogt.test: new tests for stacked channel stuff based off new 'testchannel transform|unstack' code (Kupries IOGT extension). * generic/tcl.decls: * generic/tcl.h: * generic/tclDecls.h: * generic/tclStubsInit.c: * generic/tclIO.c (TclCopyChannel): complete rewrite of Tcl Channel code for stacked channels. HOBBS: ADD MORE WHEN DONE.
file: [b16a7a96ab] check-in: [b684e61b81] user: hobbs branch: core-8-3-1-io-rewrite, size: 288116
2000-06-02
20:04
* generic/tclIO.c (CloseChannel): removed the &ing out of (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does this on the next pass through for the top channel, and it appeared to be causing hangs by not allowing the final flush.
file: [a3f2e6fe79] check-in: [7659a94a04] user: hobbs branch: core-8-3-1-branch, size: 255269
05:20
(CloseChannel): further extended CloseChannel in the stacked case to effect certain operations on the next channel that would have been done in Tcl_Close. Also added CHANNEL_CLOSED and removed (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed final reset of the WatchProc to check the chanDownPtr's (next) interestMask.
file: [aa23ba73f5] check-in: [0224a167ee] user: hobbs branch: core-8-3-1-branch, size: 255321
03:01
* generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to unstack a channel during the close process. Fixed a refcount bug in Tcl_UnstackChannel. [Bug: 5623]
file: [e756d5c729] check-in: [f7571ce9e0] user: hobbs branch: core-8-3-1-branch, size: 254013
2000-05-19
21:30
* generic/tclTest.c: * generic/tclIO.c: moved channel test commands from tclIO.c to tclTest.c. * generic/tclIO.h: new file, split out from tclIO.c to allow test commands to be moved to tclTest.c.
* generic/tclStubInit.c: * generic/tclIntDecls.h: * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs table and added TclChannelEventScriptInvoker to the internal stubs table so it can be used from the test code.
file: [5567e758c3] check-in: [a0e9b1640e] user: hobbs branch: trunk, size: 222177
2000-05-08
22:14
lint chan = NULL init file: [21bdbb24cb] check-in: [8f82990764] user: hobbs branch: trunk, size: 260711
2000-05-02
22:02
2000-05-02 Andreas Kupries <[email protected]>
* Overall changes: (1) Implementation of joinable threads for all platforms. (2) Additional API's for channels. Required to allow the thread extension to move channels between threads.
* generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers (slots 394 to 400).
* generic/tclIO.c: Implemented Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel uses code from CloseChannel. Replaced this code by a call to Tcl_CutChannel. Replaced several code fragments adding channels to the channel list with calls to Tcl_SpliceChannel. Removed now unused variables from CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code by a call to Tcl_ClearChannelHandlers. Removed now unused variables from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and 'isshared' to the test code (TclTestChannelCmd).
* unix/tclUnixThread.c: Implemented Tcl_JoinThread using the pthread-functionality.
* win/tclWinThrd.c: Fixed several small typos in comments. Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Added 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to prevent a race for joinable threads.
* mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Due to the cooperative nature of threading on this platform the race mentioned above is not present.
* generic/tclThreadJoin.c: New file. Contains a platform independent emulation layer helping in the implementation of joinable threads for the win and mac platforms.
* generic/tclInt.h: Added declarations for TclJoinThread, TclRememberJoinableThread and TclSignalExitThread. These procedures define the API of the emulation layer for joinable threads (see generic/tclThreadJoin.c above).
* win/Makefile.in: * win/makefile.vc: Added generic/tclTheadJoin.o to the rules.
* mac/: I don't know to which file generic/tclTheadJoin.o has to be added to so that it compiles. Sorry.
* unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels as it prevents us from transfering channels. To restore this we may need an extended interface to drivers in the future. Target: 9.0. Found while testing the new transfer of channels. The information in this list for a channel was left behind and then crashed the system during finalization.
* generic/tclThreadTest.c: Added -joinable flag to 'testthread create'. Added subcommand 'testthread join'.
* doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
* doc/Thread.3: Added documentation for Tcl_JoinThread.
* tests/thread.test: Added tests for joining of threads.
file: [c2429d1373] check-in: [cdf262856d] user: kupries branch: trunk, size: 260707
2000-04-05
19:00
2000-04-05 Andreas Kupries <[email protected]>
* generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest mask to the correct value after an unstack and re-initialization of the notifier via the watchProc. Without this the first fileevent after an unstack will come through and be processed, but no more. [Bug: ??].
file: [62ca10258b] check-in: [52b3ac564c] user: kupries branch: trunk, size: 253549
1999-12-21
23:58
* generic/tclCmdIL.c: added -unique option to lsort
* generic/tclThreadTest.c: changed thread ids to longs [Bug: 3902]
file: [b406d65614] check-in: [473262218e] user: hobbs branch: trunk, size: 253508
1999-12-08
03:49
* generic/tclDate.c: * unix/Makefile.in: fixed make gendate to swap const with CONST so it uses the Tcl defined CONST type [Bug: 3521]
* generic/tclIO.c: removed panic that could occur in FlushChannel when a "blocking" channel would receive EAGAIN, instead treating it the same as non-blocking. [Bug: 3773]
* generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step beyond the end of the counted string [Bug: 3336]
file: [54e7cba72f] check-in: [b39a92cac1] user: hobbs branch: trunk, size: 253488
1999-12-01
02:45
* generic/tclIO.c: fix from Kupries for Tcl_UnstackChannel that correctly handles resetting translation and encoding.
file: [2c76ca33ba] check-in: [83cb927173] user: hobbs branch: trunk, size: 253456
1999-09-22
04:12
1999-09-21 Jeff Hobbs <[email protected]>
* tests/env.test: * unix/Makefile.in: added support for AIX LIBPATH env var [Bug: 2793] removed second definition of INCLUDE_INSTALL_DIR (the one that referenced @includedir@) [Bug: 2805] * unix/dltest/Makefile.in: added -lc to LIBS [Bug: 2794]
* tests/timer.test: changed after delay in timer test 6.29 from 1 to 10. [Bug: 2796]
* tests/pkg.test: * generic/tclPkg.c: fixed package version check to disallow 1.2..3 [Bug: 2539]
* unix/Makefile.in: fixed gendate target - this never worked since RCS was intro'd. * generic/tclGetDate.y: updated to reflect previous changes to tclDate.c (leap year calc) and added CEST and UCT time zone recognition. Fixed 4 missing UCHAR() casts. [Bug: 2717, 954, 1245, 1249]
* generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really dump to stderr and close it [Bug: 725] and changed Tcl_Ckrealloc and Tcl_Ckfree to not bomb when NULL was passed in [Bug: 1719] and changed Tcl_Alloc, et al to not panic when a alloc request for zero came through and NULL was returned (valid on AIX, Tru64) [Bug: 2795, etc]
* generic/tclIOCmd.c: fixed potential core dump in conjunction with stacked channels with result obj manipulation in Tcl_ReadChars [Bug: 2623]
* tests/format.test: * generic/tclCmdAH.c: fixed translation of %0#s in format [Bug: 2605]
* tests/set-old.test: * generic/tclVar.c: Added fix in TclArraySet to check when trying to set in a non-existent namespace. [Bug: 2613]
* tests/linsert.test: * generic/tclCmdIL.c: fixed end-int interpretation of linsert to correctly calculate value for end, added test and docs [Bug: 2693]
* doc/switch.n: added proper use of comments to example. * generic/tclCmdMZ.c: changed switch to complain when an error occurs that seems to be due to a misplaced comment.
* generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions in regsub [Bug: 2723]
* generic/tclCmdMZ.c: changed [string equal] to return an Int type object (was a Boolean)
* generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy [Bug: 2625]
* generic/tclProc.c: moved static buf to better location and changed static msg that would overflow in ProcessProcResultCode [Bug: 2483] and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of static buffers.
* tests/stringObj.test: added test 9.11 * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly handle the 1-byte dest and mixed src case where both had had Unicode string len checks made on them. [Bug: 2678]
* unix/aclocal.m4: * unix/tcl.m4: added -bnoentry to the AIX-* case [Bug: 1909] added fix for FreeBSD-[1-2] recognition [Bug: 2070] and fix for IRIX SHLIB_LB_LIBS. [Bug: 2610]
* generic/tclPosixStr.c: fixed typo [Bug: 2592]
* win/README.binary: fixed version info and some typos [Bug: 2561]
* generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide headers (pleases HP cc)
* tests/expr.test: * 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. Related to [Bug: 732]
file: [1df674e663] check-in: [ab656050a9] user: hobbs branch: core-8-2-1-branch, size: 251052
1999-08-19
17:39
1999-08-19 Jeff Hobbs <[email protected]>
* generic/tclIO.c: changed Tcl_GetChannelNames* to use K&R style headers (style guide, also pleases HP cc)
file: [0731f3777c] check-in: [769c31641d] user: hobbs branch: trunk, size: 251894
02:59
1999-08-18 Jeff Hobbs <[email protected]>
* 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.
file: [40eb3913fd] check-in: [fb64d24b32] user: hobbs branch: trunk, size: 251758
1999-08-10
17:35
* generic/tclListObj.c: * generic/tcl.decls: * generic/tclDecls.h: Applied patch from Jim Ingham to change the prototype of Tcl_ListObjGetElements to have the last argument have a CONST so that you can feed it the objv that you get from the standard TclObj command proc.

* generic/tclAlloc.c: * generic/tclCmdIL.c: * generic/tclIO.c: * generic/tclThread.c: * win/tclWinThrd.c: * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on Windows (and he fixed the bug in the Unix thread implementation). file: [635caa9c22] check-in: [cfb9ace67b] user: redman branch: trunk, size: 251003

02:42
1 Added use of Tcl_GetAllocMutex to tclAlloc.c and tclCkalloc.c so they can be linked against alternate thread packages. 2 Added Tcl_GetChannelNames to tclIO.c 3 Added TclVarTraceExists hook so "info exists" triggers read traces exactly like it did in Tcl 7.6 4 Stubs table changes to reflect new internal and external APIs file: [45a2ed5410] check-in: [0a115beef8] user: welch branch: trunk, size: 251888
1999-07-30
21:46
updated trf patch to fix problems created when adapting Kupries' previous patch to our specs. file: [4f28674c59] check-in: [af62bca303] user: hobbs branch: trunk, size: 250022
1999-07-22
21:50
* Changed version to 8.2b2.

* win/tclWinPort.h: Block out include of sys/*.h in order to build extensions with MetroWerks compiler for Win32. [Bug: 2385]

* generic/tclCmdMZ.c: * generic/tclIO.c: Fix ANSI-style prototypes based on patch from Ulrich Ring. [Bug: 2391]

* unix/Makefile.in: Need to make install-sh executable before calling (with chmod +x). [Bug: 2413]

* tests/var.test: * generic/tclVar.c: Fixed bug that caused a seg. fault when using "array set a(b) {}", which is a bad array name anyway. Now the "array set" command will return an error in this case. Added test case and fixed existing test. [Bug: 2427] file: [58f93fe5dd] check-in: [589cb7ba77] user: redman branch: trunk, size: 249313

1999-07-02
19:51
Name change from Tcl_ReplaceChannel to Tcl_StackChannel Added new code that modifies the channel in place. file: [233f0d8fec] check-in: [559c4a45d9] user: welch branch: trunk, size: 249302
1999-06-30
17:47
Initial version of the Tcl_ReplaceChannel and Tcl_UndoReplaceChannel functions. file: [7e8d360a2c] check-in: [3050cfce85] user: welch branch: trunk, size: 240281
1999-05-18
20:17
added -encoding to the list of legal options used in the error message when a bad option is used. Because the fconfigure command is configurable (so more option can be added), the error string is hardcoded. file: [baec5d6315] check-in: [22239ff421] user: hershey branch: trunk, size: 230673
1999-04-21
21:50
Resynced with mainline. file: [05211a8f91] check-in: [45b9dd789f] user: rjohnson branch: trunk, size: 230665
01:47
Merged with mainline. file: [3fa1eea2ad] check-in: [81c2b84aff] user: rjohnson branch: scriptics-tclpro-1-2, size: 230669
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-19
21:01
Added: Added comment about not check for EINTR [Bug 1631]. file: [00b905b0d9] check-in: [1432d68679] user: redman branch: scriptics-tclpro-1-2, size: 230868
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: [aad6c7a6d5] check-in: [f3b32fb71c] user: stanton branch: trunk, size: 230664
1999-04-14
00:33
Fixed comments in code that referred to APIs that no longer exist, were misspelled, or have been updated. file: [88d52f2208] check-in: [2d7ffe4998] user: surles branch: core-8-1-branch-old, size: 230667
1999-03-11
19:28
Deleted: Add documentation for Tcl_GetVersion() check-in: [940e47cf48] user: redman branch: scriptics-tclpro-1-2, size: 0
1999-02-19
02:17
Deleted: Created branch scriptics-tclpro-1-2-synthetic check-in: [1d719b3ad1] user: cvs2fossil branch: scriptics-tclpro-1-2-synthetic, size: 0
1999-02-01
21:29
* generic/tclBasic.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclHistory.c: * generic/tclIO.c: * generic/tclIOUtil.c: * generic/tclInterp.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParse.c: * generic/tclProc.c: * generic/tclTest.c: * generic/tclTimer.c: * generic/tcl.h: Made eval interfaces compatible with 8.0 by renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces so they match Tcl 8.0. file: [236b4d79ed] check-in: [4e3632a716] user: stanton branch: core-8-1-branch-old, size: 230660
1998-12-03
04:57
* generic/tclIO.c (WriteBytes, WriteChars): Fixed so extraneous flushes do not happen in line mode. (TranslateOutputEOL): Made translation more efficient in line mode and fixed a buffer overflow bug in CRLF translation. [Bug: 887] file: [37967fa494] check-in: [54523ce067] user: stanton branch: core-8-1-branch-old, size: 230656
1998-12-02
03:13
Cleaned up some tests Fixed an I/O bug where UpdateInterest was not always called on input file: [1158de636b] check-in: [7d0d5b2428] user: stanton branch: core-8-1-branch-old, size: 230706
1998-11-11
04:08
merged 8.0.4 into 8.1 file: [7b7df27967] check-in: [fe115bdad2] user: stanton branch: core-8-1-branch-old, size: 230521
1998-10-30
00:38
Fixed the Tcl_NotifyChannel bug, plus added a test case for it. Simply replaced Tcl_RegisterChannel/UnregisterChannel with Tcl_Preserve/Tcl_Release was all it took. Chanels are already "eventually freed" file: [87b3d1b063] check-in: [b31fdd817b] user: welch branch: trunk, size: 188993
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: [59516a34d2] check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 230917
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: [29ff757407] check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 230325
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: [f8b3f2e772] check-in: [196f92fd17] user: stanton branch: trunk, size: 189403
1998-06-27
18:09
plugin updates file: [50fcc04b72] check-in: [594ce53543] user: welch branch: trunk, size: 189402
1998-06-09
13:08
fixed bug that caused file events to not be reported on buffered data file: [82cc31ce86] check-in: [0ceb0a9460] user: stanton branch: trunk, size: 188907
1998-03-26
14:45
Added: Initial revision file: [633a408011] check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 188269