Tcl Source Code

All files named "generic/tclTimer.c"
Login

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

History for generic/tclTimer.c

2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: [c7f363d45e] check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 36213
2024-04-04
11:44
Merge 8.6 file: [c816df662e] check-in: [09cdca236b] user: jan.nijtmans branch: core-8-branch, size: 36474
11:09
Tcl_GetString() -> TclGetString(), for minor speedup. file: [374e106185] check-in: [0256b2a319] user: jan.nijtmans branch: core-8-6-branch, size: 36794
2024-04-01
20:48
Merge 9.0 file: [545f0b90ae] check-in: [d4eee66f60] user: jan.nijtmans branch: tip-626, size: 36381
2024-03-21
13:55
Merge 8.7. Tcl_GetStringFromObj() -> TclGetStringFromObj() (optimization) file: [7df31fdd26] check-in: [28e5e230b6] user: jan.nijtmans branch: main, size: 36376
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: [2b1a1ada11] check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 36385
2023-11-24
13:28
Merge 9.0 file: [3b49431fb3] check-in: [96e43e34f3] user: jan.nijtmans branch: tip-626, size: 36383
2023-11-16
23:21
Revise macro usage file: [f24c534b97] check-in: [b7e48b4f00] user: jan.nijtmans branch: main, size: 36378
2023-10-22
19:56
Merge 9.0 file: [6a1b9dea89] check-in: [f107021263] user: jan.nijtmans branch: tip-626, size: 36384
2023-10-19
18:48
Merge 8.7 file: [5da6106d4c] check-in: [f67f60d202] user: jan.nijtmans branch: main, size: 36379
2023-10-17
06:02
Handle sentinels for any C++ compiler file: [1d961ab3f2] check-in: [6876d1f99a] user: jan.nijtmans branch: bug-26870862f0, size: 36475
2023-08-30
13:34
Merge 9.0 file: [a48c37636e] check-in: [5de4330b73] user: jan.nijtmans branch: tip-626, size: 36368
2023-08-24
17:33
Update Tcl_Time for 32-bit systems and win64, being able to handle time > 2038. Suggested in in ticket [86dd172271] file: [6be5b0500b] check-in: [3dcef36ee2] user: jan.nijtmans branch: bug-86dd172271, size: 36363
2023-04-23
09:21
Merge 9.0 file: [d09d8f04d6] check-in: [dbfd8e6ec6] user: jan.nijtmans branch: tip-626, size: 36417
2023-04-21
13:32
Merge 9.0 file: [9bbb0a61ba] check-in: [b732c118b6] user: jan.nijtmans branch: tip-626, size: 36413
06:16
Fix warnings generated on disable8api builds file: [ca46396adb] check-in: [e80d1c5113] user: apnadkarni branch: apn-disabletcl8api-warnings, size: 36412
2023-04-20
16:53
Merge 9.0 file: [e16c5a23a3] check-in: [aa3e7e529f] user: jan.nijtmans branch: tip-626, size: 36425
2023-03-30
18:01
TIP 660. No compiler warnings. Tests suite pass on Win and Ubuntu file: [83cc642996] check-in: [eb81a25271] user: apnadkarni branch: tip-660, size: 36408
2023-03-05
00:43
Merge 9.0 file: [b5dadd383d] check-in: [38f5d517dd] user: jan.nijtmans branch: tip-626, size: 36423
00:26
More -1 -> TCL_INDEX_NONE file: [763612bd5a] check-in: [7a2fc29ce0] user: jan.nijtmans branch: main, size: 36420
2022-06-08
12:40
Merge 9.0 file: [276621c81a] check-in: [2532f27b23] user: jan.nijtmans branch: tip-626, size: 36476
10:23
TIP #616: Tcl lists > 2^31 elements file: [5cfdc9ba2d] check-in: [574358cda4] user: jan.nijtmans branch: main, size: 36473
2022-05-25
22:20
Many int-> size_t file: [eec54d6573] check-in: [7062de3ba7] user: jan.nijtmans branch: tip-626, size: 36492
2022-04-26
12:22
Tcl_GetIndexFromObjStruct -> Tcl_GetIndexFromObj. Don't use braces around (Tcl_GetBytesFromObj) file: [e6878ce056] check-in: [b76b65a1af] user: jan.nijtmans branch: main, size: 36489
2022-04-08
10:16
Merge 9.0 file: [efa4abb59d] check-in: [b260952b61] user: jan.nijtmans branch: tip-613-usage, size: 36511
2022-01-17
17:10
Merge 8.7 file: [cc174114e1] check-in: [e8e2a9f506] user: jan.nijtmans branch: main, size: 36496
17:02
Merge 8.6 file: [8374c5628c] check-in: [ea38112364] user: jan.nijtmans branch: core-8-branch, size: 36459
16:44
Tcl_NewObj() -> TclNewObj() file: [81e57acc3d] check-in: [df30948549] user: jan.nijtmans branch: core-8-6-branch, size: 36797
2021-09-21
08:36
Experiment: Make Tcl_Time a long long in stead of a struct file: [16c6042b92] check-in: [7d007b4694] user: jan.nijtmans branch: tcl-time-64bit, size: 35505
2021-01-11
10:03
Merge 8.7, resolve conflicts file: [89ecb2a01f] check-in: [015ff38790] user: jan.nijtmans branch: main, size: 36580
2020-12-08
15:42
Merge 8.7 file: [db8dcb34a2] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 36578
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: [fb2b6dab95] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 36543
2020-10-02
16:30
Merge 8.7 file: [8c04b69253] check-in: [e2a265f8e9] user: jan.nijtmans branch: trunk, size: 36582
16:28
Fix -Wshadow warnings, when compiling with a C++ compiler file: [652918ddfa] check-in: [1011055d6b] user: jan.nijtmans branch: core-8-branch, size: 36547
2020-09-17
14:12
Merge 8.7 file: [3564567c47] check-in: [92d5c95fd8] user: jan.nijtmans branch: trunk, size: 36578
13:48
Eliminate many usages of Tcl_NewObj (-> TclNewObj) and Tcl_NewIntObj (-> TclNewIntObj or Tcl_NewWideIntObj) file: [ba237ae435] check-in: [ef22eb8ac3] user: jan.nijtmans branch: core-8-branch, size: 36543
2020-09-14
12:31
Eliminate many "register" keywords (which do nothing with modern compilers) Eliminate many unnecessary type-casts to (unsigned) file: [0e79f2a185] check-in: [62884c2f30] user: jan.nijtmans branch: core-8-6-branch, size: 36853
2020-03-17
01:20
merge 8.7 file: [d18baf5413] check-in: [4d9717c8ef] user: dgp branch: trunk, size: 36550
01:01
TIP 569 - remove lint comments file: [ae859a2b38] check-in: [658a498ae4] user: dgp branch: core-8-branch, size: 36515
2020-03-09
16:34
merge 8.7 file: [77d6b4efd9] check-in: [a0ed9240c8] user: dgp branch: trunk, size: 36582
13:15
More file: [e695f850d9] check-in: [c708d98e98] user: dgp branch: core-8-branch, size: 36547
2020-02-28
12:46
Merge 8.7 file: [a90a2b6ed1] check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 36776
2019-12-08
16:55
Merge 8.7 file: [f57ac5a6e6] check-in: [3909061642] user: jan.nijtmans branch: cplusplus, size: 36741
2019-12-06
16:02
merge 8.7 file: [8f06301e69] check-in: [7dc752550c] user: dgp branch: trunk, size: 36502
14:51
Exclude some test-cases with possible timing problems on Windows. Double ;; in generic/tclTimer.c file: [8b21009af7] check-in: [dff608952b] user: jan.nijtmans branch: core-8-5-branch, size: 35370
14:38
Merge 8.6 file: [06d9e1b441] check-in: [76f0ccb22a] user: jan.nijtmans branch: core-8-branch, size: 36467
14:35
Unnecessary double ;; in tclTimer.c. Update compat/zlib to exactly the same content as in the core-8-branch branch. file: [994ba7bb4a] check-in: [9cd9b0463a] user: jan.nijtmans branch: core-8-6-branch, size: 36909
2019-09-05
15:14
Mark more function paramaters as unused. Now Tcl compiles fully (on UNIX and Windows) without -Wunused-parameters warnings file: [a2fbe5f19c] check-in: [48b1783ecd] user: jan.nijtmans branch: cplusplus, size: 36742
2019-08-15
15:20
Merge tip-548 file: [f595be61b5] check-in: [fb24db99f5] user: jan.nijtmans branch: cplusplus, size: 36649
08:10
Merge 8.7 file: [fc720f0469] check-in: [f33e2933b5] user: jan.nijtmans branch: trunk, size: 36503
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: [e1d5f6ac1b] check-in: [f074bda87c] user: jan.nijtmans branch: no-register, size: 36468
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: [393f407729] check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 36685
2019-05-03
20:24
merge 8.7 file: [7c58a03581] check-in: [a86211a6bd] user: dgp branch: trunk, size: 36548
20:06
merge 8.6 file: [8029695255] check-in: [3df57b5b27] user: dgp branch: core-8-branch, size: 36513
2019-04-23
13:47
Minor code style cleanup. file: [9eb33d1aa4] check-in: [28f8695f9c] user: dkf branch: core-8-6-branch, size: 36910
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: [e77f8bd5b4] check-in: [2c7db3fa01] user: jan.nijtmans branch: mistake, size: 36415
2019-02-01
20:36
Another (big) round of int -> size_t enhancements. So Tcl can handle string >2GiB in more places. file: [e195146169] check-in: [8534448b44] user: jan.nijtmans branch: trunk, size: 36450
2018-12-11
20:02
Merge 8.7 In test-cases, don't load Tcltest package if it isn't actually used. Another round of size_t related improvements. Nothing functional. Also improve some comments. file: [8c1abc846c] check-in: [c92a5c4373] user: jan.nijtmans branch: trunk, size: 36451
2018-11-06
12:59
merge core-8-branch file: [f03d559760] check-in: [445db2cb18] user: dkf branch: mistake, size: 36456
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: [f371b22e71] check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 36553
2018-05-31
21:24
merge zipfs file: [96d038fa04] check-in: [fc74365c13] user: jan.nijtmans branch: androwish, size: 40503
2018-02-06
21:11
merge 8.7 file: [c40ff63ebf] check-in: [f7dba39527] user: dgp branch: tip-445, size: 36426
21:01
merge trunk file: [77b1266a98] check-in: [0774eefae7] user: jan.nijtmans branch: novem, size: 36545
2017-11-01
12:35
Finally, get rid of tclWideIntType completely file: [308d0c28b8] check-in: [01d55bd3e1] user: jan.nijtmans branch: no-wideint, size: 36523
2017-10-30
14:32
more progress in code simplifications file: [938d2e7294] check-in: [3876616fc4] user: jan.nijtmans branch: no-wideint, size: 36567
11:01
Change (internal) TclFormatInt() signature, so it can handle WideInt's directly. Ongoing simplifications ... file: [22652b794e] check-in: [c606809235] user: jan.nijtmans branch: no-wideint, size: 36603
2017-07-13
16:04
merge sebres-event-perf-fix-busy-wait file: [0385aa8e6a] check-in: [de29c24e4b] user: sebres branch: sebres-8-6-event-perf-branch, size: 58021
15:41
timer: fixed setup of the block-time to 0.0 by pending timer of new generation, example: tclsh -c "proc test {} {after 1000 test}; test; vwait infinite" file: [516d6a59ed] check-in: [65b4e0df6a] user: sebres branch: sebres-event-perf-fix-busy-wait, size: 57021
2017-07-10
08:53
merge resp. reintegrate sebres-8-5-event-perf-branch to 8.6 file: [45223c97eb] check-in: [fed961497a] user: sebres branch: sebres-8-6-event-perf-branch, size: 58050
2017-07-03
13:32
after at: added simple workaround for absolute timers/sleep ("after at real-time"): because we use monotonic time in all wait functions, so to avoid too long wait by the absolute timers (to be able to trigger it) if time jumped to the expected absolute time, just let block for maximal 1 second if absolute timers available.

test-cases: time-jumps (TIP #302) test covered now. Note: on some platforms it is only possible if the user has corresponding privileges to change system date and time. Ex.: sudo LD_LIBRARY_PATH=. ./tclsh ../tests/timer.test -match timer-20.* file: [a57fe8f358] check-in: [12d1d63e18] user: sebres branch: sebres-8-5-event-perf-branch, size: 57050

13:32
Introduced monotonic time as ultimate fix for time-jump issue (fixed for windows and unix now, TIP #302 fully implemented now); Usage of monotonic time instead of adjustment via timeJump/timeJumpEpoch is more precise and effective. New sub-command "clock monotonic" to provide monotonic time facility for tcl-level. file: [5607139d08] check-in: [b9371d7b63] user: sebres branch: sebres-8-5-event-perf-branch, size: 56278
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: [19e91f44cf] check-in: [470ed5221b] user: sebres branch: sebres-8-5-event-perf-branch, size: 57916
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: [fa927e6acd] check-in: [d49f6f0a55] user: sebres branch: sebres-8-5-event-perf-branch, size: 58158
13:30
"after at" set factor to 1000000 (seconds), test cases fixed file: [9bb82d06d2] check-in: [d9a732f301] user: sebres branch: sebres-8-5-event-perf-branch, size: 57859
13:30
code review, rewrite tclTimer, prolongation, etc. file: [4b6a271dc4] check-in: [449d30a964] user: sebres branch: sebres-8-5-event-perf-branch, size: 57832
13:30
interim commit: code review, rewrite tclTimer, etc. file: [b370a54494] check-in: [6828f2cd17] user: sebres branch: sebres-8-5-event-perf-branch, size: 54252
13:30
revert dual lists (relative/absolute) back to single list (because of better handling, a bit faster, etc.) file: [8de118443a] check-in: [758c0535b4] user: sebres branch: sebres-8-5-event-perf-branch, size: 52068
13:30
amend with review file: [bc21d1edfc] check-in: [14bc0dd532] user: sebres branch: sebres-8-5-event-perf-branch, size: 53617
13:29
interim commit: trying to resolve time-freezes with new facilities timeJump/timeJumpEpoch file: [9079034279] check-in: [ec9fea1726] user: sebres branch: sebres-8-5-event-perf-branch, size: 52656
13:29
interim commit: trying to resolve time-freezes with new facilities timeJump/timeJumpEpoch file: [968dbcf2e4] check-in: [5210febb78] user: sebres branch: sebres-8-5-event-perf-branch, size: 51374
13:29
interim commit: try to fix time-drift backwards (calibration? something else?)... file: [69ef1ae054] check-in: [8f6fe6ce01] user: sebres branch: sebres-8-5-event-perf-branch, size: 47127
13:29
interim commit: try to fix time-drift backwards (too long offset after calibration? something else?)... file: [3175219f3d] check-in: [53b9e566d9] user: sebres branch: sebres-8-5-event-perf-branch, size: 47125
13:25
after info, after cancel: compare interpreter of the timer-events by direct retrieving via internal representation (ignore foreign events), test cases extended. file: [a239138a23] check-in: [e93c0939d4] user: sebres branch: sebres-8-5-event-perf-branch, size: 45987
13:25
resolved some warnings / fixed unix resp. x64 compilation file: [0067d8c5ff] check-in: [1401c69c39] user: sebres branch: sebres-8-5-event-perf-branch, size: 45907
13:25
code review + better usage of the waiting tolerance (fewer CPU-greedy now, avoid busy-wait if the rest of wait-time too small and can be neglected); TMR_RES_TOLERANCE can be defined to use wait-tolerance on *nix platforms (currently windows only as relation resp. deviation between default timer resolution 15.600 in exact milliseconds, means 15600/15000 + small overhead); Decreasing of TMR_RES_TOLERANCE (up to 0) makes tcl more "RTS" resp. NRT-capable (very precise wait-intervals, but more CPU-hungry). file: [514f913213] check-in: [db1b878a22] user: sebres branch: sebres-8-5-event-perf-branch, size: 45895
13:25
[win32] use timer resolution handling in Tcl_Sleep also; file: [59c7ea673a] check-in: [608055d821] user: sebres branch: sebres-8-5-event-perf-branch, size: 44943
13:25
dynamic increase of timer resolution corresponding wait-time; non-blocking wait for event - if block-time set outside an event source traversal, use it as timeout, so can return with result 0 (no events); file: [74c0b79096] check-in: [3aa1cefdf7] user: sebres branch: sebres-8-5-event-perf-branch, size: 44902
13:24
[enhancement] extend "vwait" with same options as "update", new syntax "vwait ?options? ?timeout? varname". some small improvements and fixing: - Tcl_DoOneEvent can wait for block time that was set with Tcl_SetMaxBlockTime outside an event source traversal, and stop waiting if Tcl_SetMaxBlockTime was called outside an event source (another event occurs and interrupt waiting loop), etc; - safer more precise pre-lookup by options (use TclObjIsIndexOfTable instead of simply comparison of type with tclIndexType); test cases extended to cover conditional "vwait" usage; file: [e6a99e2952] check-in: [fef447f0a4] user: sebres branch: sebres-8-5-event-perf-branch, size: 44662
13:24
[performance] do one event (update / event servicing) cycle optimized (introduced threshold to prevent sourcing resp. waiting for new events by no-wait). [enhancement] new event type introduced: TCL_ASYNC_EVENTS, command "update" becomes options to process only specified types, resp. to bypass some event types (including -idle/-noidle that in opposite to "idletasks" does not included window events); test cases extended. file: [f4f64873bc] check-in: [44b62f8964] user: sebres branch: sebres-8-5-event-perf-branch, size: 44653
13:24
[performance] much better handling for timer events within Tcl_ServiceEvent using timer marker in the queue and direct call of TclServiceTimerEvents if marker reached (instead of continuous adding handler event, polling it in the queue and removing hereafter); this provides double performance increase in the service cycle; file: [69b792ff48] check-in: [beb4b9527b] user: sebres branch: sebres-8-5-event-perf-branch, size: 42740
13:23
[performance] large performance increase by event servicing cycles (3x - 5x faster now); [win] prevent listen using PeekMessage twice, and no wait anymore for too short timeouts (because windows can wait too long), compare 0µs with up-to 100µs overhead within MsgWaitForMultipleObjectsEx; [bad behavior] process idle events only as long as no other events available (now TclPeekEventQueued will be used to check new events are available in service idle cycle); [enhancement] new option "noidletasks" for command "update", so "update noidle" means "process all events but not idle"; file: [9bc8b75265] check-in: [0dd0a029f5] user: sebres branch: sebres-8-5-event-perf-branch, size: 44304
13:23
[performance] introduced additional queue for prompt timer events (after 0) that should be executed immediately (no time); normalizes timer, prompt and idle events structures using common TimerEntry structure for all types; file: [3a8d1b0832] check-in: [928ef3d179] user: sebres branch: sebres-8-5-event-perf-branch, size: 45189
13:23
bug fix: wrong release of after-id tcl-object if it switch type (object leak) file: [cc0c6b7ba4] check-in: [43f79790a3] user: sebres branch: sebres-8-5-event-perf-branch, size: 43496
13:23
[bug/stable fix] don't execute TimerSetupProc directly (may be unwanted, because changes the blocking time, also if TCL_TIMER_EVENTS|TCL_IDLE_EVENTS not set), so let do that within Tcl_DoOneEvent cycle only (we have registered an event source). [performance] optimization for "after 0" as immediately execution without time (invoke as soon as possible) - generation and invocation of such timers twice faster now. [performance] leave handler-event in the queue as long as pending timers still available (with expired time or immediate timers) by generation lock, resp. changed/not invalidated timer-queue) - so fewer event/allocations and guarantee to be executed within the next event cycle; file: [22e3a8cb3c] check-in: [6ff3d675ef] user: sebres branch: sebres-8-5-event-perf-branch, size: 43408
13:22
after-id: introduced object of type "afterObjType" as self-referenced weak pointer to timer/idle event, used for fast access to the "after" event (cancel, info etc.); test cases extended to cover it additionally file: [78e3866956] check-in: [b7f3dfa629] user: sebres branch: sebres-8-5-event-perf-branch, size: 42529
13:21
timer resp. idle events optimized: better handling using doubly linked lists, prevents allocating memory twice for the "after" events (use memory inside timer/idle event for the "after" structure), etc. file: [2c6e4e668d] check-in: [ba83ecc154] user: sebres branch: sebres-8-5-event-perf-branch, size: 38847
13:21
[performance] after-event list optimized (interp-assoc switched to doubly linked list, because requires handling from both ends of the list) file: [17a2f13a40] check-in: [f562bee7a0] user: sebres branch: sebres-8-5-event-perf-branch, size: 35324
2017-04-13
10:00
Merge trunk file: [f243d586da] check-in: [0169fbc878] user: jan.nijtmans branch: tkt3328635-posix-monotonic-clock, size: 36946
2017-04-11
14:14
merge trunk file: [7a6021b082] check-in: [27c5038e96] user: dgp branch: tip-445, size: 36706
10:04
merge trunk file: [440182a79c] check-in: [9aa06eddb4] user: jan.nijtmans branch: novem, size: 36905
2017-04-10
16:21
More minor style fixes. file: [3b60286e3c] check-in: [4809613b1b] user: dkf branch: trunk, size: 36883
2017-02-27
16:11
merge zipfs. Upstream androwish changes file: [2abc8c050f] check-in: [157f7bb812] user: jan.nijtmans branch: androwish, size: 37102
2016-09-26
15:38
Merge core-8-6-branch. upstream androwish modifications. file: [941248b236] check-in: [88fd04e92c] user: jan.nijtmans branch: androwish, size: 36863
09:35
[3328635] Latest patch from Christian Werner file: [86b7d73eb1] check-in: [965d56c3af] user: jan.nijtmans branch: tkt3328635-posix-monotonic-clock, size: 36842
2016-07-09
17:21
merge trunk file: [6e02bb8f2a] check-in: [c991627aa9] user: dgp branch: tip-445, size: 36602
2016-07-08
10:34
merge trunk file: [55b3277771] check-in: [706fbc1eb0] user: jan.nijtmans branch: novem, size: 36801
10:28
Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj in many places where possible. file: [f53860c8d7] check-in: [48cb8436f1] user: jan.nijtmans branch: trunk, size: 36779
2016-07-02
20:43
merge trunk file: [3db0fd8eca] check-in: [987eef5140] user: dgp branch: tip-445, size: 36604
2016-06-30
13:16
Simplify use of "struct" keyword in many places. file: [336408986f] check-in: [2e6ea5716f] user: jan.nijtmans branch: trunk, size: 36781
2016-03-30
20:03
The following patch against a stock tcl 8.6.5 source tree tries to

implement most of TIP #302 for UN*X and WIN32/64:

* use clock_gettime(CLOCK_MONOTONIC) for relative timing (UN*X)
when available (tested at runtime)
* use PTHREAD_CONDATTR_SETCLOCK et.al. for pthread_cond (UN*X)
when available (tested at runtime)
* use GetTickCount64() for relative timing (WIN64)
* use GetTickCount() for relative timing (WIN32 for WINNT<6.0)
* configure (UN*X) detects availabilty of clock_gettime() and
pthread_condattr_setclock() plus adds optional -lrt to LIBS
* configure (WIN32) adds command line option --with-tickcount
to turn on GetTickCount*() usage

Trade-off: implementation eliminates virtualized time, unfortunately.

Best regards,

Christian Werner

--- missing merge ---

diff -ur tcl8.6.5-orig/win/configure.in tcl8.6.5/win/configure.in

--- tcl8.6.5-orig/win/configure.in 2016-02-29 20:13:09.000000000 +0100

+++ tcl8.6.5/win/configure.in 2016-03-25 06:47:47.712516747 +0100

@@ -142,6 +142,15 @@

])
AC_DEFINE(HAVE_ZLIB, 1, [Is there an installed zlib?])

+AC_ARG_WITH(tickcount,

+ AC_HELP_STRING([--with-tickcount],

+ [use GetTickCount for timers, turns off interp time limits]),

+ [tcl_ok=$withval], [tcl_ok=no])

+AC_MSG_RESULT([$tcl_ok])

+if test $tcl_ok = yes; then

+ AC_DEFINE(WIN32_USE_TICKCOUNT, 1, [Use GetTickCount for timers?])

+fi

+

AC_CHECK_TYPE([intptr_t], [ AC_DEFINE([HAVE_INTPTR_T], 1, [Do we have the intptr_t type?])], [ AC_CACHE_CHECK([for pointer-size signed integer type], tcl_cv_intptr_t, [
file: [a6cc07ea3b] check-in: [6fa1088680] user: oehhar branch: tip-302, size: 42535
17:15
Remove direct access to Tcl_Obj typePtr field that does nothing of any obvious benefit. file: [e035d230d3] check-in: [6749294be2] user: dgp branch: tip-445, size: 36623
2014-07-12
16:13
whopper change; now passes test suite on OSX file: [bbbcde4d2f] check-in: [0b38cdbc76] user: dkf branch: bug-d5ddbc7f49, size: 36802
2014-06-23
08:41
cleaning up option processing throughout Tcl to use common functions/language file: [1d013295d9] check-in: [7e93a07895] user: dkf branch: bug-d5ddbc7f49, size: 36817
2013-09-26
13:13
merge novem

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

2013-05-06
07:35
merge trunk file: [75fd27b843] check-in: [19ff9b95e1] user: jan.nijtmans branch: novem, size: 36695
2013-04-23
14:38
Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as TCL_WIDE_INT_IS_LONG file: [6b8f0ee147] check-in: [579f65acc8] user: jan.nijtmans branch: novem, size: 36803
14:15
Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as macros using Tcl_NewIntObj, Tcl_DbNewLongObj and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it only eliminates code duplication. Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as TCL_WIDE_INT_IS_LONG file: [789ea0b236] check-in: [039d46054a] user: jan.nijtmans branch: trunk, size: 36800
2013-01-24
10:37
Convert Tcl_GetIndexFromObj implementation to macro file: [ef475ca089] check-in: [039696e2d8] user: jan.nijtmans branch: novem, size: 36795
2012-12-06
15:43
Use Tcl_EvalEx in pkgb.dll. Same functionality. More deprecated function replacements file: [95554b1a6c] check-in: [6f8010216f] user: jan.nijtmans branch: better-deprecation-85, size: 35393
2012-11-21
10:18
more conversion of code, still not running test suite at all file: [c35dbe722b] check-in: [e648a1571f] user: dkf branch: novem-64bit-sizes, size: 36865
2012-11-18
13:59
... and another tranche file: [64e767c62f] check-in: [c4a1bbbad2] user: dkf branch: novem-64bit-sizes, size: 36837
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: [799ce09c5d] check-in: [11a1d1e174] user: jan.nijtmans branch: tcl_nosize, size: 36800
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: [5bad5cb43f] check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 36773
2012-08-03
14:24
more result generation conversion file: [862e328033] check-in: [b3ccaec093] user: dkf branch: trunk, size: 36792
2012-05-25
08:50
Factor out constant that must be the same in multiple places. Prompted by a conversation with Alexandre Ferrieux. file: [ac48389dea] check-in: [68547a2755] user: dkf branch: trunk, size: 36739
2011-05-09
15:24
Reduce use of Tcl_AppendElement, which is not (and can't be) a Tcl_Obj-aware API. file: [6ce2ceec01] check-in: [dbab97cbba] user: dkf branch: trunk, size: 36807
2011-04-04
13:55
More generation of error codes ([format], after, [trace], RE optimizer). file: [29854c8538] check-in: [7100664240] user: dkf branch: trunk, size: 36699
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: [021fd2968c] check-in: [5574bdd262] user: dkf branch: trunk, size: 36363
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: [1ab8822e56] check-in: [c64f310d38] user: dgp branch: trunk, size: 36564
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: [0e95dcfcf1] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 35371
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: [4504636853] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 32934
2010-11-23
13:11
Jump. file: [ccb7b29708] check-in: [f8ff91db3f] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 36640
11:38
Next @500. file: [1d40f6df87] check-in: [5365d7ae02] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 36245
2010-11-22
16:07
Next @380. OO Stacktraces broken. file: [1dfa4961f7] check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 36244
2010-11-18
15:08
Next. file: [cf7b49117f] check-in: [3120107af3] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 36248
2010-11-01
14:23
merge file: [77ef756d07] check-in: [548213fde0] user: dgp branch: dgp-refactor, size: 36637
2010-10-30
15:20
merge file: [954e80a72c] check-in: [c4331a6f6a] user: kennykb branch: dogeen-assembler-branch, size: 36641
2010-10-29
16:42
Stop small [afters] from wasting CPU [Bug 2905784] while keeping accuracy. file: [d516d18f0a] check-in: [7bdf4e3a7a] user: ferrieux branch: trunk, size: 36638
2010-02-25
21:53
merge updates from HEAD file: [1b1bb8673c] check-in: [1b11388844] user: dgp branch: dgp-refactor, size: 36072
2010-02-24
10:32
Pure whitespace changes, changing to follow Engineering Manual style. file: [95f73248bc] check-in: [c81eddebbb] user: dkf branch: trunk, size: 36068
2009-12-30
17:24
merge updates from HEAD file: [b6c5c3f15f] check-in: [263b067570] user: dgp branch: dgp-refactor, size: 36074
2009-12-28
09:53
Minor formatting issues file: [1cc0ff8d02] check-in: [5c4d0c6d70] user: dkf branch: trunk, size: 36070
2009-09-07
16:39
merge updates from HEAD file: [cd3ea12bea] check-in: [8c0a6a5799] user: dgp branch: dgp-refactor, size: 36107
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: [1989757fba] check-in: [e93f957325] user: das branch: trunk, size: 36103
2009-02-11
17:27
merge updates from HEAD file: [7a63abb05e] check-in: [f07460d448] user: dgp branch: dgp-refactor, size: 36103
2009-02-10
23:08
- eliminate some unnessary type casts - some internal const decorations - spacing file: [164a162d7d] check-in: [a45c7b126b] user: nijtmans branch: trunk, size: 36104
2009-01-09
14:17
merge updates from HEAD file: [9a55a7f5d6] check-in: [02f7c5c705] user: dgp branch: dgp-refactor, size: 36092
11:21
Style fixes (unfouling whitespace, sorting comments, removing useless casts, etc.) file: [f54492c7c4] check-in: [cd3c38f00a] user: dkf branch: trunk, size: 36088
2008-12-10
13:51
merge updates from HEAD file: [c9e3074440] check-in: [17d1c7c4c7] user: dgp branch: dgp-refactor, size: 36242
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: [4ce5b4ec1f] check-in: [2c2b2f27f3] user: dgp branch: trunk, size: 36238
2008-11-10
02:18
merge updates from HEAD file: [ed77e82756] check-in: [4a9c1325dc] user: dgp branch: dgp-refactor, size: 36241
2008-10-26
18:34
Style improvements - invoking callbacks without visual junk. file: [77edf7fd57] check-in: [a1a8afc25d] user: dkf branch: trunk, size: 36237
2008-10-17
20:52
merge updates from HEAD file: [7862fa88f5] check-in: [d93600ad8e] user: dgp branch: dgp-refactor, size: 36249
2008-10-16
22:34
Add "const" to many internal const tables. No functional or API change. file: [21cde988da] check-in: [f03d2e2d83] user: nijtmans branch: trunk, size: 36250
2008-07-29
20:13
merge updates from (near) HEAD file: [0e14216910] check-in: [f51e3a3c72] user: dgp branch: dgp-refactor, size: 36245
2008-07-19
22:50
fix [2021443] inconsistant "wrong # args" messages file: [6101ccc00f] check-in: [1e5261316e] user: nijtmans branch: trunk, size: 36246
2008-06-16
03:17
merge updates from HEAD file: [7dcb859831] check-in: [1f1de75ebf] user: dgp branch: dgp-refactor, size: 36247
2008-06-13
05:45
TIP 285 Implementation file: [65ffd250c8] check-in: [505c316922] user: mistachkin branch: trunk, size: 36250
2008-05-11
04:22
merge updates from HEAD file: [960477c3f4] check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 35444
2008-04-27
22:21
Get rid of pre-C89-isms (esp. CONST vs const). file: [63fa93923d] check-in: [2d205c22fb] user: dkf branch: trunk, size: 35440
2008-01-23
16:42
merge updates from HEAD file: [1ddd674f8d] check-in: [013cce9562] user: dgp branch: core-stabilizer-branch, size: 35444
2008-01-22
20:53
merge updates from HEAD file: [5abc932cee] check-in: [5b9d3ab865] user: dgp branch: dgp-refactor, size: 35444
20:52
* generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with Tcl_EvalObjEx() to evaluate after callbacks. Part of trend to favor compiled execution over direct evaluation.
file: [6ea54a50ff] check-in: [bfc294566c] user: dgp branch: trunk, size: 35440
2007-12-13
15:22
merge stable branch onto HEAD file: [81fd7973e7] check-in: [d1f7550cd9] user: dgp branch: trunk, size: 35668
2007-09-07
03:15
merge updates from HEAD file: [1e84ae665f] check-in: [2c46d786c6] user: dgp branch: dgp-refactor, size: 35467
2007-09-06
18:20
merge updates from HEAD file: [7c6513527f] check-in: [e581a62da3] user: dgp branch: core-stabilizer-branch, size: 35672
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: [e5d39c6969] check-in: [d487b6177f] user: dgp branch: trunk, size: 35668
2007-04-08
14:58
Merge updates from HEAD; may not build file: [ff8dae10f5] check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 35456
2006-11-15
20:08
TIP#270 IMPLEMENTATION
* generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed.
* generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [c49c7434d5] check-in: [c06db721dd] user: dgp branch: trunk, size: 35657
2006-11-13
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: [688f68a5ee] check-in: [8562d10e43] user: das branch: trunk, size: 35655
2006-11-02
15:58
* generic/tclBasic.c: Further revised TclAppendPrintToObj() and * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable * generic/tclCmdAH.c: to complete their formatting operations, rather * generic/tclCmdIL.c: than report an error message. This means an * generic/tclCmdMZ.c: interp argument for error message recording is * generic/tclDictObj.c: no longer needed, further simplifying the * generic/tclExecute.c: interface for callers. * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [b927644862] check-in: [6ed730551a] user: dgp branch: trunk, size: 35642
2006-10-31
22:41
fix warning file: [a413c6f624] check-in: [c5ad92a82e] user: das branch: trunk, size: 35654
20:19
* generic/tclBasic.c: Refactored and renamed the routines * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of * generic/tclCmdIL.c: routines TclAppendPrintfToObj, * generic/tclCmdMZ.c: TclAppendFormatToObj, TclObjPrintf, and * generic/tclDictObj.c: TclObjFormat, with the intent of making * generic/tclExecute.c: the latter list, plus TclAppendLimitedToObj * generic/tclIORChan.c: and TclAppendObjToErrorInfo, public via * generic/tclIOUtil.c: a revised TIP 270. * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
file: [8b415fbb22] check-in: [65113c21ec] user: dgp branch: trunk, size: 35675
2006-10-23
21:01
merge updates from HEAD file: [a67d45602d] check-in: [1f911d4cbb] user: dgp branch: dgp-refactor, size: 35556
2006-09-26
00:05
More fixing which struct stat to refer to. Some casts from time_t to int required. Tcl_Time structure members are longs. Support for varying compiler options and build to platform-specific subdirs. file: [489bd5f048] check-in: [514c0c6683] user: patthoyts branch: trunk, size: 35763
2006-01-25
18:38
merge updates from HEAD file: [5611e303a2] check-in: [24df3318d7] user: dgp branch: dgp-refactor, size: 35559
2005-12-13
22:43
Export stubs for libtommath; fix mingw compiler warnings file: [5f832224ed] check-in: [3842b9c468] user: kennykb branch: trunk, size: 35764
2005-12-02
18:42
merge updates from HEAD file: [56405b2e0f] check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 35579
2005-11-09
21:46
Bug 1350293 file: [16f54f0145] check-in: [94cf472e1a] user: kennykb branch: core-8-4-branch, size: 33010
21:28
bugs 1350291 and 1350293 file: [f3bfec31bc] check-in: [d965c32f64] user: kennykb branch: trunk, size: 35784
2005-11-03
17:52
merge updates from HEAD file: [c0abe5fa9d] check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 35068
2005-10-31
15:59
Convert to using ANSI decls/definitions and using the (ANSI) assumption that NULL can be cast to any pointer type transparently. file: [f3edb47203] check-in: [1e0170d2bf] user: dkf branch: trunk, size: 35269
2005-10-18
20:46
merge updates from HEAD file: [200320748e] check-in: [2e8613842e] user: dgp branch: dgp-refactor, size: 35499
2005-10-08
13:44
merge updates from HEAD file: [de26a208f0] check-in: [1b902ae45a] user: dgp branch: kennykb-numerics-branch, size: 35573
2005-10-04
18:33
Tcl_DeleteTimerHandler(): bail out early if passed NULL argument. file: [0a637115fb] check-in: [5576a42ab1] user: vasiljevic branch: trunk, size: 35576
18:14
Tcl_ClearChannelHandlers(): bail out early if passed NULL argument file: [a29776a081] check-in: [c5a8af47a7] user: vasiljevic branch: core-8-4-branch, size: 32966
2005-09-15
20:58
merge updates from HEAD file: [b75deb1dad] check-in: [29cc0feeb2] user: dgp branch: kennykb-numerics-branch, size: 35544
20:29
merge updates from HEAD file: [126abc1efd] check-in: [f3caf581fe] user: dgp branch: dgp-refactor, size: 35470
16:40
* generic/tclBasic.c: More callers of TclObjPrintf and * generic/tclCkalloc.c: TclFormatToErrorInfo. * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclMain.c: * generic/tclProc.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c
* unix/configure: autoconf-2.59
file: [825ca8763d] check-in: [cf51f10457] user: dgp branch: trunk, size: 35540
2005-08-02
18:14
merge updates from HEAD file: [34edb1d33b] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 35471
2005-07-26
04:11
Merge updates from HEAD file: [7b4f90aab6] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 35396
2005-07-24
22:56
Getting more systematic about style file: [08870466a3] check-in: [83d72c558c] user: dkf branch: trunk, size: 35467
2005-07-12
20:35
merged changes from HEAD file: [e51ff2d59b] check-in: [5316ea45e0] user: kennykb branch: kennykb-numerics-branch, size: 35337
2005-06-22
21:12
merge updates from HEAD file: [18727daf46] check-in: [2c0cc8807c] user: dgp branch: dgp-refactor, size: 35258
2005-06-17
14:26
Fix an odd after-and-limits problem. [Bug 1221395] file: [fb9b8c16c8] check-in: [6d6caaf8f9] user: dkf branch: trunk, size: 35329
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611)
file: [4b774c234e] check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 34444
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: [f25b6b0917] check-in: [1cc2336920] user: kennykb branch: trunk, size: 34441
2005-04-10
23:14
merged with HEAD and fixed 1180368 file: [83e7b3c669] check-in: [7bc9ca0285] user: kennykb branch: kennykb-numerics-branch, size: 34445
2005-04-07
17:31
merge updates from HEAD file: [a735e7b3ab] check-in: [7d5704f18c] user: dgp branch: dgp-refactor, size: 34366
2005-03-23
22:09
purge outdated comment file: [21077c5009] check-in: [5efdcfd219] user: dgp branch: trunk, size: 34437
21:58
purge outdated comment file: [fa54720e86] check-in: [e79a41b835] user: dgp branch: core-8-4-branch, size: 32930
2005-01-12
21:35
Merge updates from HEAD file: [390c915549] check-in: [4f5327131e] user: dgp branch: dgp-refactor, size: 34485
2004-12-29
22:46
merge from HEAD file: [c808557ede] check-in: [0a6d56f9eb] user: kennykb branch: kennykb-numerics-branch, size: 34564
2004-12-16
19:36
Upgrade the capabilities of time limits by allowing them to fire in the midst of the processing of the event loop or during a blocking after. [Bug 1085023] file: [1bd67542ee] check-in: [5ca9f3ce90] user: dkf branch: trunk, size: 34556
2004-10-28
18:45
merge updates from HEAD file: [14f2619d8e] check-in: [5fdab1eb47] user: dgp branch: dgp-refactor, size: 32946
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: [4cd5b48079] check-in: [9883f6bfdb] user: dgp branch: trunk, size: 33017
2004-09-08
23:02
Merge updates from HEAD file: [be53209a0e] check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 32958
2004-09-07
18:24
removed unused cmdInfo variable file: [7e7e3cd460] check-in: [26226ddb0a] user: kennykb branch: trunk, size: 33033
18:21
* generic/tclTimer.c: Removed a premature optimisation that attempted to store the assoc data in the client data; the optimisation caused a bug that after would overwrite its imports. [Bug 1016167] file: [802e216892] check-in: [f36e082082] user: kennykb branch: core-8-4-branch, size: 33053
17:38
* generic/tclTimer.c: Removed a premature optimisation that attempted to store the assoc data in the client data; the optimisation caused a bug that after would overwrite its imports. [Bug 1016167] * library/clock.tcl (InitTZData, ClearCaches): Changed so that the in-memory time zone :UTC (and its aliases) always gets reinitialised, in case tzdata is absent. [Bug 1019537, 1023779] * library/tzdata/*: Regenerated. * tests/clock.test (clock-31.*, clock-39.1): Corrected a problem where the 'system' locale tests fail on a non-English Windows machine. [Bug 1023761]. Added a test to make sure that alias time zones load correctly. [Bug 1023779]. * tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time zone names were written incorrectly, causing them to fail to load at run time. [Bug 1023779]. * win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on Win64 - assuming that HAL vendors now do a better job of keeping the performance counters synchronized among CPU's. [Bug 1020445] file: [028788e36b] check-in: [58fb9afc44] user: kennykb branch: trunk, size: 33058
2004-08-25
22:21
* tests/timer.test (timer-10.1): Test for Bug 1016167. * generic/tclTimer.c: Workaround for situation when a [namespace import] causes the objv[0] value to be something other than what Tcl_AfterObjCmd expects. [Bug 1016167].
file: [12656381ed] check-in: [756125248b] user: dgp branch: trunk, size: 33587
2004-04-09
20:57
Merge updates from HEAD file: [67f533bcb4] check-in: [5b5c8133e5] user: dgp branch: dgp-refactor, size: 33368
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: [eff083d262] check-in: [2e5b18c85c] user: dgp branch: trunk, size: 33438
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: [f6fcde8529] check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 33389

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: [39607ccbb0] check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 33464
2003-05-22
19:12
Work in progress refactoring Tcl internals, mostly the parsing and evaluation pieces. Notably new Tcl_Token types and a new Tcl_ObjType are added so that each character in a script need only be parsed once, and parse trees can be cached rather than recomputed. Also, compile time errors are removed; all errors during compile become a signal to interpret the code. file: [b31c43bd4d] check-in: [5614e023c2] user: dgp branch: dgp-refactor, size: 33385
2002-06-10
05:33
Merging with TOT as of 06/09/2002. file: [71c5aa4ebf] check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 33465
2002-03-01
06:22
* generic/tclTimer.c (TimerExitProc): remove remaining events in tls on thread exit.
file: [66060d73ef] check-in: [b15a270a3d] user: hobbs branch: trunk, size: 33457
2002-02-05
02:21
Merging with the current TOT. Very few conflicts, mostly in the generated files. file: [814fa600fd] check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 33041
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: [a05d42db5e] check-in: [28b6020550] user: dgp branch: trunk, size: 33031
2001-11-21
02:36
added TIP#73 patch #483500 from Kevin Kenny. This deprecates TclpGetTime in favor of new Tcl_GetTime. file: [840cd78b17] check-in: [ad0e26f63b] user: hobbs branch: trunk, size: 33020
2001-09-27
13:49
Backing out unwise changes file: [6f89721cec] check-in: [4c0c25f627] user: dkf branch: dkf-64bit-support-branch, size: 33023
2001-09-26
14:23
Now builds on Solaris8/SPARC with both SunPro CC *and* GCC. file: [9bc018426f] check-in: [4850711173] user: dkf branch: dkf-64bit-support-branch, size: 33041
2001-09-25
16:49
Woo hoo! Builds on one platform (Solaris8/SPARC with SunPro CC) file: [6a75bbd43c] check-in: [dd2d80954c] user: dkf branch: dkf-64bit-support-branch, size: 33036
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: [8f8969ad27] check-in: [f3b32fb71c] user: stanton branch: trunk, size: 33022
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-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: [4eec0ac26c] check-in: [4e3632a716] user: stanton branch: core-8-1-branch-old, size: 33026
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: [abfffb533d] check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 33025
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: [776f48e68f] check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 33000
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: [cf91ddcb61] check-in: [196f92fd17] user: stanton branch: trunk, size: 31434
1998-03-26
14:45
Added: Initial revision file: [c2fba170bc] check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 31412