Compare commits

...
Author SHA1 Message Date
aku ac9f72ef96 Update to trunk work 2016-03-08 19:12:37 +00:00
dgp c2480e69a5 [bbc304f61a] Avoid event handling when reflected channel has a watch change half-completed. (First half in 1 thread, second in another). When this is allowed to happen, false alarm errors from [chan postevent] are the result when timing is unlucky. See test iocmd.tf-24.17.bug3522560 . 2016-03-08 15:55:51 +00:00
dgp 056d0d2c78 [bbc304f61a] Avoid event handling when reflected channel has a watch
change half-completed. (First half in 1 thread, second in another).  When
this is allowed to happen, false alarm errors from [chan postevent] are
the result when timing is unlucky. See test iocmd.tf-24.17.bug3522560 .
2016-03-08 15:50:37 +00:00
jan.nijtmans 4ff3a61b82 Eliminate exess spacings in remaining doc pages 2016-03-08 15:31:06 +00:00
jan.nijtmans ee67bf676a configure.in -> configure.ac 2016-03-08 13:44:16 +00:00
jan.nijtmans c2844d65a8 Fix version number in .project file 2016-03-07 08:37:01 +00:00
jan.nijtmans e85cf6c3a9 (cherry-pick): Fix gcc 5.3 warning: In function ‘NRInterpCmd’: tclInterp.c:726:5: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
if ((i + 2) < objc) {
Remove some excessive spacing
2016-03-04 13:15:08 +00:00
jan.nijtmans 6964ca96c2 Fix gcc 5.3 warning: In function ‘NRInterpCmd’: tclInterp.c:726:5: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
if ((i + 2) < objc) {
Remove some excessive spacing
2016-03-04 13:13:21 +00:00
dgp 4c3f17ea96 Bump trunk to 8.7a0 to accept new feature development. 2016-03-03 19:45:52 +00:00
dgp aa1d17b6b4 Open branch for continued 8.6.* patching. 2016-03-03 19:29:13 +00:00
dgp 80c9e6511b [bbc304f61a] Proposed fix for reflected watch race condition. 2016-03-02 15:29:48 +00:00
jan.nijtmans a312878e5b Eliminate exess spacings in many doc pages. 2016-03-02 08:49:12 +00:00
dgp 2ed7c8372b [80304238ac] Prevent RC cycle in the localVarName objtype. 2016-03-01 16:45:01 +00:00
dgp 5be04ec11e Extra safety against cycles 2016-03-01 16:42:03 +00:00
dgp 22557045ac Add test for memleak 2016-03-01 16:40:05 +00:00
dgp dc43669d30 merge trunk 2016-03-01 16:26:34 +00:00
dgp b3c0cd4c86 merge release 2016-03-01 13:24:49 +00:00
dgp b1b31a3289 merge trunk 2016-03-01 01:49:04 +00:00
dgp 106d4730fd Clean up unfired timer handlers or they cause errors in -singleproc 1 test run. 2016-02-26 16:17:12 +00:00
dgp 14bfb4aa23 [80304238ac] Candidate fix for memleak due to RC cycle. 2016-02-26 15:42:33 +00:00
dgp bd80c9f645 update changes 2016-02-23 14:02:20 +00:00
dgp 12a6b6de59 merge trunk 2016-02-23 13:59:49 +00:00
jan.nijtmans 7fd882e910 Convert remaining env.test test-cases to tcltest-2 format 2016-02-22 12:39:10 +00:00
jan.nijtmans 3f788ef33b Fix [9b47029467631832]: testing existence of env(some_thing) destroys traces. With test-case demonstrating the problem. 2016-02-22 11:42:09 +00:00
dgp bd7229a87d Bump to TclOO 1.0.4. Update changes file. 2016-02-19 16:44:26 +00:00
jan.nijtmans c0bf770206 Add test-case which demonstrates the problem. This test-case fails in trunk (but passes in core-8-5-branch, as expected). 2016-02-19 14:42:53 +00:00
dgp d01a3bf002 Update to tzdata2016a. 2016-02-19 13:37:11 +00:00
jan.nijtmans 07418c9b93 Proposed fix for [9b47029467631832]: testing existence of env(some_thing) destroys traces.
Was the comment [http://core.tcl.tk/tcl/artifact/f93c0675115b73ce?ln=554|here] not correct after all?.
2016-02-19 10:49:57 +00:00
dgp f09740fae5 merge trunk 2016-02-16 18:20:10 +00:00
dkf a25ea98e5c Fix a few more very minor formatting glitches. 2016-02-11 09:31:31 +00:00
dkf 4ae2c37a12 Fix minor formatting glitch 2016-02-11 09:27:00 +00:00
dgp 365c85d20f merge trunk 2016-02-09 18:08:14 +00:00
dkf 902d8b663f Tweaking some comments for clarity. 2016-02-05 16:31:00 +00:00
dkf 9a802144f5 Clean up the handling of buffer limit exceeding when flushing a zlib transform. 2016-02-05 14:36:28 +00:00
dgp 7a58b59b2d [cf74deb33c] Plug memleaks in class teardown. 2016-02-04 21:05:02 +00:00
dkf 47c35ac594 [25842c161] Prevent zero-length compress actions in [zlib] streaming API. 2016-02-03 15:29:04 +00:00
dgp 4c3e91b842 merge trunk 2016-01-29 14:22:31 +00:00
jan.nijtmans 8b001f80e4 Implement TIP #440: Add engine to tcl_platform Array 2016-01-29 13:35:00 +00:00
jan.nijtmans 0fad32deac Fix gcc'ism. Not all compilers can substract two void pointers. 2016-01-29 09:46:56 +00:00
dgp f51482578d Bump to 8.6.5 2016-01-28 17:33:21 +00:00
aku cec43d41f1 Ticket [6141c15186]. Prelim fix. Necessary test still to do. Passes the existing tests. 2016-01-28 06:46:39 +00:00
jan.nijtmans 727efcf012 Fix "make test" broken by previous commit 2016-01-24 16:52:56 +00:00
Miguel Sofer 4df5497f65 add a test to insure that callbacks run at the correct C-stack depth while unwinding the NRE stack. 2016-01-23 19:46:58 +00:00
jan.nijtmans 37fed62502 Eliminate useless variable assignment. 2016-01-22 10:38:36 +00:00
jan.nijtmans c3dccf7196 Improve code 'quality' by fixing some harmless clang/cppcheck warnings. Thanks to Gustaf Neumann. No change in functionality. 2016-01-22 10:27:29 +00:00
jan.nijtmans 3aa54d6d7a merge-mark 2016-01-21 13:15:51 +00:00
jan.nijtmans af6bc3e860 Fix compiler warnings (discovered on latest clang/gcc6), suggested by Gustaf Neumann. All harmless, no change of functionality. 2016-01-21 13:11:15 +00:00
Joe Mistachkin 8365a58070 Update comment with TIP number. 2016-01-19 17:48:25 +00:00
dgp 8cd2dd2b45 [593baa032c] Stop segfault in class destruction with active namespace. 2016-01-19 13:08:49 +00:00
dgp ab508359ae merge trunk 2016-01-19 13:06:40 +00:00
jan.nijtmans fe1ab20fb7 One more Tcl_GlobalEval() usage. 2016-01-18 15:00:49 +00:00
jan.nijtmans e52d82d888 Eliminate some usages of Tcl_GlobalEval() and Tcl_Eval(), which are deprecated functions. 2016-01-18 14:32:41 +00:00
jan.nijtmans c610c39100 Make function TclDisassembleByteCodeObj() static, since it is only used in a single source file. 2016-01-18 12:19:31 +00:00
dkf 76cf0cf48d Put the file location information that Tcl has into the disassembled code. Important for tclquadcode. 2016-01-18 10:16:35 +00:00
Joe Mistachkin b25cb7d39a Add docs and tests. 2016-01-15 00:39:41 +00:00
Joe Mistachkin 02b32be1a7 Add the tcl_platform(engine) element, TIP to be written. 2016-01-14 23:55:45 +00:00
dgp 3e8ea3960b merge trunk 2016-01-08 14:48:51 +00:00
jan.nijtmans d533bb6a26 Fix [f01d74dc8c]: DEFAULT_COPY_BLOCK_SIZE has incorrect value 2016-01-07 11:33:02 +00:00
jan.nijtmans 972aafc741 Fix win32 mingw 32-bit build, bug was introduced by [c397433be321e6d9] (wrong zlib1.dll was copied) 2016-01-06 11:15:20 +00:00
dkf 3c9ec7f76f Document the Tcl_CancelEval function correctly. It was missing its second argument, making using it correctly impossible, especially from C++. 2016-01-01 17:46:45 +00:00
dgp be81d9e977 [593baa032c] Additional fix for the mixinSubs list. 2015-12-22 19:50:04 +00:00
dgp 044f0ead3d [593baa032c] Possible fix (with test) for segfault in superclass teardown. 2015-12-22 18:27:23 +00:00
jan.nijtmans e39b986e81 Code-cleanup: CONST -> const, don't use macro's like __REG_CONST and types like re_void any more. No change in functionality. 2015-12-21 10:27:19 +00:00
jan.nijtmans 605aff99c9 Remove unused static function definition 2015-12-15 13:19:43 +00:00
jan.nijtmans 6df8a636f8 make some MODULE_SCOPE symbols static 2015-12-15 11:13:32 +00:00
jan.nijtmans 72dd32a3ca Eliminate AuxDataType table: since this table only contains 4 constant entries, it is overkill to use a hash table for that. 2015-12-15 10:33:09 +00:00
dkf 0b00017862 Issue the correct auxType when compiling [array set]. 2015-12-12 11:54:33 +00:00
jan.nijtmans e3a26ef9f6 Fix [c9eb6b0ac01bb8ef96a616c71426a3db4a279bec|c9eb6b0ac0]: ConvertLocalToUTCUsingC fails the first time if TZ is not set 2015-12-11 10:18:03 +00:00
jan.nijtmans 2e57446fb4 Fix [c9eb6b0ac01bb8ef96a616c71426a3db4a279bec|c9eb6b0ac0]: ConvertLocalToUTCUsingC fails the first time if TZ is not set 2015-12-11 10:13:33 +00:00
jan.nijtmans 456e333da9 Fix 64-bit MSVC build without SDK: If the MSVC version is recent enough, compiling without SDK works fine (provided that the build is configured using "--enable-64bit"). 2015-12-02 11:30:36 +00:00
jan.nijtmans 6c1d8b86ca Fix 64-bit MSVC build without SDK: If the MSVC version is recent enough, compiling without SDK works fine (provided that the build is configured using "--enable-64bit"). 2015-12-02 11:02:34 +00:00
dgp a2b2c6bfc4 [32c5740a4d] Have Tcl_ListObjReplace() try to use realloc() for growing when
it can do so.
2015-11-30 18:24:03 +00:00
jan.nijtmans c7c95d77f8 On cygwin, install libtcl8.6.dll.a in the {prefix}/lib directory. On win32, don't create empty {prefix}/lib/tcl8/8.2 and {prefix}/lib/tcl8/8.3 directories any more during installing. 2015-11-26 12:01:35 +00:00
jan.nijtmans e6fa255ed5 On cygwin, install libtcl8.5.dll.a in the {prefix}/lib directory.
On win32, don't create empty {prefix}/lib/tcl8/8.2 and {prefix}/lib/tcl8/8.3 directories any more during installing.
2015-11-26 11:46:02 +00:00
jan.nijtmans 4dd62bd6ed Fix comments at the top of the *.decls files, which are not correct any more for a long long time 2015-11-24 15:09:16 +00:00
jan.nijtmans d06ef17019 Fix comments at the top of the *.decls files, which are not correct any more for a long long time. 2015-11-24 15:05:15 +00:00
jan.nijtmans 99ba912ceb Make ::tcl::tm::roots work for alpha/beta Tcl releases. (backported from "novem", will be needed anyway for whatever future developments) 2015-11-24 09:00:27 +00:00
jan.nijtmans 9782f13f46 Cherrypick [812a81812ebf89d2416059d45fabd27e45603f5e|812a81812e]: Turn off NRE asserts by default. About a 5% speedup on [clock format]. 2015-11-22 21:02:29 +00:00
dkf e922cb1cd3 [3d96b7076e] Prevent crashes when destroying an object's class inside a method call. 2015-11-21 22:22:49 +00:00
dgp a166c55da0 Tcl_ListObjReplace() early out when > LIST_MAX attempted. 2015-11-20 16:59:55 +00:00
dgp 7e6cdc9cc4 [3293874] Simplified fix (not backport). Also detect >LIST_MAX early. 2015-11-20 16:58:11 +00:00
dgp 94b81dda49 [40f628e8e3] Tcl_ListObjReplace() callers need to handle TCL_ERROR. 2015-11-20 16:42:57 +00:00
dgp f4b65459ef [40f628e8e3] Tcl_ListObjReplace() callers need to handle TCL_ERROR. 2015-11-20 15:47:30 +00:00
oehhar 81ee44ac3b Spanish translation of example corrected 2015-11-17 17:07:33 +00:00
oehhar c3e6dcaa67 Spanish translation of example corrected 2015-11-17 17:01:58 +00:00
jan.nijtmans f89b8b1e2d Fix --enable-symbols build on Cygwin. Reported by François Vogel 2015-11-16 10:55:42 +00:00
jan.nijtmans 4e12f02a75 Fix --enable-symbols build on Cygwin. Reported by François Vogel 2015-11-16 10:32:40 +00:00
jan.nijtmans 8f1f92264a Fix [https://www.sqlite.org/src/info/34eb6911afee09e7|34eb6911af], taken over from SQLite: Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. 2015-11-13 08:42:30 +00:00
jan.nijtmans d85dd92c27 Fix [https://www.sqlite.org/src/info/34eb6911afee09e7|34eb6911af], taken over from SQLite: Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. 2015-11-13 08:40:54 +00:00
max 9965b67d8e Remove unused calculation of the result set size from TclCreateSocketAddress() 2015-11-11 09:56:41 +00:00
dgp 533f349b01 [261a8a79f0] Integer overflow leads to segfault. 2015-11-10 16:34:04 +00:00
dgp f3a2810d20 [261a8a79f0] Integer overflow leads to segfault. 2015-11-10 16:31:29 +00:00
dkf 04d1b41522 make genstubs 2015-10-28 21:15:52 +00:00
dkf a2efc41118 Expose some of the TclBN operations through the internal API, so clients of the bignum code don't need to use tclTomMath.h directly. 2015-10-28 21:15:21 +00:00
venkat 91ec2f6354 Merge tzdata2015g from ietf 2015-10-27 23:16:54 +00:00
venkat f98d4ff859 Update to tzdata2015g from ietf 2015-10-27 23:16:06 +00:00
jan.nijtmans 58e31795d0 re-generate "configure", both for unix and win 2015-10-25 22:47:39 +00:00
jan.nijtmans 2a20e200df re-generate "configure", both for unix and win 2015-10-25 22:45:39 +00:00
jan.nijtmans 383da62572 Remove use of HAVE_USLEEP. It isn't use anywhere any more 2015-10-25 19:41:29 +00:00
jan.nijtmans 500fbe92e6 Remove use of HAVE_USLEEP. It isn't use anywhere any more. 2015-10-25 19:39:38 +00:00
dkf 3fc99c04f6 A more lenient test; different platforms are more diverse in their correct output. 2015-10-24 16:02:32 +00:00
dkf 56bf715712 A more lenient test; different platforms are more diverse in their correct output. 2015-10-24 16:01:56 +00:00
jan.nijtmans 422eaa2077 Bring back regexp to what it was in latest release. This is the correct fix for the problem noted by kbk. Thanks! And thanks to dkf for the test-case 2015-10-24 07:43:33 +00:00
jan.nijtmans e8786f8348 Bring back regexp to wat it was in latest release. This is the correct fix for kbk's attempt. 2015-10-24 07:40:30 +00:00
dkf d1f3fe0de0 Mend problems with [platform::identify] formatting. 2015-10-23 22:44:31 +00:00
dkf a29de0a577 combine divergence 2015-10-23 22:39:02 +00:00
dkf 116ec0f471 Ensure that at lease the format of the output of the platform package's commands is consistently parsable. 2015-10-23 22:30:57 +00:00
Kevin B Kenny 4028edd571 Correct bad regexp in platform::identify that causes it to return incorrect results everywhere. 2015-10-23 22:29:23 +00:00
dgp 828abac60a merge mark 2015-10-23 14:59:38 +00:00
dgp f5599d7f8d Backout of failed attempt to fix [32ae34e63a] got checked into wrong branch. 2015-10-23 14:57:56 +00:00
oehhar b421519004 Make test clock-67.4 time zone independent. Bug [4a0c163d24] 2015-10-23 12:52:19 +00:00
oehhar c6fd11389a Change "clock scan/format -format %x -locale current" output on msgcat locale change. Bug [4a0c163d24] 2015-10-23 08:12:53 +00:00
oehhar a231dcf0ac New test for clock scan, test numbering corrected 2015-10-23 08:08:09 +00:00
oehhar c0a4d1371a Change "clock format -format %x -locale current" output on msgcat locale change [4a0c163d24] 2015-10-21 20:30:49 +00:00
dgp 990b376ae1 [1080042][8f245009b0] Big bundle of regexp engine fixes and improvements contributed from Tom Lane of the postgres project. 2015-10-21 14:10:13 +00:00
dgp 7640d1e898 [1080042][8f245009b0] Big bundle of regexp engine fixes and improvements
contributed from Tom Lane of the postgres project.
2015-10-21 13:50:55 +00:00
dgp cf8194b6a0 Adapted new tests contributed from Tom Lane @postgres. 2015-10-21 13:35:48 +00:00
dgp 1636c5d39a Adaptation of most of the re-mopup.patch from Tom Lane @ postgress.
Still should add the new tests.
2015-10-20 20:21:44 +00:00
dgp 33180e74dd Adaptation of re-memaccounting.patch from Tom Lane @postgres. 2015-10-20 19:53:03 +00:00
dgp f51da6d726 Adaptation of re-better-pushpull.patch from Tom Lane @postgres 2015-10-20 19:21:53 +00:00
dgp 6c297ad438 Adaptation of re-better-fixempties.patch from Tom Lane @ postgres. 2015-10-20 18:32:25 +00:00
dgp 1ead60af0b Adaptation of re-oNsquared.patch from Tom Lane @ postgres. 2015-10-19 19:32:04 +00:00
dgp d5029136c1 Adaptation of the patch re-fixconstraintloops.patch from
http://www.postgresql.org/message-id/19394.1444865029@sss.pgh.pa.us
2015-10-19 17:42:43 +00:00
dkf c0ab3b7128 [154f0982f2] Document that Tcl_NewObjectInstance() really needs to make a namespace. 2015-10-19 14:07:48 +00:00
jan.nijtmans ef1cf6b99b typo in comment. Eliminate unnecessary end-of-line spacing. 2015-10-19 13:52:58 +00:00
jan.nijtmans 44deaab456 Bring back Tcl_MutexLock() to exact implementation in Tcl 8.6.4. For details, see [ba44e415a0]: Use of mutexLock causes problem with reactive event handling in AndroWish 2015-10-18 10:34:30 +00:00
jan.nijtmans dfb834e395 Bring back Tcl_MutexLock() to exact implementation in Tcl 8.5.18. For details, see [ba44e415a0]: Use of mutexLock causes problem with reactive event handling in AndroWish 2015-10-18 10:31:50 +00:00
jan.nijtmans 463aed9329 Proposed fix for [ba44e415a0]: "Use of mutexLock causes problem with reactive event handling in AndroWish".
This basically undoes the retry mechamism in Tcl_MutexLock, introduced in [9f8b7bea53]. Does this retry mechamism hurt more than it helps? Feedback requested.
2015-10-17 07:21:19 +00:00
jan.nijtmans c6511f8d77 Various build fixes, when using Cygwin shell in combination with native MinGW compiler. Contributed by pooryorick. 2015-10-12 11:29:45 +00:00
jan.nijtmans 8f5f70cbb1 Various build fixes, when using Cygwin shell in combination with native MinGW compiler. Contributed by pooryorick. 2015-10-12 09:57:26 +00:00
jan.nijtmans e19283c7d5 merge-mark 2015-10-10 12:38:24 +00:00
jan.nijtmans f0ba2933f2 Fix minor msvc compiler warning in tclWinFile.c 2015-10-10 12:37:34 +00:00
jan.nijtmans 0519b566b8 Make autoconf > 2.59 work warning-free 2015-10-09 14:41:51 +00:00
jan.nijtmans 96ba10aa41 Make autoconf > 2.59 work warning-free 2015-10-09 14:40:28 +00:00
stwo 5767ab9581 Tcl/OpenBSD/Sparc needs -fPIC. 2015-10-09 13:30:49 +00:00
stwo efecaa64e2 Tcl/OpenBSD/Sparc needs -fPIC. 2015-10-09 13:18:48 +00:00
jan.nijtmans 8d774cfa0b Decorate Tcl_Exit() and Tcl_SetExitProc()'s argument with TCL_NORETURN as appropriate, as already done with Tcl_Panic() earlier.
Fix minor msvc compiler warning in tclWinFile.c
2015-10-08 14:41:46 +00:00
jan.nijtmans fe2ac816b0 Fix [8587cb648c445f7]: clock default format incorrect 2015-10-07 13:34:17 +00:00
jan.nijtmans ffeedbcbca Fix [8587cb648c445f7]: clock default format incorrect 2015-10-07 13:32:29 +00:00
jan.nijtmans aaa3242a11 Where "interp" is only used for error-reporting, it can be allowed to be NULL. This should fix [5da26d4760]: Tcl_LoadFile() segfaults if "interp" is NULL. 2015-10-07 13:14:27 +00:00
jan.nijtmans 6524bed322 Fix surrogate handling in PrintSourceToObj(), differenciating for TCL_UTF_MAX = 6 (androwish) and TCL_UTF_MAX = 4 (tip-389-impl). No effect when TCL_UTF_MAX = 3. 2015-10-07 08:40:23 +00:00
jan.nijtmans cfea006a9d Fix [b42a851475]: file normalize ~user returns wrong directory on Windows 2015-10-06 14:49:23 +00:00
jan.nijtmans 3a680cc449 Fix [b42a851475]: file normalize ~user returns wrong directory on Windows 2015-10-06 14:25:36 +00:00
jan.nijtmans 7c5ea5b5f1 Revise content of generate win/tclConfig.sh: Make sure that all entries use windows paths with forward slashes. 2015-10-06 09:36:34 +00:00
jan.nijtmans 601fa19fab Revise content of generate win/tclConfig.sh: Make sure that all entries use windows paths with forward slashes. 2015-10-06 09:19:18 +00:00
jan.nijtmans ecd0d69efb Double '[' and ']', otherwise re-generating "configure" doesn't give the expected result. 2015-10-06 08:21:15 +00:00
jan.nijtmans ef310f81a0 Double '[' and ']', otherwise re-generating "configure" doesn't give the expected result. 2015-10-06 08:18:46 +00:00
jan.nijtmans 4c6eb20ea5 Use "cygpath -m" in stead of "cygpath -w", so paths (even windows ones) always have forward slashes. Suggested by pooryorick for [http://core.tcl.tk/tclconfig/tktview/06f1692bbe29449ac3f2161ebf9dd153d0349845|TEA], but a good idea anyway 2015-10-05 09:26:29 +00:00
jan.nijtmans 6a0634acc9 Use "cygpath -m" in stead of "cygpath -w", so paths (even windows ones) always have forward slashes. Suggested by pooryorick for [http://core.tcl.tk/tclconfig/tktview/06f1692bbe29449ac3f2161ebf9dd153d0349845|TEA], but a good idea anyway 2015-10-05 09:23:12 +00:00
dkf 6e716af3b7 [05489ce335] Constrain broken tests. 2015-10-04 10:58:48 +00:00
jan.nijtmans db1ca42627 Eliminate unnessessary end-of-line spacing. No functional change. 2015-10-04 10:20:05 +00:00
jan.nijtmans 677ffa1104 Eliminate unnessessary end-of-line spacing. No functional change. 2015-10-04 10:10:58 +00:00
jan.nijtmans a82b49336a Fix signed<->unsigned compare gcc compiler warning. 2015-10-01 11:18:41 +00:00
jan.nijtmans e24d246c87 Eliminate a few gcc compiler warnings, when using -Wwrite-strings (tested with the brand-new gcc 5.2.0) 2015-10-01 11:04:19 +00:00
jan.nijtmans 56a99d9dd9 Mutch simpler solution to [219866c1e9]: In stead of filtering out version information from the string, make sure that ::platform::generic doesn't contain this version information in the first place. 2015-09-30 13:45:54 +00:00
jan.nijtmans 4cabc332b4 Mutch simpler solution to [219866c1e9]: In stead of filtering out version information from the string, make sure that ::platform::generic doesn't contain this version information in the first place. 2015-09-30 13:44:52 +00:00
jan.nijtmans 7d9ccac72d Fix [738bc50e93]: auto_execok doesn't recognise mklink on windows 2015-09-30 12:59:56 +00:00
jan.nijtmans 3449d223d1 Fix [738bc50e93]: auto_execok doesn't recognise mklink on windows. Remove some unnecessary end-of-line spacing. 2015-09-30 12:57:02 +00:00
jan.nijtmans 0036891363 Don't limit Universal runtime support VisualStudio version 14 only, future versions will probably have it as well. 2015-09-30 11:12:45 +00:00
jan.nijtmans c6f5daec40 Don't limit Universal runtime support VisualStudio version 14 only, future versions will probably have it as well. 2015-09-30 11:11:33 +00:00
jan.nijtmans 9c536234a9 Fix [b1f19286f0]: for command documentation.
Minor addendum to previous commit: Make OS version number available in ::platform::generic for Cygwin
2015-09-30 08:29:57 +00:00
jan.nijtmans 0ad034c3c6 Fix [b1f19286f0]: for command documentation.
Minor addendum to previous commit: Make OS version number available in ::platform::generic for Cygwin
2015-09-30 08:25:37 +00:00
jan.nijtmans e39c8e6b26 Fix [219866c1e9]: platform::identify: regexp doesn't match platform -> platform 1.0.14 2015-09-29 07:48:58 +00:00
jan.nijtmans 829e5981d2 Fix [219866c1e9]: platform::identify: regexp doesn't match platform -> platform 1.0.14 2015-09-29 07:46:08 +00:00
jan.nijtmans b381dafa84 Align comment. Remove some end-of-line spacing. No functional changes. 2015-09-28 11:13:25 +00:00
jan.nijtmans bb34bee773 align comment, no functional change 2015-09-28 11:11:00 +00:00
dgp 1f6b04d51b Backout failed attempt to fix [32ae34e63a]. 2015-09-25 16:43:05 +00:00
jan.nijtmans 27989920c5 proposed fix for [219866c1e9]: platform::identify: regexp doesn't match platform 2015-09-25 10:39:39 +00:00
jan.nijtmans faef5b981f Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin 9f8b7bea5344f1b0 broke netbsd's thread notifier 2015-09-24 11:06:44 +00:00
jan.nijtmans 92b0e12403 Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin 9f8b7bea5344f1b0 broke netbsd's thread notifier 2015-09-24 10:54:07 +00:00
jan.nijtmans 856c560b71 merge trunk 2015-09-24 10:03:20 +00:00
jan.nijtmans daa0c940b8 merge-mark (almost, just a few cosmetic changes) 2015-09-24 10:01:36 +00:00
jan.nijtmans c3eea370e5 Clean-up tclUnixNotfy.c, restructure it the same as "trunk" version. No functional changes. This will make upcoming merging work easier. 2015-09-24 09:55:14 +00:00
dgp c3805dda91 Update tests to new ReflectWatch() behavior. 2015-09-23 17:29:15 +00:00
dgp 02960a691f [e0a7b3e5f8] Add missing UpdateInterest call in DoRead(). 2015-09-23 17:15:53 +00:00
dgp c222d15bd1 [e0a7b3e5f8] Add missing UpdateInterest call in DoRead(). 2015-09-23 17:07:40 +00:00
dgp 93695198d8 [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().
2015-09-23 16:58:34 +00:00
dgp f2a99f6167 merge 8.5 2015-09-23 16:37:06 +00:00
dgp 049bb5ecaa [32ae34e63a] Prevent segfaults and data corruption when CopyData() is called
recursively.
2015-09-23 16:29:38 +00:00
dgp 8d4e35dc59 Update tests to account for changed ReflectWatch behavior. 2015-09-23 16:08:30 +00:00
dgp 9bcf18e010 Protect CopyState buffer from conflicting uses when CopyData() is called
recursively. Also, have ReflectWatch() always give driver a chance to act.
2015-09-23 16:00:57 +00:00
dgp df9835efa1 CopyData() now tolerates recursion enough so that io-53.18 does not segfault. 2015-09-23 13:18:32 +00:00
jan.nijtmans bac8bd28c0 Merge trunk 2015-09-23 12:19:12 +00:00
jan.nijtmans 4067fb322f Micro-optimization handling Tcl_Panic(), suggested by D. Richard Hipp.
As a side-effect, this is as well a fix  for [1446864]: segfaults if Tcl_Panic() returns.
2015-09-23 10:29:00 +00:00
dgp 1d9460e1e6 WIP 2015-09-23 09:40:46 +00:00
Miguel Sofer 001513fa18 micro-opt of hash lookups found by drh 2015-09-22 20:57:58 +00:00
dgp 2b9d31917d Reboot the bug fix. 2015-09-22 19:12:46 +00:00
dgp cdf813e288 merge 8.5 2015-09-22 18:24:03 +00:00
jan.nijtmans 9b08e4775f Decorate Tcl_Panic and Tcl_PanicVA with the noreturn option, alowing further optimizations by the C-compiler. 2015-09-22 15:24:11 +00:00
jan.nijtmans e014381903 Eliminate compiler warnings for MSVC 2015-09-22 11:32:11 +00:00
dgp 256865fe12 [187d7f499b] Sync the regexp engine to the Postgres version. 2015-09-21 19:25:20 +00:00
dgp 4669ea6d0c [1115587][0e0e150e49] Major fix for regexp handling of quantified backrefs.
Contributed by Tom Lane from the Postgres project.
2015-09-21 19:04:40 +00:00
dgp 87744f43c9 [d7ea9f985][a3c3508599] Internal regexp fixes that cleanup and streamline. 2015-09-21 18:50:23 +00:00
dgp a6f9ef29ae [d7ea9f985][a3c3508599] Internal regexp fixes that cleanup and streamline. 2015-09-21 18:22:46 +00:00
dgp d32ca76ec2 [a3c3508599] Fix typo that reversed test sense in prior fix for [3610026]. 2015-09-21 17:29:22 +00:00
dgp 0371108cbf [d7ea9f9853] Contributed patch from tgl with Postgres. 2015-09-21 17:14:52 +00:00
jan.nijtmans b29f3e80a5 Fix for [5d170b5ca5] now available for widespread testing (incl. HPUX and OSX) 2015-09-07 08:35:42 +00:00
jan.nijtmans 05956b6b36 Merge trunk.
"paranoia" patch for the notifier, making sure that thread local data from invalid threads are never accessed by the forked main thread.
2015-09-05 20:10:27 +00:00
jan.nijtmans 1ee459aa14 Document that multi-threading is on by default since 8.6 2015-09-04 12:23:18 +00:00
jan.nijtmans 9f4810e640 Remove unnecessary end-of-line spacing (preparing for some further documentation updates) 2015-09-04 07:23:25 +00:00
jan.nijtmans 85699b47e7 In StartNotifierThread() don't lock mutex if thread is already started.
Fix panic message if thread cannot be started. 
Remove asserts used for debugging.
2015-09-03 09:39:43 +00:00
jan.nijtmans 0e03c742fa nonportable -> nonPortable 2015-09-02 13:19:47 +00:00
jan.nijtmans 4c98b8717b Fix the Cygwin notifier, doing the initialization of the thread-local variables exactly the same as the Unix notifier. 2015-09-02 11:54:58 +00:00
dgp 2841bb1300 merge 8.5 2015-09-02 11:06:01 +00:00
jan.nijtmans 4792d8fa00 Merge trunk.
Gustaf's latest and greatest fix.
2015-09-02 09:02:53 +00:00
jan.nijtmans d9762826b9 Various Unicode handling enhancements, when building with TCL_UTF_MAX > 3, inspired by androwish. No effect if TCL_UTF_MAX=3 (which is the default) 2015-09-01 18:54:58 +00:00
jan.nijtmans 932409d7aa Whitespace reduction in Tcl scripts. No functional change. 2015-09-01 15:15:46 +00:00
jan.nijtmans b13ad88718 Merge trunk.
Add Gustaf's latest fix for unit-tests.
2015-08-31 10:41:22 +00:00
jan.nijtmans cdee0fcd74 Some Unicode encoding fixes, only having effect if TCL_UTF_MAX > 4. Backported from androwish 2015-08-31 10:18:31 +00:00
dkf b3892c4018 [7703ff1082] Improved wording. 2015-08-30 20:21:46 +00:00
dkf a3c3dc2581 [7703ff1082] Improved wording. 2015-08-30 20:20:09 +00:00
jan.nijtmans 3d8fa193f4 Completing [00189c4afc]: Allow semi-static UCRT build on Windows with VC 14.0. Now for the configure/makefile build. 2015-08-28 10:57:46 +00:00
jan.nijtmans 6dfc99d7f2 Completing [00189c4afc]: Allow semi-static UCRT build on Windows with VC 14.0. Now for the configure/makefile build. 2015-08-28 10:23:30 +00:00
jan.nijtmans 1439f39555 Fix [7703ff1082]: extra argument ?pattern? of parray is not documented 2015-08-27 14:53:11 +00:00
jan.nijtmans cc771f1b47 Fix [7703ff1082]: extra argument ?pattern? of parray is not documented 2015-08-27 14:49:06 +00:00
dgp 62addcfa82 merge 8.5 2015-08-27 11:48:03 +00:00
jan.nijtmans 6e58473427 merge trunk 2015-08-25 14:07:11 +00:00
jan.nijtmans 570eb6b10d Fix [0df7a1ec2674a76a]: unix/tclUnixFile.c: return value of call to TclpGetCwd in TclpFindExecutable is not checked, variable cwd is used uninitialized. 2015-08-25 11:35:01 +00:00
jan.nijtmans f08cbe00fd Fix [0df7a1ec2674a76a]: unix/tclUnixFile.c: return value of call to TclpGetCwd in TclpFindExecutable is not checked, variable cwd is used uninitialized. 2015-08-25 11:29:58 +00:00
jan.nijtmans 63ba958fe4 Removed "ucrt" as configureable option: If building with VC2014, it's the recommended way to build Tcl. 2015-08-25 10:01:51 +00:00
jan.nijtmans 2974c8e22c Removed "ucrt" as configureable option: If building with VC2014, it's the recommended way to build Tcl. 2015-08-25 09:39:16 +00:00
jan.nijtmans 2da34cb738 Eliminate (harmless) compiler warning. No functional change. 2015-08-21 11:21:41 +00:00
jan.nijtmans 9f8346d54f Eliminate some (harmless) compiler warnings. No functional change. 2015-08-21 10:40:48 +00:00
jan.nijtmans bd0d616070 Fix [00189c4afcb9e2586301d711f71383e48817a72d|00189c4afc]: Allow semi-static UCRT build on Windows with VC 14.0 2015-08-19 15:25:35 +00:00
jan.nijtmans 5dc66dd0c9 Fix [00189c4afcb9e2586301d711f71383e48817a72d|00189c4afc]: Allow semi-static UCRT build on Windows with VC 14.0 2015-08-19 15:23:25 +00:00
jan.nijtmans 023624c3c9 merge trunk.
Remove now unused internal functions.
2015-08-19 11:26:52 +00:00
dkf da2329ba8b [465213d171] Documentation correction for Tcl_NewMethod. 2015-08-18 13:27:46 +00:00
dkf 6916d195ce [2c509f6291] Minor documentation correction from Peter Lewerin. 2015-08-18 12:50:08 +00:00
dkf c892bc1f1d [d06b029d9d] next(n) documentation examples correction, from Peter Lewerin. 2015-08-18 12:47:01 +00:00
dkf 2e4ba03817 [7a87a9bc5b] Eliminate invalid write, found by Rolf Ade using Valgrind. 2015-08-18 07:01:41 +00:00
jan.nijtmans b8a93e8423 remove superfluous fprintf to stderr. 2015-08-17 20:35:15 +00:00
jan.nijtmans 5f6beb1bd2 Merge trunk.
More notifier code cleanup.
2015-08-17 19:39:16 +00:00
dkf 341ea00aaa [818a1a51e4] Apply fixes from Andreas Seltenreich (reported to us by Tom Lane) for handling low memory situations. Should not be reachable in Tcl due to ckalloc() panic policy. 2015-08-17 18:23:20 +00:00
dkf c6028b1641 [818a1a51e4] Apply fixes from Andreas Seltenreich (reported to us by Tom Lane) for handling low memory situations. Should not be reachable in Tcl due to ckalloc() panic policy. 2015-08-17 18:22:18 +00:00
dkf cdcc22a92d Proposed fix for invalid write, found by valgrind. 2015-08-17 18:01:16 +00:00
jan.nijtmans 85469aaecf Merge trunk.
Gustaf's latest Unix Notifier improvements, now fixed to work with Cygwin and single-threaded as well.
2015-08-17 15:21:46 +00:00
dkf 3ad3a0eae3 [e424e31ac7]: Corrected documentation of [regexp -indices] to mention all affected arguments. 2015-08-17 12:35:27 +00:00
dgp 57e43137bd New test attempting to demo Bug [e0a7b3e5f8]. Doesn't work yet. 2015-08-13 19:28:26 +00:00
dgp ed005a749a Disable the filtering of ReflectWatch so that every UpdateInterest() call
flows through to become a [driver watch] evaluation.  This makes new test
io-53.19 pass.
It also makes a collection of 10 test in ioCmd.test start failing, all of
which are recording detailed reflected channel driver command evaluation.
The now unfiltered [driver watch] change this record without (at least
apparently) changing any behavior.  Need review.
2015-08-13 17:02:04 +00:00
dgp 1cc03c884b A bit of code safety, and then a test demonstrating next issue. 2015-08-13 16:45:03 +00:00
dgp cababb3290 Adjustments to failing tests to account for changed [chan postevent]. 2015-08-12 17:49:42 +00:00
dgp ec3c0c79fb New test io-53.18 adapted from demo script in [32ae34e63a]. This test
segfaults without changes to source code.  This checkin also contains
a revised implementationf of [chan postevent] that stops calling
Tcl_NotifyChannel() directly, and queues an event to do it instead.
This stops the segfault, but causes tests iocmd-31.[67] to fail.
Need advice on whether that matters.
2015-08-12 16:37:28 +00:00
venkat 656a0f78c7 Merge tzdata2015f 2015-08-12 05:07:24 +00:00
venkat b50f18b840 Upgrade to tzdata2015f from IETF. 2015-08-12 05:06:26 +00:00
dgp 32a9dde838 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.
2015-08-10 19:44:56 +00:00
jan.nijtmans faa471576e Fix [6f74ac47278f437a]: No man link to Tcl_UtfNcasecmp() during install on unix 2015-08-06 04:25:50 +00:00
jan.nijtmans de133cb36a Fix [6f74ac47278f437a]: No man link to Tcl_UtfNcasecmp() during install on unix 2015-08-06 04:24:44 +00:00
jan.nijtmans c24688ad4f Gustaf Neumann's experimental Unix notifier improvements. 2015-08-06 03:43:43 +00:00
Miguel Sofer d1ab32cd40 remove potential crash detected by Coverity (it is a should-never-happen thing) 2015-08-05 19:30:06 +00:00
Miguel Sofer 70c0fd83e8 mark function return as unused, to avoid confusing Coverity 2015-08-05 14:44:19 +00:00
dkf ff00a132ab merge mark 2015-08-03 09:57:12 +00:00
dkf 7e228aa961 Fix problems with break and continue in for-step clauses, triggered by reporting
of Coverity CID 1251203. Some of these were originally bugs in Tcl 8.0.
2015-08-03 07:21:29 +00:00
dkf 4e411a89fe Fix the documentation comment. 2015-08-03 07:18:13 +00:00
dkf 9d7f20adc5 Backport the fixes to handling of continue in for-step clauses. 2015-08-03 07:17:27 +00:00
dkf 93b515b360 And another problem with continue in for-step clauses, this time a problem in how TEBC handled an edge case in the semantics. 2015-08-02 16:17:00 +00:00
dkf 034f00bf1b Fix more problems with break and continue in for-step clauses. 2015-08-02 12:22:02 +00:00
dkf 29603179f4 Fix Coverity CID 1251203: break vs continue in for-step clause 2015-08-01 19:37:04 +00:00
Miguel Sofer 33a7feeefd explicitly ignore Tcl_PushCallFrame and TclPushStackFrame return value - it is always TCL_OK. Inconsistency found by coverity (CID 1251197) 2015-08-01 19:00:39 +00:00
Miguel Sofer f795c9e131 fix off-by-one possible buffer overrun when looking for encodings; found by coverity 2015-07-31 22:05:20 +00:00
Miguel Sofer 743ef38cdc fix typo found by Coverity; no effect on "most" platforms (is there anyone where it would matter?) 2015-07-31 00:01:52 +00:00
Miguel Sofer b62b6bd490 remove unnecessary checks found by coverity 2015-07-30 22:56:57 +00:00
Miguel Sofer 90beed4f41 remove self-assignment - found by Coverity 2015-07-30 18:57:30 +00:00
sebres f4fe4153ee Fix bug [f00009f7ce]: memory (object) leaks in TclNativeCreateNativeRep for windows platform:
missing decrement of refCount, because of confusing differently behavior Tcl_FSGetTranslatedPath vs Tcl_FSGetNormalizedPath.
2015-07-30 18:22:27 +00:00
Miguel Sofer 0b6ed354d1 add comment to flag Tcl_Panic as no-return for Coverity Scan static analyzer 2015-07-30 18:10:39 +00:00
sebres a6c191c2ea Fix bug [f00009f7ce]: memory (object) leaks in TclNativeCreateNativeRep for windows platform (erroneous Tcl_IncrRefCount removed) 2015-07-30 13:02:49 +00:00
dgp 7dfee7792b [3e7eca8c8c] Prevent overflow in size values passed to allocators. 2015-07-29 14:56:20 +00:00
dgp a16827f77e [3e7eca8c8c] Prevent overflow in size values passed to allocators. 2015-07-29 14:54:13 +00:00
dgp e91db44e66 [3e7eca8c8c] Prevent overflow in the size value passed to ckrealloc(). 2015-07-29 10:03:46 +00:00
dgp aa7b8f6ccb [3e7eca8c8c] Prevent overflow in the size value passed to ckrealloc(). 2015-07-29 03:06:30 +00:00
jan.nijtmans 7578a2c2bd Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in forking process under heavy multithreading. Thanks to Joe Mistachkin for the implementation of the fix, and Gustaf Neumann for the original report and testing the fix. 2015-07-23 17:09:58 +00:00
jan.nijtmans 7d2d8c6e11 Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in forking process under heavy multithreading. Thanks to Joe Mistachkin for the implementation of the fix, and Gustaf Neumann for the original report and testing the fix. 2015-07-23 16:53:42 +00:00
dgp fff7447683 [a3309d01db] Plug memleak in compiled [unset a($i)]. 2015-07-18 05:52:57 +00:00
dgp d17930c875 Add the missing cleanup bits in INST_UNSET_ARRAY. 2015-07-18 05:27:00 +00:00
dgp dfd5e62014 merge trunk 2015-07-18 02:39:02 +00:00
dgp c4bd26e054 Fix failing test 2015-07-18 01:45:06 +00:00
dgp 5bb79143c1 merge trunk 2015-07-17 21:22:22 +00:00
dgp 67b1d52de2 Test for original meaning of [unset -nocomplain --]. FAILS! 2015-07-17 21:17:48 +00:00
dgp dd3c1d71f7 Test for original meaning of [unset -nocomplain --]. 2015-07-17 21:15:26 +00:00
dgp 324a884128 [a3309d01db] Test the demonstrates leak in branch off checkin that starts it. 2015-07-17 19:33:08 +00:00
dgp 90fbc0fe78 [9bad630c31] Prevent read outside of buffer bounds. 2015-07-15 17:59:13 +00:00
dgp db73017a4a [9bad630c31] Prevent read outside of buffer bounds. 2015-07-15 17:57:34 +00:00
dgp 1a4e6b5d92 [b1534b438b] Prevent read outside buffer boundaries. 2015-07-15 17:20:19 +00:00
dgp 60a6f1779d [b1534b438b] Prevent read outside buffer boundaries. 2015-07-15 17:17:03 +00:00
jan.nijtmans 7b49d1632e Increase some counter sizes related to filesystem epoch from int to size_t. And prevent them ever becoming 0 due to an overflow. (backported with variation from androwish) 2015-07-15 14:47:32 +00:00
jan.nijtmans a7f9c92001 merge trunk 2015-07-15 11:17:12 +00:00
jan.nijtmans 5500c15d8a Eliminate the definition of L_tmpnam. It isn't used anywhere within Tcl any more. (backported from androwish) 2015-07-15 08:36:46 +00:00
andy 1b5d2f150d Spell out [info exists] in example code for [exit] command. 2015-07-14 21:38:05 +00:00
dkf 444cb185b8 Implement TIP 436: Improve TclOO isa Introspection 2015-07-10 12:41:57 +00:00
dkf 22932eb228 Added tests. 2015-07-10 12:40:49 +00:00
oehhar 2ee3ddac8a Documentation: source ignores BOM for unicode files 2015-07-07 14:20:26 +00:00
oehhar 8037d27915 Documentation: source ignores BOM for unicode files 2015-07-07 14:16:07 +00:00
dgp 4ce2c3e6e7 [a0ece9d6d4] The cmd field of a CmdFrame when non-NULL must point within the
string of the corresponding codePtr->source.
2015-07-05 16:52:27 +00:00
dgp b00e732483 Plug leak of two mp_ints. 2015-07-02 13:46:56 +00:00
dgp 20dafdc09e Revert refcount changes that were not cosmetic.
Changing equality testing to inequality testing does more than make code
prettier or clearer.  It makes it less strict, and thus more tolerant of
other bugs elsewhere.  Such changes deserve separate consideration at least,
not breezy entry in an otherwise "code cleanup" commit.
2015-07-02 12:54:57 +00:00
dgp 9aa3e85104 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.
2015-07-02 12:29:43 +00:00
jan.nijtmans fb6b7a8d8d Remove unnecessary end-of-line spacing in compat/*.c 2015-07-02 12:17:26 +00:00
jan.nijtmans 4cd9155ae9 Another round of refCount consistancy improvements. 2015-07-02 08:17:50 +00:00
Miguel Sofer 0918bf8c7b remove code that was ifdef'ed out for ages (ENABLE_NS_VARNAME_CACHING), has zero hope of being revived and got out of sync anyway 2015-07-02 03:15:21 +00:00
jan.nijtmans fec1116ba7 Don't use internalRep.otherValuePtr any more, twoPtrValue.ptr1 is always a better idea.
A few more consistancies in refcount management.
2015-07-01 13:12:57 +00:00
dkf 261a4a6282 Say what is meant more clearly, put syntax checks before semantic checks. 2015-07-01 09:58:42 +00:00
dkf bbb80087ae Implementation of TIP #436: Improve TclOO isa Introspection 2015-07-01 09:45:04 +00:00
jan.nijtmans 73484694b5 Consistancy in refcount management. 2015-06-30 21:41:18 +00:00
dkf 6af49e65ad Correct handling of dictionaries in the background error processing code. 2015-06-30 14:39:56 +00:00
dkf 12cc9a424d merge head 2015-06-30 14:39:17 +00:00
dkf f63cfcaea3 Correct handling of dictionaries in the background error processing code. 2015-06-30 14:36:24 +00:00
oehhar 502287c9dd "mcpackagelocale present" is more elegant 2015-06-30 14:32:12 +00:00
jan.nijtmans 63aa951254 Use twoPtrValue in stead of ptrAndLongRep for implementation of some internal Obj types. On most platforms this doesn't make a difference,
as (void *) and (long) generially have the same size. The only exception where it makes a difference is win64, as we can now store 64 bits in this field in stead of only 32 bits, exactly what the processor is optimized for.
2015-06-30 08:10:15 +00:00
oehhar 0698861f80 [TIP 412] msgcat dynamic locale change and package private locale (msgcat 1.6.0) 2015-06-29 21:44:12 +00:00
oehhar 352740916d Added tests for mcforgetpackage, mcpackagelocale and mcpackageconfig 2015-06-29 21:26:24 +00:00
venkat 987b08480c Merge tzdata2015e from ietf.org 2015-06-28 01:55:06 +00:00
venkat b87531a583 Summary: Update to tzdata2015e from ietf.org 2015-06-28 01:54:06 +00:00
oehhar 52f920ba57 Tests for mcexists and mcloadedlocales 2015-06-26 15:16:34 +00:00
oehhar 14476f18e0 Manpage, callback fail calls bgerror, clean catalog on packagelocale unset 2015-06-26 13:41:31 +00:00
jan.nijtmans 2b81ec85d4 revert unintended change of .settings/org.eclipse.core.resources.prefs in previous commit 2015-06-25 08:05:18 +00:00
jan.nijtmans c56e67115f Fix bug in "make dist" when system-encoding is UTF-8: eolFix will then translate some windows-specific files to UTF-8 too.
Solution: commit those files with CRLF line-ending, which eliminates the need for eolFix altgether.
See als: [495120] for the reason why eolFix was introduced in the first place. No longer needed with fossil.
2015-06-25 08:02:17 +00:00
jan.nijtmans 14f9ede961 Fix bug in "make dist" when system-encoding is UTF-8: eolFix will then translate some windows-specific files to UTF-8 too.
Solution: commit those files with CRLF line-ending, which eliminates the need for eolFix altgether.
See als: [495120] for the reason why eolFix was introduced in the first place. No longer needed with fossil.
2015-06-25 07:52:36 +00:00
jan.nijtmans 50ccb92ce7 Tcl_GetStringFromObj(..., NULL) -> Tcl_GetString(...). Use size_t in stead of int for more internal variables. 2015-06-24 14:28:47 +00:00
dgp d150ddf591 Silence compiler warning. 2015-06-24 13:56:36 +00:00
dgp 3ea3c1f2f9 Make sure that an input lying precisely 1/2 ULP between two floating point values is rounded to even. 2015-06-24 13:55:46 +00:00
jan.nijtmans 71ef3ba082 Registry extension 1.3.0 -> 1.3.1: SendMessageTimeoutA -> SendMessageTimeout, so make sure only win32 UNICODE API is used. 2015-06-23 21:47:41 +00:00
jan.nijtmans 51adf20eaf Member field which should not have been const, because it is dynamically allocated. Some end-of-line spacing in header files. 2015-06-23 20:32:33 +00:00
jan.nijtmans fde157fe11 Member field which should not have been CONST, because it is dynamically allocated 2015-06-23 19:58:38 +00:00
jan.nijtmans c793ae92e4 If the file system changes when "cwd" changes, force a filesystem refresh on path objects. Needed for AndroWish/TclKit (???) in obscure situations, harmless on systems which only have a single native filesystem. 2015-06-23 13:04:09 +00:00
oehhar 2972e0894d Merge trunk 2015-06-22 12:40:27 +00:00
Kevin B Kenny 9c52f7a98a Make sure that an input lying precisely 1/2 ULP between two floating point values is rounded to even. 2015-06-20 20:44:17 +00:00
dgp 0985259acd Remove lines of code made obsolete by earlier changes. 2015-06-19 15:35:14 +00:00
dgp 0132d11834 [a4cb3f06c4] Fix edge case handling in lreplace. Many more tests. 2015-06-18 17:33:52 +00:00
dgp ad6cba5a8e From aspect, several edge case coverage tests. 2015-06-18 17:26:59 +00:00
jan.nijtmans f43007cdd8 Upgrade all internal Unicode tables from Unicode 7.0 to Unicode 8.0 2015-06-18 12:54:30 +00:00
jan.nijtmans e6c567a325 Upgrade all internal Unicode tables from Unicode 7.0 to Unicode 8.0 2015-06-18 12:24:53 +00:00
Joe Mistachkin 7ba021af61 Rename the new API to TclMutexUnlockAndFinalize as it is not platform-specific. 2015-06-17 20:32:01 +00:00
jan.nijtmans d4bb7bdf65 Change Tcl_MutexUnlockAndFinalize() to internal function TclpMutexUnlockAndFinalize(). This does not require a TIP, and still should fix the reported bug. 2015-06-16 15:24:51 +00:00
jan.nijtmans 5fc6bbc782 Fix [e770d92d76]: Add support for higher baud rates in Tcl 2015-06-16 08:41:38 +00:00
jan.nijtmans d948ee6daa Fix [e770d92d76]: Add support for higher baud rates in Tcl 2015-06-16 07:39:37 +00:00
aspect e008d75c19 lreplace: more tests, doc improvement 2015-06-16 03:33:22 +00:00
aspect ea9f9ac81e fix for a4cb3f06c4fe - bug introduced in 32b61592465 2015-06-16 00:41:39 +00:00
Joe Mistachkin e99979bfcf Plug memory leaks in the Tcl_ZlibInflate() error handling code. Fix for ticket [478c446889]. 2015-06-11 02:47:41 +00:00
hypnotoad 2d6d821ea4 Patch to add support for higher baud rates under Unix Ticket [e770d92d76]] 2015-06-10 21:53:47 +00:00
Joe Mistachkin 5c4acfb73f The unit for usleep() is microseconds, not milliseconds. 2015-06-08 20:56:50 +00:00
dgp 4c5f334c06 Stop documentation lie about command rename traces and comment lie about
what's done with them in TclOO.
2015-06-08 17:19:09 +00:00
dgp 51bbc67659 Stop telling lie about command delete traces. 2015-06-08 17:17:14 +00:00
Joe Mistachkin 0f3896176d Merge thread test typo fixes from trunk. 2015-06-05 19:59:59 +00:00
Joe Mistachkin 2e30712093 Fix typo in three thread tests. 2015-06-05 19:58:42 +00:00
Joe Mistachkin 9cfa94b1da Add stress test. 2015-06-05 19:56:12 +00:00
Joe Mistachkin 810baa10b8 Merge updates from trunk. 2015-06-04 20:49:11 +00:00
dgp 6f63d23863 [268b23df11] Revised patch to create phony source string when the
original script does not actually contain the command being invoked.
(Example: the tcl::mathfunc::* command invoked via [expr] interpretation)
2015-06-03 19:08:15 +00:00
dgp aef7e0d6d9 Put the ellipsis inside, not outside, the close quote. 2015-06-03 17:40:10 +00:00
dgp 94d9bfa884 [268b23df11] When GetSrcInfoForPc() returns NULL, make sure it also sets
the length to a non-positive value so nothing tries to read offsets from
a NULL pointer.
2015-06-03 12:26:38 +00:00
oehhar 6f959222be Make all msgcat tests pass 2015-06-01 15:16:58 +00:00
oehhar 8f43773d55 clock.tcl modified that all clock tests pass 2015-05-31 19:03:56 +00:00
oehhar b4cd8e5d9c merge trunk 2015-05-31 16:20:06 +00:00
dgp 15c03f09c9 merge trunk 2015-05-28 12:28:48 +00:00
Joe Mistachkin 7f5f2ddc7f Make sure the necessary mutexes are in a well-known state across calls to fork(). 2015-05-28 00:53:33 +00:00
Joe Mistachkin d249a8af5d Fix typo in previous check-in. 2015-05-27 22:34:53 +00:00
Joe Mistachkin e8d057ad67 Make sure the master and mutex locks are in a well-known state across the fork() call. 2015-05-27 22:29:25 +00:00
andreask 450b7aafd0 Make tweak to the mem-debug tracking official. It is now again possible to use regular packages with a mem-debug core without inciting a panic. 2015-05-27 18:35:46 +00:00
andreask a0d647ab06 Make tweak to the mem-debug tracking official. It is now again possible to use regular packages with a mem-debug core without inciting a panic. 2015-05-27 18:25:38 +00:00
dkf 8c32ef71da Added missing marker for incompatibility. 2015-05-26 10:16:24 +00:00
jan.nijtmans 756d989440 Remove useless code, trying to sync win32 environment variables with cygwin's. cygwin1.dll is responsible for doing that. Taken over from cygwin's tcl fork. 2015-05-25 20:23:09 +00:00
jan.nijtmans d93aaadc5e Remove useless code, trying to sync win32 environment variables with cygwin's. cygwin1.dll is responsible for doing that. Taken over from cygwin's tcl fork. 2015-05-25 19:15:25 +00:00
Joe Mistachkin 17420ef9f0 Minor compilation issue fix, make sure variable declaration (via macro) is first. 2015-05-22 23:26:29 +00:00
andreask 907aebaab8 Moved Tcl_Obj* objThreadMap release tracking to a location where regular packages will call through, enabling their full tracking by the core, and thus avoiding the "expected to create new entry for object map" panic seen otherwise. 2015-05-22 20:21:48 +00:00
Joe Mistachkin 967856b8f8 Additional mutex locking/unlocking during fork() to keep things synchronized. 2015-05-21 17:58:49 +00:00
dgp 2ce1ce01c5 Missed a bit 2015-05-20 15:15:46 +00:00
dgp babd0b88a0 [29044ba23f] Remove RANLIB as part of library installation. At best it's
redundant to the RANLIB already done as part of library build.  At worst, it
conflicts with needs of cross-compiling.  Thanks Erik Leunissen.
2015-05-20 15:12:50 +00:00
dgp 0f54d7701d Don't change autoconf version by accident. 2015-05-20 13:45:33 +00:00
dgp bd81f35273 merge trunk 2015-05-20 13:37:21 +00:00
dkf deaa520c80 Simplify code generation for a list of literals. Generates slightly simpler bytecode too. 2015-05-19 20:34:10 +00:00
dkf acdb6bc384 Tidier version. 2015-05-19 20:29:47 +00:00
dgp 6be68f173f Don't cause string rep generation in [list <lit> <lit> ... <lit>] bytecode.
Candidate for merge to trunk to simplify bytecode.
2015-05-19 19:22:48 +00:00
dkf 0ae5b5b3c1 regenerate configure 2015-05-18 20:41:46 +00:00
Joe Mistachkin 0dd03dfef9 First attempt at implementing the necessary auto-magic for usleep. 2015-05-18 20:33:56 +00:00
Joe Mistachkin 2e3d1fac48 Adjust tweaks from the previous check-in to prepare for configure detection of usleep(). 2015-05-18 18:23:29 +00:00
dkf fdf990faf5 [11250a236d] Made the documentation of non-greediness overrides more obvious. 2015-05-18 08:20:43 +00:00
dkf 58f3361635 [c11a51c482] Stop race condition with -accept config option, and allow overriding of it via -headers option. 2015-05-18 07:51:54 +00:00
Joe Mistachkin 282b159f3b Temporary tweaks to allow Thread package tests to pass on Unix. 2015-05-17 23:45:53 +00:00
Joe Mistachkin e403d82b18 This should completely fix the race conditions at the cost of more complexity. Also, on Unix, a more reliable means than Tcl_Sleep() of sleeping for a short time is needed. 2015-05-17 22:13:39 +00:00
Joe Mistachkin c489e47329 Update header file with the TIP number. 2015-05-17 20:13:59 +00:00
Joe Mistachkin a32cc9b49b Fix deadlock. 2015-05-17 20:10:47 +00:00
Joe Mistachkin e3a528bc44 Merge updates from trunk. 2015-05-17 19:49:44 +00:00
Joe Mistachkin 12d28d084d Fix typo in the previous check-in. 2015-05-17 19:46:04 +00:00
Joe Mistachkin fc49271c0a Draft fix for a potential race condition in the new Tcl_MutexUnlockAndFinalize API. Not yet tested. 2015-05-17 18:03:15 +00:00
dkf 8c1c07d4bf [ad6696285c] Correction of description of filter behaviour with 'unknown'. 2015-05-17 12:56:06 +00:00
dkf 4240cb00f0 [ad6696285c] Demonstrate that filters are not called for destructors. 2015-05-17 12:06:31 +00:00
Joe Mistachkin 1a30606518 Reword and clarify the doc changes from the previous check-in. 2015-05-16 06:59:27 +00:00
Joe Mistachkin 99cc729bd2 First draft of the necessary doc changes. 2015-05-16 06:49:00 +00:00
dkf 9d64916f18 [0f42ff7871] Remove unintentional difference between interpreted and compiled [next]. 2015-05-15 14:40:00 +00:00
dkf c9e70a3901 [9dd1bd7a74] Ensure that [self] returns a sensible value in a destructor even when construction didn't complete. 2015-05-15 13:54:52 +00:00
dgp c11a7a6b08 Bump to http 2.8.9 2015-05-14 11:19:27 +00:00
dkf 6135265f5c [6a71dbe6ec] Ensure that compression errors log correctly. 2015-05-14 08:23:52 +00:00
dkf 1913208e18 [b9d0434667] Prefer the gzip encoding for transfers. It's less efficient, but
it is far more interoperable and that's a more important metric.
2015-05-14 08:05:37 +00:00
dgp 73deb43f4f Added contributed tests from aspect 2015-05-12 15:00:16 +00:00
dgp 205345779a merge trunk 2015-05-12 14:45:48 +00:00
dgp 92ce12cc43 test portability 2015-04-30 15:31:42 +00:00
dgp 1754a9a311 Test portability. 2015-04-30 15:31:17 +00:00
dgp 91d8b69074 merge mark 2015-04-29 20:35:05 +00:00
dgp d3e04b3a76 Use joinable threads to avoid thread finalization crashes. 2015-04-29 20:34:26 +00:00
dgp 3b743160f6 [894da183c8] Test and fix for regression in flushing blocked channels. 2015-04-29 18:16:36 +00:00
dgp 09d67aff95 [894da183c8] Test and fix for regression in flushing blocked channels. 2015-04-29 18:00:15 +00:00
dgp 227d96bf13 [894da183c8] Fix and test for bug at the point it was introduced. 2015-04-29 16:34:33 +00:00
venkat fd9d40cb5b Merge tzdata2015d from ietf.org 2015-04-29 07:56:01 +00:00
venkat f108505a5b Update to tzdata2015d from ietf.org 2015-04-29 07:54:51 +00:00
dgp 90b9288358 [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. 2015-04-24 20:17:12 +00:00
dgp 5ecd3fa2b6 [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.
2015-04-24 20:06:27 +00:00
dgp a46cd743dd Fix UtfToUtfProc() to remove the potential to read beyond end of input buffer. 2015-04-24 15:48:56 +00:00
dgp ae445193f4 Fix UtfToUtfProc() to remove the potential to read beyond end of input buffer. 2015-04-24 15:47:58 +00:00
oehhar 459a48dc5c Open linked folder shared on Windows - Patch [19ea026e43] 2015-04-23 12:17:53 +00:00
oehhar 1590eb50c5 Open linked folder shared on Windows - Patch [19ea026e43] 2015-04-23 11:21:41 +00:00
jan.nijtmans c3f11e7741 Fix [8065d178229d8d335eee64d36ada37c4dedf2579|8065d17822]: Duplicate -DNDEBUG in compiler command with --disable-symbols 2015-04-20 10:35:20 +00:00
Miguel Sofer 9f710e45a9 bring in dgp's improvements to zippy 2015-04-17 20:52:12 +00:00
dgp c472223773 Reduce the list walking by keeping lastPtr fields. 2015-04-16 12:27:04 +00:00
dgp 7f030a6b44 Revise the zippy dance that pushes Blocks and Tcl_Objs back the shared pool
so that the overal operation remains a FIFO.  This help preserve cache locality
where it exists.  The price (for now) is a bit more time walking to the end
of free lists.  If this is important, the addition of a lastPtr field could
fix it without difficulty.
2015-04-15 19:57:41 +00:00
jan.nijtmans de7a370d58 Fix [a0a251e4e478977334da51e346cddff8ec3fbf52|a0a251e4e4]: tcl 8.6.4 compilation on windows with msys and VS2013 fails 2015-04-10 09:23:39 +00:00
Joe Mistachkin 63f824a7e9 Add new public Tcl C API to allow a mutex to be unlocked and then finalized atomically. Candidate fix for bug [57945b574a]. 2015-04-09 19:53:39 +00:00
dkf 805cd597f9 Don't warn about warnings that are suppressed correctly now. 2015-04-09 09:27:00 +00:00
dkf 1f2fb4cf5b Squelch otherwise-unavoidable OSX warnings. It's like magic! 2015-04-09 09:20:29 +00:00
Miguel Sofer 3d5869fb4b improve comments for TclMarkTailcall and friends 2015-04-08 19:08:57 +00:00
dgp 6d6afda39d Correction suggested by miguel. Passes test suite and fixes bug demos. 2015-04-08 16:42:33 +00:00
dgp 7fc61f369b Proposed fix. 2015-04-08 14:37:58 +00:00
dkf c6e6569dfe Don't fetch values we don't need. 2015-04-04 11:47:53 +00:00
dgp bc7e4c5d68 There's no need to constrain the declaration of Tcl_GetMemoryInfo(). 2015-03-24 18:27:09 +00:00
dgp cd70770139 Tcl source code already assumes the <limits.h> file is available.
(See tcl/libtommath/tommath.h .)  So dispose of all the configuration
shenanigans pretending we want to support systems that lack one.
2015-03-24 17:34:05 +00:00
Miguel Sofer 63e0947392 fix comments describing tailcall implementation 2015-03-23 16:05:04 +00:00
Miguel Sofer 4ed03a1f4b fix comments describing tailcall implementation 2015-03-23 13:46:08 +00:00
Miguel Sofer ee626d5909 more comments 2015-03-23 13:43:37 +00:00
Miguel Sofer d4166a6b3a updated, improved tailcall comments 2015-03-23 02:11:30 +00:00
Miguel Sofer e325a4742e branch for ordering and grouping the tailcall related code, and especially clean up the comments 2015-03-23 01:01:30 +00:00
Miguel Sofer 2cc11d4918 completing the fix for bug d87cb182053fd79b3 2015-03-23 00:33:07 +00:00
Miguel Sofer 7dbf5ed0b0 adding a test to reveal a problem with the fix of bug d87cb182053fd79b3 2015-03-21 15:08:35 +00:00
dgp 1292a0d927 [d87cb18205] Let compiled ensembles handle tailcalls properly. 2015-03-21 00:31:29 +00:00
dgp 6003e823bf Remove STRICT directive from public header. It does approximately nothing,
and doesn't belong in generic code.
2015-03-20 19:57:13 +00:00
ashok 50426ba9c5 Ticket [e66e444440]. Modified ReadConsoleBytes to handle Ctrl-C / Ctrl-Break
and not return 0 bytes indicating EOF for those cases.
2015-03-19 10:41:28 +00:00
dgp f399206c21 Upon further review, due the order of #include of headers, we do not have
a history of a #define STRICT active when the #include "windows.h" in
tclWinPort.h happens.  Don't want to start something new now.
2015-03-13 17:14:16 +00:00
dgp b2c41c81e4 The STRICT directive influences how #include "windows.h" works.
This is not a generic concern.  Move it over the tclWinPort.h.
2015-03-13 16:55:39 +00:00
dgp 0e5a1e2642 merge release 2015-03-12 14:47:17 +00:00
dgp 74708147ba update changes 2015-03-11 12:30:39 +00:00
dgp b199b80ba8 merge trunk 2015-03-11 12:26:36 +00:00
dgp 226278b0ac merge mark 2015-03-11 12:25:52 +00:00
Kevin Walzer 2c4d707b8f Fix or at least improvement for Tcl/Tk Cocoa event loop by forcing Tcl_ServiceAll() event processing: http://core.tcl.tk/tk/tktview/3028676fffffffffffffffffffffffffffffffff 2015-03-10 14:44:47 +00:00
Kevin Walzer 544df0c1b8 Fix or at least improvement for Tcl/Tk Cocoa event loop by forcing Tcl_ServiceAll() event processing: http://core.tcl.tk/tk/tktview/3028676fffffffffffffffffffffffffffffffff 2015-03-10 14:41:03 +00:00
dgp 8c7378b541 .RS/.RE balance 2015-03-06 19:55:38 +00:00
dgp 4f07b18244 make html must tolerate bundled packages using configure.ac over configure.in. 2015-03-06 19:48:31 +00:00
dgp f396811dd5 product of a make dist 2015-03-06 19:43:42 +00:00
dgp 83f6249875 merge mark 2015-03-06 16:39:07 +00:00
dgp 27503d10cd merge release 2015-03-06 15:26:03 +00:00
dgp 761a093174 repair nroff breakage 2015-03-06 15:06:02 +00:00
dgp 97739f4d09 repair nroff breakage 2015-03-06 14:59:11 +00:00
dgp f14d6cb130 products of "make dist" 2015-03-06 14:38:38 +00:00
dgp 07bc28e627 update release date 2015-03-06 14:17:48 +00:00
dgp 4a22756b41 update changes 2015-03-03 21:29:08 +00:00
dgp 94f2309f51 merge trunk 2015-03-02 22:38:09 +00:00
ashok dfc57be3b1 Deleted Win95/98-specific documentation as those platforms have long been unsupported. 2015-03-02 08:54:14 +00:00
dgp ec9c80bba9 autoconf-2.59 2015-02-26 16:58:52 +00:00
dgp 7e79080ed7 Bump to 8.6.4. 2015-02-26 16:57:59 +00:00
dgp 75e1a82785 update changes 2015-02-24 15:08:02 +00:00
dgp 434f351abc merge 8.5 2015-02-20 20:22:17 +00:00
dgp 8104f5f53d [32b6159246] Accept aspect patch for broken [lreplace] bytecode.
No more [lreplace {1 2 3} 2 0] => 1 2 2 3
2015-02-20 20:19:48 +00:00
dgp b3e2027137 [e08c2c407b] The getHandleProc routine in the Tcl_Channel struct is optional. Update the docs to make that clear. 2015-02-20 19:30:48 +00:00
dgp 28fe834bc3 [e08c2c407b] The getHandleProc routine in the Tcl_Channel struct is
optional.  Update the docs to make that clear.
2015-02-20 19:29:20 +00:00
bch 2919fd5221 per ticket [e08c2c407b053bbfaab] (and stray code related to [84f208762f172e]) adj code to passing test suite 2015-02-19 22:01:36 +00:00
bch e4089d79b3 Do not fault! Tcl_Panic()! - improvements to handling Tcl_CreateChannel() args 2015-02-19 19:19:42 +00:00
bch 87e36a4aa9 backout backwards-incompatible experiment that was accidentally committed 2015-02-19 19:16:37 +00:00
bch 6d6598bbcb sync w/ [trunk] 2015-02-19 18:57:26 +00:00
aspect bb005f26e4 undo erroneous change in [1fa2e32e07] 2015-02-19 06:29:18 +00:00
aspect b8674e42d2 handle [lreplace l x y ...] where y<x 2015-02-19 02:42:13 +00:00
aspect 48650316e3 (core ticket [32b6159246]) Fix for [lreplace l x y] where y<x-1 2015-02-19 02:34:43 +00:00
dgp b1ad5d16a7 merge 8.5 2015-02-12 15:13:32 +00:00
venkat d90a15ace1 merge tzdata2015a from ietf.org 2015-02-11 23:54:00 +00:00
dkf fc506f9ca9 Even clearer failure messages. 2015-02-11 15:56:27 +00:00
dgp 48bab372b9 merge mark 2015-02-11 03:43:22 +00:00
venkat f6b7fa43d6 merge tzdata2015a from ietf.org 2015-02-11 00:19:01 +00:00
bch 4214c7a3a9 inputProc and outputProc tests run conditionally on TCL_READABLE, TCL_WRITABLE mask 2015-02-08 05:04:33 +00:00
bch 02cc7437b2 switch raw assert() to Tcl_Panic() per discussion w/ dkf 2015-02-07 21:19:05 +00:00
bch 9d3e75eb7a merge [trunk] 2015-02-07 21:12:18 +00:00
dgp 4d7ebbdc94 update changes 2015-02-06 19:56:56 +00:00
dgp 22ce6aeb4b merge 8.5 2015-02-05 19:24:27 +00:00
dgp 2fabe1cead Backport of channel mem leak fix that got missed before. 2015-02-05 19:23:35 +00:00
dgp 4b3f548c27 Bump to version 8.5.18. 2015-02-05 18:17:07 +00:00
dgp 3f9555d4c2 Fix [08872796bc] 2015-01-29 18:39:11 +00:00
dgp 8acaf40209 Test for bug [08872796bc]. 2015-01-29 18:36:45 +00:00
dgp 8ee4bdf94d Test for bug [08872796bc]. 2015-01-29 18:34:50 +00:00
dgp 579463bcec Protect against extension variable resolvers that fail to play by the post-Var Reform rules. 2015-01-29 17:48:19 +00:00
dgp 2f36a2d349 Protect against extension variable resolvers that fail to play by
the post-Var Reform rules.
2015-01-29 17:37:59 +00:00
jan.nijtmans 6a233e935b Fix [df08482b042a16007f256bfbaaacfbe0def01074|df08482b04]: Double defined INFINITY in regguts.h 2015-01-26 20:56:01 +00:00
jan.nijtmans 4d5ff6cd13 Fix [df08482b042a16007f256bfbaaacfbe0def01074|df08482b04]: Double defined INFINITY in regguts.h 2015-01-26 20:47:23 +00:00
bch acad581479 truncateProc *can* be NULL 2015-01-21 00:21:18 +00:00
bch 52d37c087d assert() on missing definitions for Tcl_ChannelCreate() required struct Tcl_ChannelType{} fields. 2015-01-20 23:40:23 +00:00
dgp 5e6453d592 merge mark 2015-01-02 22:43:45 +00:00
dgp f16ec6e776 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.
2015-01-02 22:42:12 +00:00
dgp 42c1a1e15a Revert use of the install-headers target. Tcl 8.5 has no such target. 2015-01-02 15:19:23 +00:00
dgp 5cd16427f7 Add two new (undocumented) flags to the Tcl_ExternalToUtf() interface.
TCL_ENCODING_NO_TERMINATE rejects the default behavior of appending a
terminating NUL byte to the produced Utf output.  This permits use of all
of the dstLen bytes provided, and simplifies the buffer size calculations
demanded from callers.  Perhaps some callers need or appreciate this default
behavior, but for Tcl's own main use of encodings - conversions within I/O -
this just gets in the way.
TCL_ENCODING_CHAR_LIMIT lets the caller set a limit on the number of chars
to be output to be enforced by the encoding routines themselves.  Without
this, callers have to check after the fact for going beyond limits and
make multiple encoding calls in a trial and error approach.
Full compatibility is supported.  No defaults are changed, and the flags
have their effect even if an encoding driver has not been written to support
these flags (but greater efficiency is enjoyed if they do!).
All of Tcl's own encoding drivers are updated to support this.  Other encoding
drivers may exist somewhere, but I cannot point to any.
A TIP to document this and make it officially supported may come in time.
2014-12-23 18:39:35 +00:00
dgp 1ddabb17f9 Support TCL_ENCODING_CHAR_LIMIT in TableToUtfProc and EscapeToUtfProc drivers. 2014-12-23 17:53:21 +00:00
dgp a3babfe12a Support TCL_ENCODING_CHAR_LIMIT in the Iso88591ToUtfProc driver. 2014-12-23 17:48:36 +00:00
dgp b6fecacc22 Support TCL_ENCODING_CHAR_LIMIT in the UnicodeToUtfProc driver. 2014-12-23 17:46:05 +00:00
dgp 360b5c41ee Support TCL_ENCODING_CHAR_LIMIT in the UtfToUtfProc driver. 2014-12-23 17:26:07 +00:00
dgp 5a6443d00e Support TCL_ENCODING_CHAR_LIMIT in the BinaryProc driver. 2014-12-23 17:13:13 +00:00
dgp 7134cd9399 Use the new TCL_ENCODING_CHAR_LIMIT flag to have the encoding system manage
the max chars to read constraint.
2014-12-23 16:57:02 +00:00
dgp 1a92fb378c merge trunk 2014-12-23 03:11:01 +00:00
dgp ef6f1ba2c3 Use more suitable variable name pushers. 2014-12-23 02:41:54 +00:00
dgp b0078c8129 Eliminate TclIsLocalScalar(). No callers left. 2014-12-23 02:12:59 +00:00
dgp 49e7d0262b Revise CompileEachloopCmd() to use LocalScalar() in place of TclIsLocalScalar(). 2014-12-23 01:28:30 +00:00
dgp 2cbec4bf44 Convert the LocalScalar*() macros to rest on TclPushVarName rather than on
TclIsLocalScalar().
2014-12-22 20:27:14 +00:00
dgp 7ac39417f1 Use (interp == NULL) argument to TclPushVarName() to signal that no compiling
is desired.  Only a lookup of an index into the compiled variable table.
2014-12-22 20:13:29 +00:00
dgp 3faf4cc3b8 More complete use of the TCL_NO_ELEMENT flag to suppress useless actions. 2014-12-22 19:57:36 +00:00
dgp 9f699d22a2 merge mark 2014-12-22 17:12:50 +00:00
dgp 13667e8096 One more (interp==NULL) shortcut. 2014-12-22 15:35:47 +00:00
dgp 51f7688e96 merge-mark. The compiler machinery has changed too much for any hope for
a successful merge.  TclIsLocalScalar() elimination will need to be done
on trunk as an independent effort.
2014-12-19 17:57:04 +00:00
dgp f6d6b394eb Revise name and interface of new utility routines to match work already
in place on the trunk.
2014-12-19 17:09:32 +00:00
dgp 7e44dabec3 [e711ffb458] Eliminate TclIsLocalScalar() and revise all callers to use
more appropriate facilities.
2014-12-19 16:09:20 +00:00
dgp cfefe7127b New utility routine GetLocalScalarIndex() reduces common caller boilerplate
(and fixes a bug!)
2014-12-19 15:55:21 +00:00
dgp 2613112a13 Use interp==NULL argument to PushVarName to signal that only an index into
the CLT is sought, and no time should be wasted compiling other cases which
the caller is just going to discard.
2014-12-19 15:13:11 +00:00
dgp 18131f9c09 With no callers left, TclIsLocalScalar() is removed. 2014-12-19 14:21:42 +00:00
dgp baf649278a Replace TclIsLocalScalar() with PushVarNameWord() in [dict for] compiler. 2014-12-19 14:17:03 +00:00
dgp 88ec3c9772 Narrow scope of numVars. 2014-12-19 03:31:09 +00:00
dgp ad19550909 A bit more tidying... 2014-12-18 22:25:27 +00:00
dgp aed72bee30 No need for a loopIndex. 2014-12-18 22:13:11 +00:00
dgp f65cb994d8 No need for varvList any more. 2014-12-18 22:00:08 +00:00
dgp 893c9c7302 Fix up the token array passed to PushVarNameWord. Remove string list parse. 2014-12-18 21:29:07 +00:00
dgp 24817641b1 Replace use of TclIsLocalScalar() and late setting of varIndexes with an
earlier setting of varIndexes using PushVarNameWord().
2014-12-18 21:08:53 +00:00
dgp 89e6a65411 Simplify creation and storage of temporaries 2014-12-18 20:38:53 +00:00
dgp f664d633e6 With that shift, varcList is no longer needed. 2014-12-18 20:34:12 +00:00
dgp d56e61b246 Shift the allocation of AuxData earlier in the [foreach] compiler. 2014-12-18 19:21:31 +00:00
dgp 8dd58baa04 merge 8.5 2014-12-18 18:16:10 +00:00
dgp 559113cc4c [7c187a3773] Fix error in managing inStatePtr->inQueueTail value in the
byte-moving optimized path of [chan copy].  Thanks to Benno.
2014-12-18 18:06:51 +00:00
dgp 5dafefe112 [af08e89777] Rework finalization to stop encoding-24.2 segfault. 2014-12-18 14:38:26 +00:00
dgp 955507f635 Rework the *FinalizeThread*() routines so that the quick exit preference
is respected without need to run afoul of encoding finalizations.
tests pass now.  All changes are fully internal.
2014-12-17 20:47:58 +00:00
dgp e942227f6e Revise encoding finalization so that it does a more complete job of restoring
the pre-initialized state.  This makes finalization errors more repeatable
and cross-platform.
2014-12-17 19:57:40 +00:00
oehhar 68b5780dde changes for TIP427 2014-12-17 11:21:16 +00:00
oehhar 3b7664e77f Include option -connecting in test iocmd-8.15.1 2014-12-17 08:42:24 +00:00
oehhar b47b88af9b TIP-427: make "fconfigure $h -connecting" official (client sockets only) 2014-12-17 08:24:33 +00:00
oehhar d7a9d63520 Documented "fconfigure $h -connecting" on socket man page 2014-12-17 08:22:23 +00:00
oehhar f716d8815b Merge trunk 2014-12-17 07:53:41 +00:00
jan.nijtmans 4e0313afe2 85 -> 86 2014-12-15 10:20:39 +00:00
jan.nijtmans d9b30b94b8 merge-mark 2014-12-14 12:13:30 +00:00
Kevin Walzer 2f8ea1be7c Add header install flag to OS X GNUMakefile; thanks to Stephan Houben for patch 2014-12-13 02:50:07 +00:00
Kevin Walzer 59cb45cc16 Add header install flag to OS X GNUMakefile; thanks to Stephan Houben for patch 2014-12-13 02:47:25 +00:00
dgp ee5c231ff5 Similar conversion of the [dict append] compiler. 2014-12-11 16:00:19 +00:00
dgp 604faa265f Similar conversion for [dict update] compiler. 2014-12-11 15:45:16 +00:00
dgp 8e80c62f6f Similar revisions to [dict incr] compiler. 2014-12-11 15:19:38 +00:00
dgp a417c667a5 Get the word number right, even though it has no effect. 2014-12-11 14:41:09 +00:00
dgp 26326004c6 [e711ffb458] Same conversion for [catch] compiler. 2014-12-11 14:40:02 +00:00
venkat 0318c256ed merge tzdata2014j from ietf.org 2014-12-10 00:37:24 +00:00
venkat 704532c57a tzdata2014j from ietf.org 2014-12-10 00:35:37 +00:00
dgp 2d415cbf59 [e711ffb458] Replace TclIsLocalScalar() with PushVarNameWord() in the
compiler for [dict set].
2014-12-09 20:45:30 +00:00
dgp 916f1716f3 [e711ffb458] Replace TclIsLocalScalar() (which does the wrong thing).... with
PushVarNameWord() (which doesn't) in the compiler for [dict lappend].
2014-12-09 20:29:09 +00:00
jan.nijtmans d297273a13 Fix some gcc compiler warnings (probably cygwin-only) 2014-12-08 16:10:00 +00:00
jan.nijtmans b27238fbbb Fix some gcc compiler warnings (probably cygwin-only) 2014-12-08 16:05:19 +00:00
oehhar 7466351c90 test for bug [c6ed4acfd8]: running async socket connect with other connect established will block tcl as it goes in an infinite loop in vwait 2014-12-07 12:17:24 +00:00
ashok 58bde2cb77 Potential fix for [c6ed4acfd8].
Simple typo in original fix for [336441ed59]. Was looping on
statePtr->next instead of statePtr2->next. Would result in
an infinite loop. Definitely a bug but whether it completely
fixes the above in all cases needs to be tested.
2014-12-06 11:19:32 +00:00
dgp 40420634aa Ever since (Tcl)PushVarName() stopped making a recursive call to Tcl_ParseCommand() (in the pre-8.4.0 timeframe), there's been no need for special protections for brace-quoted varname words. A simple word is a simple word is a simple word. 2014-12-05 21:28:00 +00:00
dgp b52476a5cd Ever since (Tcl)PushVarName() stopped making a recursive call to
Tcl_ParseCommand() (in the pre-8.4.0 timeframe), there's been no need
for special protections for brace-quoted varname words.  A simple word
is a simple word is a simple word.
2014-12-05 21:05:17 +00:00
dgp bc8ffb3922 [d2ffcca163] Limit parsing results that are documented to accept only ASCII chars to actually follow that constraint. This requires not trusting isalnum(.) and isalpha(.) to deliver portable identical results. 2014-12-05 12:28:01 +00:00
dgp bfb321eb38 [d2ffcca163] Limit parsing results that are documented to accept only
ASCII chars to actually follow that constraint.  This requires not trusting
isalnum(.) and isalpha(.) to deliver portable identical results.
2014-12-04 22:10:57 +00:00
dgp 5c1b9fefdf Limit isalpha(.) calls in the expr parser to only apply to known ASCII
arguments to make the results portable.
2014-12-04 21:29:18 +00:00
dgp 6d936db4a3 The isalpha(.) calls remaining in the expr parser still bring nonportability.
Commit a test that demonstrates that.
2014-12-04 20:45:11 +00:00
dgp dd4c175c81 Stop using isalnum(.). Its results are not portable. Replace with our
own private routine TclIsBareword() that does exactly what we want.
2014-12-04 18:26:31 +00:00
dgp 29b10229de merge 8.5 2014-12-04 13:02:43 +00:00
dgp bff00baca2 And then another merge mark to finish. 2014-12-03 23:55:39 +00:00
dgp 7dfd9c5a96 Now make the patch by hand that fossil could not merge. 2014-12-03 23:54:16 +00:00
dgp 05971adca4 Just a merge mark since fossil cannot do it right. 2014-12-03 23:51:36 +00:00
dgp 2f3edeea43 [0c043a175] backport fix from trunk. 2014-12-03 23:46:51 +00:00
Miguel Sofer 0c0be35710 missing unset in new test 2014-12-03 23:34:36 +00:00
Miguel Sofer 137e142be2 fix var($) problem, bug [0c043a175] (thx dgp) 2014-12-03 23:27:45 +00:00
Miguel Sofer 8694763c10 test and fix (thx dgp) 2014-12-03 23:17:16 +00:00
dkf 58cd08bb7d [0dca3bfa8f] Strengthen validity checks on fast-path string comparison. 2014-12-03 23:05:15 +00:00
Miguel Sofer 730a9a132c adding a test for the bug 2014-12-03 13:22:53 +00:00
andreask d7cf041bab Fix missing export of the "NewForeachInfoType" AuxData structure for tbcload/tclcompiler packages. 2014-12-01 20:17:04 +00:00
dgp 03f0d60f88 Same issue in expr parser also tested and fixed. 2014-11-26 17:00:55 +00:00
dgp 92402afe21 I like this patch better. Retain the byte orientation of the parser. 2014-11-26 16:22:40 +00:00
dgp d9465a5be2 One way to fix the parser of $-substitution accepting non-ASCII varnames. 2014-11-25 21:24:06 +00:00
dgp 52bcb866e5 merge trunk 2014-11-24 03:11:23 +00:00
dgp 7f5ddf43ee [e087812465] Trim back operatorStrings array to just the entries that are needed. Trims away the part of the array that was out of sync with the opcodes. 2014-11-24 03:08:50 +00:00
dgp 484de8b987 [e087812465] Trim back operatorStrings array to just the entries that are
needed.  Trims away the part of the array that was out of sync with the opcodes.
2014-11-24 03:00:03 +00:00
jan.nijtmans 2b3e403550 Fix [743338466549f09e3956d8a86e6f9a8030f227cb|7433384665]: socket error encoding bug. 2014-11-21 13:05:31 +00:00
dgp fa8d5668aa merge trunk 2014-11-17 13:00:42 +00:00
dgp 24d57ad4ff Add to Tcl_ExternalToUtf() a capability to impose a limit on the number
of chars produce in the encoding result.  When the flag
TCL_ENCODING_CHAR_LIMIT is set and dstCharsPtr is not NULL, then the
initial value of *dstCharsPtr is taken as the max number of chars to produce.
The limit is imposed in a way that does not require the assistance of the
encoding's driver procs, but the flag is passed on to them in case they
can do better when they know they should.  No callers updated yet.
No drivers updated yet.

One difficulty is that this necessarily imposes a pre-translation limit,
and the I/O system has a history of wanting to impose only a post-translation
limit.
2014-11-15 21:46:19 +00:00
dgp 3185389da2 With no padding needed for a terminating NUL, there no need for a distinction
between the dstNeeded and dstLimit values.
2014-11-15 21:13:52 +00:00
dgp 164250cf86 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.
2014-11-15 21:08:57 +00:00
jan.nijtmans 9c2149012b Remove a number of eol-spaces. No change in functionality. 2014-11-14 09:44:34 +00:00
jan.nijtmans 6e056b1e14 Simplify NativeIsComPort() implementation: native paths never end in ':', and never use forward slashes (any more), so no need to check for that. 2014-11-13 16:08:47 +00:00
jan.nijtmans 99ee3e86d7 Improve documentation on the use of com ports (remove references to Windows 95, deprecate the use of postfix ':').
Allow lpt[5-9] just as com[5-9], and make sure that path normalization works as expected for ports > 4.
2014-11-13 12:52:29 +00:00
jan.nijtmans 3bbc2317b3 Improve documentation on the use of com ports (remove references to Windows 95, deprecate the use of postfix ':').
Allow lpt[5-9] just as com[5-9], and make sure that path normalization works as expected for ports > 4.
2014-11-13 12:29:04 +00:00
dgp 7d10d699c7 merge release 2014-11-12 04:35:37 +00:00
dgp 620cf6fa02 Likely fix for channel mem leaks. 2014-11-11 22:23:57 +00:00
dkf 98e4ac55d2 [214cc0eb22] Add tests to make sure that this bug stays fixed. 2014-11-08 07:06:52 +00:00
dgp eb64ed3cf0 Correct -singleproc 1 testing flaws. 2014-11-07 17:48:31 +00:00
dgp 5e0d1d6bc5 update changes; more test suite polishing. 2014-11-07 14:10:23 +00:00
dgp 7565b9ff1e Make sure all uses of the [testbytestring] command are constrained. 2014-11-07 13:59:27 +00:00
andreask 10dc783c93 Merged latest trunk work (especially changes to eof handling) into the RC. 2014-11-06 18:38:36 +00:00
dgp 0c027bb706 cleanup global namespace litter 2014-11-06 17:34:40 +00:00
dgp c658976cc3 [5adc350683] Stop Tcl forcing EOF condition on channels to be permanent. It may be fleeting, and all parts of Tcl channel ecosystem have to deal with that. New assertions and tests to keep us on track. 2014-11-06 16:34:03 +00:00
dgp 1db5ff8c2c [5adc350683] Stop Tcl forcing EOF condition on channels to be permanent.
It may be fleeting, and all parts of Tcl channel ecosystem have to deal
with that.  New assertions and tests to keep us on track.
2014-11-06 16:24:02 +00:00
dgp fbba7d0b1e merge iogt fixes. 2014-11-06 16:20:44 +00:00
dgp 559b8ab9de Also test transfroms that delay. 2014-11-06 16:12:26 +00:00
dgp 60ef43cb8c fix failing test 2014-11-06 15:49:30 +00:00
dgp 5c6717b7d5 New test iogt-7.0 demos bug in [testchannel transform]. 2014-11-06 15:06:52 +00:00
dgp 2f8dae1cec Another test checking that handling when transform returns nothing is right. 2014-11-06 14:52:36 +00:00
dgp dac552ac0b New tests iortrans-4.11* demonstrate what was wrong with the "leaky EOF flag"
approach in 8.6.1 and earlier.  If each level of the channel stack is to have
control over its EOF independently, we have to provide for that, even though
the Filesystem read APIs make it a big pain.  Also test robustness against
varing buffer sizes.
2014-11-06 13:38:01 +00:00
dgp 53ae611583 Reflected Transform channel fix. Be sure each EOF on the base channel gets
passed up to become an eof of the transform before continuing on to additional
ReadRaw() from the base channel.  This way we don't miss fleeting EOFs.
2014-11-05 20:34:03 +00:00
dgp 57de194b09 New test iortrans-4.10 to demo failure of channel transformation to handle
fleeting EOF in the base channel.  Falls into infinite block.  Regression
compared with Tcl 8.6.1.
2014-11-05 16:47:00 +00:00
dgp 5204910c12 merge trunk 2014-11-05 16:39:16 +00:00
dgp 71d27bd9c6 [214cc0eb22] Restore [lappend $var] return value to the 8.6.1- behavior.
If this is going to change, lets not do it by accident.
2014-11-05 06:36:07 +00:00
dgp 3fa4ffc77a Make sure reflected channels do not make a double call to Tcl_ReadRaw(),
with the unwarranted assumption that EOF is a permanent condition.
2014-11-03 21:37:37 +00:00
dgp d2b69b306e 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.
2014-11-03 21:04:24 +00:00
dgp db9946ccc3 merge 8.5 2014-11-03 20:54:12 +00:00
dgp cb0895755d [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.
2014-11-03 20:39:25 +00:00
jan.nijtmans b14c2f49d2 Add test-case for previous commit, which shows that when trying to open a filename with invalid characters gives the right error-message. (same bug existed on UNIX too, which is now fixed) 2014-11-03 12:54:25 +00:00
jan.nijtmans 48ab03f3cd Add test-case for previous commit, which shows that when trying to open a filename with invalid characters gives the right error-message. (same bug existed on UNIX too, which is now fixed) 2014-11-03 12:44:55 +00:00
jan.nijtmans de82a1a99e Better errormessage when file path contains invalid characters. 2014-11-03 10:23:06 +00:00
jan.nijtmans 7ec17e20d3 Better errormessage when file path contains invalid characters. See: [03414f517b7a74]. 2014-11-03 10:14:48 +00:00
dgp d95273cf0e Disable assertion until tls bug it detects is fixed. 2014-11-01 14:52:55 +00:00
jan.nijtmans f87735c127 Extend WinIsReserved() to recognize COM[5-9]: as valid com ports as well. Prevent possible buffer-overflow if COM name ends with ':'. 2014-10-31 11:14:24 +00:00
jan.nijtmans 1e769e4b57 Extend WinIsReserved() to recognize COM[5-9]: as valid com ports as well. 2014-10-31 10:57:25 +00:00
jan.nijtmans a8dc863399 When translating a reserved devicename to native pathname, strip ':' postfix. Possible fix for [dcc03414f5], but anyway a good idea. 2014-10-31 10:20:03 +00:00
jan.nijtmans 476a68cbe5 When translating a reserved devicename to native pathname, strip ':' postfix. Possible fix for [dcc03414f5], but anyway a good idea. 2014-10-31 09:59:36 +00:00
dgp 54d2883694 Base test for [5adc350683]. 2014-10-29 14:54:11 +00:00
dgp 5a9b116846 merge 8.5 2014-10-29 13:49:46 +00:00
dgp df4391e23f 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.
2014-10-28 20:10:32 +00:00
dgp 717a98747d merge trunk 2014-10-28 13:06:56 +00:00
jan.nijtmans 915359ddce Support for Windows 10 2014-10-26 07:53:23 +00:00
jan.nijtmans 999c88ea06 Support for Windows 10 2014-10-26 07:51:22 +00:00
dgp 790fed46bb merge mark 2014-10-24 20:10:39 +00:00
dgp da01ebeabe merge release 2014-10-24 20:07:52 +00:00
dgp 91d5ac9d0b by request 2014-10-22 14:46:33 +00:00
dgp adff5bc1c6 merge trunk 2014-10-18 22:43:06 +00:00
dgp eee56ee95a update changes 2014-10-18 20:11:36 +00:00
dgp 9cf7e2a336 merge 8.5 2014-10-18 20:06:02 +00:00
dgp 93082a74a2 [10dc6daa37] New fix for [gets] on non-blocking channel. This time properly accounts for the effects of ENCODING_LINESIZE. 2014-10-18 20:03:08 +00:00
dgp 9f2c3815f7 [10dc6daa37] New fix for [gets] on non-blocking channel. This time
properly accounts for the effects of ENCODING_LINESIZE.
2014-10-18 19:50:19 +00:00
dgp 592ab670f3 [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.
2014-10-17 15:20:34 +00:00
oehhar c0e8db49d5 fconfigure -peername and -sockname return empty string while async connect running. 2014-10-17 12:52:15 +00:00
oehhar d7604e5728 New tests: 14.16: -peername empty while async connect running, 14.17: -sockname 2014-10-17 12:28:55 +00:00
oehhar 8e5b3b87a5 Merge trunk 2014-10-17 10:00:39 +00:00
dgp d31d858702 Bump to Tcl 8.6.3, TclOO 1.0.3, and update changes file. 2014-10-14 18:12:36 +00:00
dgp 1234267c92 missed a bump 2014-10-13 17:34:12 +00:00
dgp 59491ce8ca update changes file 2014-10-13 17:15:55 +00:00
dgp ef89704696 Resolve test conflicts over global vars 2014-10-10 20:37:58 +00:00
dgp 1ce240e90f Bump to 8.5.17 2014-10-10 20:17:12 +00:00
dgp c132978e4b merge mark 2014-10-10 20:02:40 +00:00
dgp 59f2031ac5 backport those tests that can be 2014-10-10 20:02:00 +00:00
dgp f85490f4e1 [bf7135428c] Restore the Tcl_Write() return value logic. 2014-10-10 19:56:06 +00:00
dgp c2be2a28e0 [bf7135428c] Restore the Tcl_Write() return value logic. 2014-10-10 19:54:19 +00:00
dgp 4977df535f [ed29c4da21] Completed fix for [chan copy] handling [chan blocked]. 2014-10-10 19:44:54 +00:00
ferrieux 182bace1e3 Add Colin's test for coro floor above street level [Bug #3008307] 2014-10-10 19:36:17 +00:00
dgp 1f33c7ae12 Another test so both DoRead and MBRead are covered. 2014-10-10 19:02:37 +00:00
dgp 78c2c1cedf [ed29c4da21] Merge patch from 8.5, still not a complete fix. 2014-10-10 18:28:31 +00:00
dgp 186ecf8003 [ed29c4da21] Don't let BLOCKED state get converted into a channel error. 2014-10-10 18:24:32 +00:00
dgp 56c0b11912 New test io-53.15 for [ed29c4da21]. 2014-10-10 16:13:53 +00:00
dgp 1df1505d69 New test io-53.15 for [ed29c4da21]. 2014-10-10 15:38:15 +00:00
dgp 1a08ae6fb4 [2039178] Remove false claims about TCL_INTERP_DESTROYED flag bit in command traces. 2014-10-09 14:56:27 +00:00
dgp 891a0ade43 [2039178] Remove false claims about TCL_INTERP_DESTROYED flag bit in command traces. 2014-10-09 14:52:48 +00:00
jan.nijtmans 29d06499aa Fix [59a2e78e54d3361c33b8cd6eef55d384d8abecd7|59a2e78e54] : tclWinTime.c does not compile with MSVC14.
Eliminate use of __MINGW32__ macro everywhere, as it is deprecated.
2014-10-08 07:11:53 +00:00
jan.nijtmans ea97de415f Fix [59a2e78e54d3361c33b8cd6eef55d384d8abecd7|59a2e78e54] : tclWinTime.c does not compile with MSVC14.
Eliminate use of __MINGW32__ macro everywhare, as it is deprecated.
2014-10-08 07:02:34 +00:00
dgp b327c90dcc fix [bc1a96407a] 2014-10-03 20:20:12 +00:00
dgp cd1372b52d test cases 2014-10-03 15:47:38 +00:00
dgp 3b4cf982e3 Possible fix for testing. 2014-10-02 21:40:13 +00:00
dgp 7c4da917a7 [bc1a96407a] Partial solution should avoid crash, but may lead to wrong behavior. 2014-10-02 17:43:16 +00:00
dgp e36d384130 [bc5b790099] Improper calculation of new dstLimit value. New test io-12.7. 2014-10-02 14:46:54 +00:00
dgp 5e53c4c296 [bc5b790099] Improper calculation of new dstLimit value. New test io-12.7. 2014-10-02 14:43:10 +00:00
Miguel Sofer 78fcaa3580 Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]
The "optimisation" in that commit assumes that the last byte in the
generated bytecodes is an INST_TRY_CONVERT if it equals 64. This is an
invalid assumption, it could be 64 and not be an instruction.
2014-09-27 21:36:06 +00:00
ferrieux 11db57d058 Applied patch by Andreas Leitgeb so that [string cat]'s compiled bytecode optimally groups args by 255 for INSTR_STR_CONCAT1. 2014-09-27 20:28:47 +00:00
oehhar 822a2b50f7 Implemented tip-427: socket fconfigure option -connecting plus no -peername,-sockname when still connecting. 2014-09-26 12:05:30 +00:00
dgp fc21aee814 comment fix 2014-09-25 18:47:32 +00:00
dkf d06897f3ea Added a script-readable bytecode disassembler in tcl::unsupported. 2014-09-20 12:37:19 +00:00
dkf 1598658a83 Tidy things up a bit more. 2014-09-20 11:40:35 +00:00
jan.nijtmans 192fa71096 merge-mark 2014-09-17 10:47:21 +00:00
stwo 76db7c5c04 Better pic flag for OpenBSD. 2014-09-16 15:52:44 +00:00
stwo 85f3786d9c Better pic flag for OpenBSD. 2014-09-16 15:48:48 +00:00
dkf 5e0835667d whitespace tweak 2014-09-14 17:11:33 +00:00
dkf 26fe5fff38 merge trunk 2014-09-14 16:51:49 +00:00
dgp d75135cca1 [cee90e4e88] Correct error in stack depth checking. 2014-09-10 22:17:21 +00:00
dkf a5dd225e78 [2486824] Improve error message; not all that upvars is an upvar. 2014-09-10 08:24:59 +00:00
dkf 5f9519213f [2486824] Improve error message; not all that upvars is an upvar. 2014-09-10 08:20:46 +00:00
dkf 7bce68fe3b [84af1192f5]: [regsub] compiler no longer confused by quantification handling. 2014-09-09 19:49:08 +00:00
ferrieux 600ace1c4b Refine TclFinalizeThreadData so that the quick-exit optimization really only affects exit. 2014-09-08 22:50:11 +00:00
dgp 62004c9fb4 Exceptional handling of oo::class has to be consistent throughout. 2014-09-08 21:22:05 +00:00
stwo 976c48a7f1 Change one '#ifdef' to '#if defined()' for improved consistency within the file,
as in checkin [211aa43013].
2014-09-08 00:37:22 +00:00
dgp a3b501f125 Remove unused macros. 2014-09-05 19:04:43 +00:00
dgp 13d8cae724 Make corrections to long-false comments. 2014-09-05 18:30:57 +00:00
dkf 303cced03d [ccc2c2cc98]: lreplace edge case 2014-09-05 10:05:05 +00:00
dgp 3f8809d6ec 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.
2014-09-04 22:05:21 +00:00
ferrieux b47df5123e Distinguish hanging from crashing in exit tests. 2014-09-03 19:44:29 +00:00
ashok 996c102b1f [132fad6fde]. Fixed GetCache to use TclpSysAlloc+memset instead
of calloc. Now consistent with tclWinThrd.c which no longer
uses malloc in its TclpSysAlloc implementation.
2014-09-03 15:48:56 +00:00
ferrieux a024a52335 Refrain from calling TclFinalizeThreadData() in quick-exit case as it is useless (just memory freeing). Superficially fixes [Bug 132fad6f]; that bug is still exerciseable thanks to recent additions to the test suite that exercise full finalization. 2014-09-02 22:00:03 +00:00
ferrieux 2e4f40528b Add test cases in very first position for hang-on-exit, both in (normal) quick-exit and TCL_FINALIZE_ON_EXIT=1 modes. 2014-09-02 21:57:20 +00:00
jan.nijtmans 8964b0101f Combine TCL_SHLIB_LD_EXTRAS+TK_SHLIB_LD_EXTRAS (for Cygwin and FreeBSD) to a single SHLIB_LD_LIBS usable for both Tcl and Tk 2014-09-01 08:17:49 +00:00
jan.nijtmans 6d02d4e9dc Combine TCL_SHLIB_LD_EXTRAS+TK_SHLIB_LD_EXTRAS (for Cygwin and FreeBSD) to a single SHLIB_LD_LIBS usable for both Tcl and Tk. 2014-09-01 08:11:52 +00:00
dkf 2e512ffbe8 merge trunk 2014-08-30 08:30:00 +00:00
dgp 6e00c594ea Use TclpSys* macros, not direct system calls. 2014-08-29 17:33:06 +00:00
dkf 77e18bafa5 [b9e1a3032e] Implement the documented method search order for TclOO.
This corrects the relative positions of object-defined methods and class mixins.
2014-08-28 07:53:24 +00:00
dgp bcdc8e8a6d merge release 2014-08-27 20:34:04 +00:00
dgp 7cd4eb1657 merge trunk; update changes 2014-08-25 21:43:21 +00:00
dgp a562752936 TIP 429 implementation. New command [string cat]. 2014-08-25 21:37:58 +00:00
dgp 46346effdc merge-mark 2014-08-25 15:40:01 +00:00
dgp 6c10f6324b merge release 2014-08-25 15:36:16 +00:00
dgp ae0f801eaf Do not let fossil README droppings leak into distribuion 2014-08-25 13:51:31 +00:00
dgp a9c6d78680 make dist allowed README-* fossil droppings to leak into the distribution. 2014-08-25 13:31:10 +00:00
dgp dbacb46d52 Bump to zlib 2.0.1. 2014-08-22 22:11:13 +00:00
dgp 7ab1ebdc32 Bump to TclOO 1.0.2 2014-08-22 21:52:37 +00:00
dgp 3ca10397cf merge trunk; stamp release date. 2014-08-22 17:28:46 +00:00
dgp 13e336e4cd merge 8.5; fix notifier mask bug and Tcl_Read performance regression 2014-08-22 13:48:50 +00:00
dgp 80604a93c1 merge 8.5; stamp release date 2014-08-22 13:44:23 +00:00
dgp aa8f4d27ac Correct performance regression in a series of short binary reads from a
socket.  Many thanks to Eric Boudaillier for the report and testing support.
2014-08-22 13:23:04 +00:00
dgp b08dc28c80 Same results; simpler logic. 2014-08-22 13:20:21 +00:00
dgp 92f9aca55f 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.
2014-08-21 23:07:34 +00:00
andreask ce04ed5ad3 Fix reviewed and accepted. 2014-08-20 18:59:31 +00:00
dgp eda831ff7e Make test io-36.1.1 more portable. 2014-08-20 18:40:07 +00:00
dgp bc9dca8ca6 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.
2014-08-20 17:50:41 +00:00
dgp f8a968fdb8 Additions to changes. 2014-08-20 14:28:36 +00:00
jan.nijtmans 72fee4f1c7 [74e073599e5e7c5eb535e2f60f1b06feb468eaae|74e073599e]: tclsh is using old style dialogs when Tk is loaded on Windows 2014-08-20 11:23:09 +00:00
jan.nijtmans 71f6f450b2 [74e073599e5e7c5eb535e2f60f1b06feb468eaae|74e073599e]: tclsh is using old style dialogs when Tk is loaded on Windows 2014-08-20 11:13:29 +00:00
ferrieux f2225b9dc1 merge trunk 2014-08-19 20:35:16 +00:00
dgp 344b547cd4 Update changes file. 2014-08-19 18:34:09 +00:00
dgp 60125626dc merge trunk 2014-08-19 13:39:19 +00:00
dgp 36c74f5033 Improved credit 2014-08-18 13:28:58 +00:00
dkf 02b159d09e [7d52e1101b] oo::object should know that oo::class is a subclass. 2014-08-17 15:23:49 +00:00
dgp d5113635d3 Reconcile changes file with 8.6.1. 2014-08-14 16:48:08 +00:00
dgp 7cfbfdffd3 merge 8.5 2014-08-14 16:36:44 +00:00
jan.nijtmans a0e133cb07 Put back SystemV timezone files, which were removed in previous commit. Don't know if that was by accident, but seems unwise in a Tcl patch release. 2014-08-13 09:06:09 +00:00
jan.nijtmans e4a9f37030 Put back SystemV timezone files, which were removed in previous commit. Don't know if that was by accident, but seems unwise in a Tcl patch release. 2014-08-13 09:04:55 +00:00
dgp 459724f70a merge 8.5, update changes 2014-08-13 02:54:31 +00:00
Kevin B Kenny 7f8321b616 merge tzdata2014f from ietf.org 2014-08-13 01:45:39 +00:00
Kevin B Kenny ac5fa7c959 tzdata2014f from ietf.org 2014-08-13 01:42:17 +00:00
dgp 8c3d28816c Update changes file 2014-08-12 21:41:29 +00:00
dgp 13828f74ee merge 8.5 2014-08-12 15:51:06 +00:00
dgp 822b0d469e merge trunk 2014-08-12 15:47:20 +00:00
dgp 8755613114 merge-mark. Do not accommodate udp bugs in Tcl 8.6.2. 2014-08-12 15:46:20 +00:00
dgp c93483448e 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.
2014-08-12 15:28:09 +00:00
andreask 582c164dc3 Fixed type conversion warnings which break a Win32 debug build (MSVC). 2014-08-06 18:20:56 +00:00
ferrieux 91b9c5690e Fix comment inaccuracy. 2014-08-05 22:10:58 +00:00
ferrieux d544f36344 More aggressive constant folding in [string cat]. Thanks AndreasK for kicking. 2014-08-05 18:20:48 +00:00
ferrieux 796e087b9c Better organize [string cat] by chunks of 255 args. 2014-08-05 11:29:16 +00:00
ferrieux 76e87312ed Add constant folding to [string cat]. Mixed-quote idiom is now compiled to a single push. 2014-08-05 10:34:10 +00:00
ferrieux 5863c1e1b9 More optimized non-BC [string cat] using Tcl_AppendObjToObj() - thx Donal 2014-08-05 09:55:54 +00:00
ferrieux 50f00c62f2 Hum. Really merge trunk. 2014-08-04 14:06:13 +00:00
ferrieux 2918630e90 merge trunk 2014-08-04 14:02:53 +00:00
dgp 00ee522067 merge trunk 2014-08-04 13:37:22 +00:00
dgp 87724ab09f Add tclsh.exe.manifest.in to the distribution 2014-08-04 13:36:57 +00:00
dgp 43aaaf34e5 merge 8.5 2014-08-04 13:35:47 +00:00
dgp 67fcf44a82 Add tclsh.exe.manifest.in to the distribution. 2014-08-04 13:35:06 +00:00
dkf 239374cbb8 Tidy up the docs 2014-08-03 22:43:42 +00:00
Kevin B Kenny aa2667b729 merge trunk 2014-08-02 19:20:06 +00:00
ferrieux 25860d9071 Don't use [pid] in tests, stick to constant literals. 2014-08-02 15:26:46 +00:00
ferrieux 1cecac9cad TIP 429 Implementation: [string cat] 2014-08-02 13:04:16 +00:00
dgp 23b2b428b6 merge trunk 2014-08-02 04:38:36 +00:00
dgp 9c45b517dc Another Preserve/Release on channels is needed during IO finalization. 2014-08-02 04:36:39 +00:00
dgp f70b625cf3 merge 8.5 2014-08-02 04:29:41 +00:00
dgp 592bd0b065 Another Preserve/Release on channels is needed during IO finalization. 2014-08-02 04:25:27 +00:00
dgp f4f511dbae merge 8.5 2014-08-02 00:06:21 +00:00
andreask a3cfa0d708 Addition of a cast in tclWinFile.c to match types in a comparison, and
fix of a TRACE string literal in tclExecute.c with a bogus escape. Both
would otherwise bug a Windows debug build (where warnings are errors).
2014-08-01 20:07:40 +00:00
andreask 6563197fa8 Updated package "platform" to version 1.0.13. Separated the
identifiers "macosx*-i386-x86_64" and "macosx-universal" as
incompatible with each other.
2014-08-01 19:50:11 +00:00
dgp 08c2327777 merge-mark 2014-08-01 19:29:20 +00:00
andreask 0b7630c23f 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).
2014-08-01 18:36:50 +00:00
dgp b425d2c241 merge trunk 2014-08-01 17:18:21 +00:00
dgp bd2e4fe97f merge 8.5 2014-08-01 17:17:24 +00:00
dgp bed95cfaf7 Backport the cheaper Preserve/Release on channels. 2014-08-01 17:16:35 +00:00
dgp a745e85067 [e75fabac06] Teardown line information after failed ensemble subcommand
compile attempts.  Copy/paste from CompileCmdCompileProc().  May be
refactor opportunity here.
2014-08-01 16:01:30 +00:00
dgp 232336fbee Correction and commentary in the details of ensemble compiling. 2014-08-01 14:36:30 +00:00
jan.nijtmans c62d8b25aa Fix part of [d19aef1487] (broken --disable-load on MacOSX), broken by [4d417791c9] 2014-07-31 21:23:45 +00:00
dgp 179c36fd48 merge trunk 2014-07-31 20:00:40 +00:00
dgp 5191ece516 [a84a720966] Protect against double free in TclOO classChainCache teardown. 2014-07-31 19:58:53 +00:00
dgp f1e1a92d13 merge trunk 2014-07-31 15:49:44 +00:00
dgp 6c55284908 [3757cdf808] More clock refactoring with spooky impact on [string match]
performance.
2014-07-30 16:41:24 +00:00
dgp fd5a54c8dd Complete transformation off Tcl_Preserve() legacy onto ref counting. 2014-07-30 02:58:27 +00:00
dgp d9ab63098e Reduce the cost of Preserve/Release on channels 2014-07-30 00:22:33 +00:00
dgp 2cbe892d48 [3757cdf808] Refactoring seems to reduce (maybe somewhat kinda sorta) a
bizarre performance regression.  Still not what it was.  Damn Heisenbugs.
2014-07-29 00:22:32 +00:00
dgp cfb0ea03ec Bump to 8.6.2 for release. 2014-07-28 14:50:06 +00:00
dgp 5ec61dacf7 merge 8.5 2014-07-28 12:53:19 +00:00
dgp c6eb718dfd An alternative implementation of [chan copy] that operates in precisely
those circumstances where the incumbent implementation is known to perform
a byte-for-byte copy from input channel to output channel.

In that case, the new implementation ceases the activity of copying every
byte from buffer to buffer to buffer to buffer to effect the copy.  Instead
it arranges for the very same buffer the input channel read driver read into
to be the buffer the output channel write driver writes out from.  No data
copying (or even examining) at all.  When the proper conditions apply, this
ought to be noticeably faster.
2014-07-28 02:06:53 +00:00
dgp a1bd6bc434 merge trunk 2014-07-28 01:53:01 +00:00
dgp 51be2107ea Revise MBRead() to be used in both sync and async modes. 2014-07-28 01:42:42 +00:00
dgp cf106cdda6 Push MBWrite() differences out to callers. 2014-07-27 22:53:01 +00:00
jan.nijtmans e98326383b merge-mark 2014-07-27 22:47:48 +00:00
jan.nijtmans 1db9d005b6 correct EOLFIX macro, broken by [a803608ed5] 2014-07-27 22:44:36 +00:00
dgp 3eb6318d9b Rework MBWrite() so it can be used in both sync and async modes.
Reduce code duplication.
2014-07-27 17:20:32 +00:00
dgp 19d6bd367d Use common MBError() routine for sync and async operations. 2014-07-26 15:44:32 +00:00
dgp 7f4563705c Extend the "move buffer" implementation to cover the async case. 2014-07-26 15:02:09 +00:00
dgp b627af851c merge trunk 2014-07-24 17:19:28 +00:00
dgp ef647d7ccd [9d19af7adb] Make sure all timer events get canceled. 2014-07-24 17:17:41 +00:00
dgp 0a9367fbc9 simplify moveBytes selection logic 2014-07-24 15:34:05 +00:00
dgp 841ecebfa5 Make sure MoveBytes error reporting reproduces what CopyData does. Bugward compatibility! 2014-07-24 15:24:11 +00:00
dgp b3bdbd342b merge trunk 2014-07-24 15:17:55 +00:00
dgp bfe912517c Test format of write error messages during binary [chan copy] 2014-07-24 15:17:19 +00:00
dgp 97d74c549d Make sure MoveBytes records read error messages. 2014-07-24 15:02:09 +00:00
dgp 595290e064 merge trunk 2014-07-24 15:01:16 +00:00
dgp 631849ea86 Test read error during binary [chan copy]. 2014-07-24 15:00:07 +00:00
dgp 213c040089 Extend the buffer move optimization to the "same encodings" case. 2014-07-23 17:10:26 +00:00
dgp 0bc839ec64 Revert the EOLFIX changes of checkin [a803608ed5] (2013-10-28).
They do not work on the one machine where they must -- the release managers!
Appears that the NATIVE_TCLSH support isn't found on the 8.5 branch, so we
shouldn't expect to use it.
2014-07-23 13:10:34 +00:00
dgp 72c15c0c4e Bump to 8.5.16 for release. 2014-07-23 12:26:21 +00:00
dgp df7b610caf merge trunk 2014-07-22 20:27:59 +00:00
dgp 2ad2aba317 Workaround [info frame] troubles with -singleproc 1 testing operations. 2014-07-22 19:57:51 +00:00
dgp 5eaa219754 Avoid [thread::exit]; Using it leads to memleaks. 2014-07-22 18:12:27 +00:00
dgp 2c10c359b5 [12b0997ce7] Plug memleak in iocmd.tf-32.0 . 2014-07-22 17:04:15 +00:00
dgp bfab4c718b [12b0997ce7] Plug memleak in iocmd.tf-32.0 . 2014-07-22 16:44:38 +00:00
dgp d19b7190cb [e6477e1b0f] Plug memleak in AtForkChild() detected in iocmd-11.4. 2014-07-21 14:26:56 +00:00
dgp 97d610fbfe [75b8433707] Revised fix for memleak in oo instance list management. 2014-07-19 16:35:59 +00:00
dkf 4e4b5a7e53 [75b8433707] Plug a subtle memory leak in TclOO.
Test suite very unhappy with this.  Shoving into
a mistake branch until that's sorted.
2014-07-18 22:05:16 +00:00
dkf 6cd3ffa246 [b43f2b49f7] New compilation strategy for lappend that allows multi-value
lappend to not have quadratic performance (through better reference management).
2014-07-18 12:18:44 +00:00
jan.nijtmans d2d54ff3de Finally, use correct octal notation which works in Tcl 9 as well. 2014-07-17 18:43:55 +00:00
jan.nijtmans eaf423b505 merge fork 2014-07-17 17:52:27 +00:00
dgp f345a78f27 Revised fix for memleak in [info frame]. Still pretty ugly, but not more
so than a lot of TIP 280 machinery.
2014-07-17 15:48:59 +00:00
jan.nijtmans 5203cce0e0 Convert TesteventloopCmd and TestchmodCmd to Tcl_Obj-API form. 2014-07-17 15:15:28 +00:00
jan.nijtmans f07fe1c911 Make sure that all "testchmod" arguments start with '0', making it more obvious that the value is octal.
dgp: Isn't the better way to make it obvious the values
are octal to use the explicit octal notation?

For example, [testchmod 0o777 $path] ?

Really seems like a bad idea to me to introduce *more*
incompatibilities for the planned conversion for 
having the value 0777 stop meaning 255 and start
meaning 777 in Tcl 9.

Answer (Jan). You guessed exactly what's my follow-up plan. This was an intermediate step which keeps all test-cases running.
2014-07-17 14:08:30 +00:00
jan.nijtmans 7571df843a Fix [3cdcfa40809ffd2b9d3d71f77dc57da615243730|3cdcfa4080]: tclWinFile.c does not compile with Win VC6 2014-07-17 11:02:03 +00:00
jan.nijtmans f7c255fa17 Convert some non-ASCII characters in testcase comments - which were mangled by my editor in [79ace7b793] - to valid UTF-8: This way my editor will not mangle them again, and fossil will show in the UI which characters are supposed to be there. 2014-07-17 07:39:00 +00:00
dgp 07d1de7a4f [9969cf8ca6] Move the bailout when the ->rewind flag is set down after all
the housekeeping matters tearing down frames (trace data) is complete.
2014-07-17 04:24:23 +00:00
dgp d586b47d44 Backout checkin that broke test io-39.1. 2014-07-16 23:58:54 +00:00
dgp b58f928be5 Repair improper assertion. 2014-07-16 22:01:57 +00:00
dgp 6f05041d3f Assert an equality test, not an assignment 2014-07-16 21:48:18 +00:00
dgp 0d27a4b905 Assert an equality test, not an assignment. 2014-07-16 21:46:30 +00:00
dgp 4870917293 [6a2d339e50] Plug memleak in INST_STR_REPLACE instruction. 2014-07-16 15:59:00 +00:00
jan.nijtmans 1797998aed Modify the "gettimes" test-command to use the Tcl_Obj API.
New "testbytestring" command which can be used to replace the (to-be-deprecated) "bytestring" command from tcltest and/or the "indentity" encoding. 
Adapt many testcases to use the "testbytestring" command.
2014-07-16 10:02:02 +00:00
dgp 0fac79a0fb [726349fab8] Stop leaking compression dictionary on zlib xform channel close. 2014-07-15 15:10:32 +00:00
dgp 8825fb59d7 Suppress valgrind warnings about uninitialized values. 2014-07-11 20:40:24 +00:00
dgp 5af71fcbff [1211aceef2] Fix refcount management of TclpTempFileName() that caused leak. 2014-07-11 18:20:42 +00:00
dgp 431189b805 [9b352768e6] Plug memleak in INST_DICT_FIRST. 2014-07-11 15:44:42 +00:00
dgp 4822b65c03 Stop memleak in [info frame]. 2014-07-11 12:56:16 +00:00
jan.nijtmans b58baa4ff6 Starting with Unicode 6.3, the mongolian vowel separator (U+180e) is no longer a whitespace, but for Tcl it still is.
Update documentation accordingly, and extend test-cases for Unicode 7 compliance.
2014-07-11 10:43:15 +00:00
jan.nijtmans 0a0d095f20 Starting with Unicode 6.3, the mongolian vowel separator (U+180e) is no longer a whitespace, but for Tcl it still is.
"NEL/Next Line" (U+0085) should have been a Unicode whitespace, but never was in Tcl. This is corrected in Tcl 8.6, but for legacy reasons not in Tcl 8.5.
Update documentation accordingly, and extend test-cases for Unicode 7 compliance.
2014-07-11 10:38:55 +00:00
dgp dbed3f8089 [3479689] Plug memory leak due to incomplete bug fix. 2014-07-11 04:49:49 +00:00
dgp d6605e9057 makeFile / removeFile balance. 2014-07-10 18:17:28 +00:00
dgp 0992240c65 makeFile / removeFile balance 2014-07-10 18:11:39 +00:00
dgp 0e96637923 dup test name 2014-07-10 18:02:45 +00:00
dgp 8fd7a48012 dup test name 2014-07-10 18:00:42 +00:00
dgp b406c00842 [f652ae79ed] Close sockets used in tests, so as not to corrupt other
tests in the suite.
2014-07-10 17:21:23 +00:00
dgp 31eb3eebb7 [7368d225a6] Extend the auto-cleanup of zero ref count values passed in to
the Tcl_*SetVar*() family of routines to cover the missing case where the
flags value of TCL_APPEND_VALUE is passed in alone.
*** POTENTIAL INCOMAPTIBILITY***
2014-07-10 16:40:30 +00:00
dgp b81d871afb [7368d225a6] Extend the auto-cleanup of zero ref count values passed in
to the Tcl_*SetVar*() family of routines to cover the missing case where
the flags value of TCL_APPEND_VALUE is passed in alone.
*** POTENTIAL INCOMAPTIBILITY***
2014-07-10 15:45:32 +00:00
dgp cf1f2fb61e Repair buffer indexing error in Tcl_ReadRaw(). 2014-07-10 12:59:24 +00:00
dgp 61f8119019 Repair buffer indexing error in Tcl_ReadRaw() exposed by iogt-6.0 and valgrind. 2014-07-10 12:52:10 +00:00
jan.nijtmans a072994389 Don't use Tcl_GetCommandInfo when Tcl_FindCommand suffices. 2014-07-09 18:49:38 +00:00
dgp da31ff7eb8 First draft of using buffer moves in place of buffer copies to create an
efficient [chan copy].
2014-07-09 14:44:13 +00:00
dgp d5ffff6214 The write and flush operations of reflected transforms ([chan push]) have
been converting all lower level channel errors from Tcl_WriteRaw() into
EINVAL.  Generally this is a perplexing discard of useful information, but
worse it interferes with the EAGAIN signalling that is required to manage
the BLOCKED state of a nonblocking channel.  Thanks to aspect for demo
scripts that pointed to the bug.
2014-07-08 13:45:09 +00:00
jan.nijtmans e1b54e0e11 Update Unicode tables to Unicode 7.0 2014-07-04 12:49:40 +00:00
jan.nijtmans 53df9e36da Update Unicode tables to Unicode 7.0 2014-07-04 12:47:21 +00:00
dgp 8d68951021 Clarify http::config and http::geturl -headers roles in setting request headers. 2014-07-02 20:22:43 +00:00
dgp 4b4b642fe6 [c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether
a nonblocking channel is blocked.
2014-07-02 16:30:41 +00:00
dgp 0cf246c174 [c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether
a nonblocking channel is blocked.
2014-07-02 16:20:30 +00:00
Kevin B Kenny 0bab3624a9 merge trunk 2014-06-29 02:20:31 +00:00
dgp ee896008d0 Fix mismatch of Tcl_Preserve() / Tcl_Release(). 2014-06-26 16:01:05 +00:00
dgp 6bc046c0bc Fix mismatch of Tcl_Preserve() / Tcl_Release(). 2014-06-26 15:59:27 +00:00
dgp 58f92b6316 Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer(). 2014-06-24 16:46:12 +00:00
dgp ddeb3ab35c Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer(). 2014-06-24 16:34:05 +00:00
jan.nijtmans 0d9a8edf22 Fix execute-6.5 test failure on trunk: the "preserveCore" part of tcltest::test assumes that the cleanup is done first, so moving the cleanup means the the "preserverCore" part needs to move with it. 2014-06-23 12:49:41 +00:00
jan.nijtmans 6ab9c80ea1 Fix execute-6.5 test failure on trunk: the "preserveCore" part of tcltest::test assumes that the cleanup is done first, so moving the cleanup means the the "preserverCore" part needs to move with it. 2014-06-23 12:48:16 +00:00
jan.nijtmans aa6f0b1cab ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare.
tcltest -> version 2.3.8
2014-06-22 16:17:12 +00:00
jan.nijtmans c7510fa5b9 ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare
tcltest -> version 2.3.8
2014-06-22 16:15:43 +00:00
jan.nijtmans efcc225259 previous commit was not quite right, this one should be better 2014-06-20 20:50:48 +00:00
jan.nijtmans 24b0f264c3 ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare 2014-06-20 20:21:50 +00:00
aku 3cd11c535e [b47b176adf] Stop possible segfaults when variability in mutex lock
schedules cause a ForwardingResult to remain on the forwardList after
it has been processed (IORChan is the origin of the code in IORTrans).
2014-06-20 05:14:43 +00:00
aku f326f97897 [b47b176adf] Stop possible segfaults when variability in mutex lock
schedules cause a ForwardingResult to remain on the forwardList after
it has been processed (IORChan is the origin of the code in IORTrans).
2014-06-20 05:05:21 +00:00
dgp 7834f2fe96 [b47b176adf] Stop segfault when variability in mutex lock schedules cause
a ForwardingResult to remain on the forwardList after it has been
processed.
2014-06-19 16:38:33 +00:00
dkf 7bde946742 [f0f876c141] Improve consistency in error messages. 2014-06-17 14:30:06 +00:00
dgp fce6982a3e [1758a0b603] socket_*-2.13 : Workaround the broken select() in some Linux
kernels that fails to report a writable state on a socket when an error
condition (or remote close) is present.
2014-06-16 13:38:26 +00:00
dgp 52af4f6df3 [1758a0b603] socket-2.13 : Workaround the broken select() in some Linux
kernels that fails to report a writable state on a socket when an error
condition (or remote close) is present.
2014-06-16 12:44:13 +00:00
dgp 908fc261b6 merge socket test from 8.5 2014-06-16 12:19:30 +00:00
dgp eab2f47c2c merge 8.5 2014-06-16 12:09:32 +00:00
dkf ab6933ef6b [311e61d12a] Generate error code in *all* places where commands are looked up. 2014-06-16 09:24:39 +00:00
dkf c20374dfa6 [cb042d294e] Improve consistency of [dict] wrong-args error messages. 2014-06-15 16:50:32 +00:00
dkf 5f82234293 [1b0266d8bb] Make [dict replace] and [dict remove] have canonicalization semantics close to [lrange] and [lreplace]. [dict merge] is also improved, but is not as strict. 2014-06-15 16:14:18 +00:00
dkf 17751a998c Some more cleaning up 2014-06-15 16:11:56 +00:00
dkf 08d9096362 Make [dict replace] and [dict remove] guarantee result canonicality. 2014-06-15 07:52:57 +00:00
dgp 2621d5a21a Draft test for [1758a0b603]. 2014-06-13 21:15:13 +00:00
dgp 4e3fe86fc2 Additional check for an error condition on the socket. 2014-06-12 13:36:18 +00:00
dgp 86b84b6d21 Workaround the broken select() in some Linux kernels that fails to report
a writable state on a socket when an error condition (or remote close) is
present.  Would be good to add actual test suite tests for this, but until
then see demo scripts in the ticket 1758a0b603.
2014-06-11 17:24:58 +00:00
dkf 6a99b9a546 Improved the error messages.
We do not want parsing an invalid dictionary to give errors about lists!
As compensation, we get greater precision in the errorcode.
2014-06-07 14:18:40 +00:00
dkf e5104aa3dc merge trunk 2014-06-06 08:47:28 +00:00
dkf fae85d1af5 merge trunk 2014-06-06 08:46:58 +00:00
dgp bb40f1cd2c Tests socket*-2.12 test for DiscardOutput() updates. 2014-06-05 19:13:09 +00:00
dgp bb4c894bca Test socket-2.12 covers the DiscardOutput() update. 2014-06-05 19:06:08 +00:00
dgp b4cc0cbac8 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. 2014-06-05 15:20:59 +00:00
dgp 16b3c54eb0 merge fork 2014-06-05 15:20:03 +00:00
dgp 3eb959fc93 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.
2014-06-05 15:17:29 +00:00
andreask ba7b49d9c4 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.
2014-06-05 00:22:59 +00:00
andy 45fd54872f Add missing calls to Tcl_DecrRefCount() in string object man page examples. 2014-06-04 21:45:29 +00:00
dgp cb1e14e0eb 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?). 2014-06-04 16:42:21 +00:00
dgp 3189f48d19 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?).
2014-06-04 16:36:25 +00:00
dkf 6a91e192f8 more tests, cleaning up the code a bit 2014-06-04 08:15:26 +00:00
dgp 3334cf2103 Valgrind doesn't like use of uninitialized variables. 2014-06-04 03:25:44 +00:00
dgp 518ffe037f merge fork of 8.5 branch 2014-06-03 19:57:31 +00:00
dgp 2691f4b9a9 [734138ded8] Revisions so that unreported errors don't get lost during
the close of a channel.
2014-06-03 17:47:23 +00:00
dgp 93b55b0dc4 Backport I/O core fixes made known by async socket work on trunk. 2014-06-03 17:32:33 +00:00
dkf 1e37d8beb0 merge trunk 2014-06-03 08:13:58 +00:00
dkf 10caa9b482 [1b0266d8bb] Working towards ensuring that all dict operations are sufficiently strict. 2014-06-03 07:26:11 +00:00
oehhar 312e71eff4 win socket -async: do not loose connect notification by temporarily stop connect monitoring. Bug [336441ed59] 2014-05-30 10:36:01 +00:00
oehhar 78bb5378e9 Try not to loose FD_CONNECT by switching monitoring off. 2014-05-29 14:56:10 +00:00
oehhar bf498960d9 merge core-8-5-branch 2014-05-29 14:53:45 +00:00
dkf c0726f8f4f merge trunk 2014-02-08 07:54:21 +00:00
dkf 39ddd8c91b improve the testing of the disassembly commands 2014-02-08 07:54:04 +00:00
dkf d69c1d382b merge trunk 2014-02-08 07:41:17 +00:00
dkf 14b32b82e1 merge trunk 2014-02-04 09:09:06 +00:00
dkf 3f60452ac2 merge trunk 2014-02-03 22:29:31 +00:00
dkf 75b361386e merge trunk 2014-01-09 21:20:23 +00:00
dkf f3dba34e63 merge trunk 2013-09-26 16:32:21 +00:00
dkf 36a7db47de merge trunk 2013-09-20 13:02:29 +00:00
dkf 97323cd8a0 merge trunk 2013-08-22 07:09:21 +00:00
dkf 8fa124afba merge trunk 2013-07-07 11:57:55 +00:00
dkf df623b6abe Properly encode more operand types to reduce the number of special cases in the disassembler. 2013-06-20 11:05:20 +00:00
dkf 3ef97fba38 merge trunk 2013-06-19 22:46:10 +00:00
dkf a261f7d413 Remove extra scribblings not normally needed. Thanks to jdc for suggestion. 2013-06-17 14:04:28 +00:00
dkf 50cc521ee3 Improved rendering of some opcode arguments and auxdata. 2013-06-13 21:21:22 +00:00
dkf 48205fa50d merge trunk 2013-06-13 08:31:24 +00:00
dkf 9fb06ec1c9 Extract more of the info from the bytecode. 2013-06-12 08:55:15 +00:00
dkf f9e188bad3 merge trunk 2013-06-11 21:40:51 +00:00
dkf 6b65756937 Code-readable disassembler: tcl::unsupported::getbytecode 2013-06-11 21:33:33 +00:00
dkf a74538b064 merge trunk 2013-06-11 08:34:09 +00:00
dkf 55787f4f08 Move the disassembler to its own file. 2013-06-11 08:19:56 +00:00
dkf 0d59c187fe merge trunk 2013-06-09 17:38:20 +00:00
dkf 4d2add8f0f merge trunk 2013-06-08 13:42:46 +00:00
oehhar a4ced94ae6 clock uses new msgcat features 2012-09-20 09:53:02 +00:00
oehhar 496eb965ff (proposal) msgcat with dynamic mc file load on locale change 2012-09-19 20:40:14 +00:00
oehhar c2423634f2 TIP#399 implementation: mcconfig may add additional glob pattern for mcload 2012-09-19 20:31:48 +00:00
632 changed files with 35294 additions and 36026 deletions
+10
View File
@@ -0,0 +1,10 @@
tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
win/makefile.bc
win/makefile.vc
win/rules.vc
win/tcl.dsp
win/tcl.dsw
win/tcl.hpj.in
+10
View File
@@ -0,0 +1,10 @@
tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
win/makefile.bc
win/makefile.vc
win/rules.vc
win/tcl.dsp
win/tcl.dsw
win/tcl.hpj.in
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tcl8.6</name>
<name>tcl8.7</name>
<comment></comment>
<projects>
</projects>
+8
View File
@@ -913,6 +913,14 @@ a better first place to look now.
* win/nmakehlp.c: Let "nmakehlp -V" start searching digits after the
found match (suggested by Harald Oehlmann).
2012-09-19 Harald Oehlmann <oehhar@users.sf.net>
IMPLEMENTATION OF TIP#412.
* library/msgcat/msgcat.tcl: dynamic locale change with mc file
* library/clock.tcl: load on locale change.
clock uses new msgcat features.
2012-09-07 Harald Oehlmann <oehhar@users.sf.net>
*** 8.6b3 TAGGED FOR RELEASE ***
+4 -4
View File
@@ -1,5 +1,5 @@
README: Tcl
This is the Tcl 8.6.1 source distribution.
This is the Tcl 8.7a0 source distribution.
http://sourceforge.net/projects/tcl/files/Tcl/
You can get any source release of Tcl from the URL above.
@@ -49,7 +49,7 @@ and selling it either in whole or in part. See the file
Extensive documentation is available at our website.
The home page for this release, including new features, is
http://www.tcl.tk/software/tcltk/8.6.html
http://www.tcl.tk/software/tcltk/8.7.html
Detailed release notes can be found at the file distributions page
by clicking on the relevant version.
@@ -61,9 +61,9 @@ Information about Tcl itself can be found at
There have been many Tcl books on the market. Many are mentioned in the Wiki:
http://wiki.tcl.tk/_/ref?N=25206
To view the complete set of reference manual entries for Tcl 8.6 online,
To view the complete set of reference manual entries for Tcl 8.7 online,
visit the URL:
http://www.tcl.tk/man/tcl8.6/
http://www.tcl.tk/man/tcl8.7/
2a. Unix Documentation
----------------------
+322 -2
View File
@@ -8274,7 +8274,7 @@ Dropped support for OS X versions less than 10.4 (Tiger) (fellows)
2013-08-01 (bug fix)[1905562] RE recursion limit increased to support
reported usage of large expressions (porter)
2013-08-02 (bug fix)[9d6162] superclass slot empty crash (vdgoot,fellows)2013-08-02 (bug fix)[9d6162] superclass slot empty crash (vdgoot,fellows)
2013-08-02 (bug fix)[9d6162] superclass slot empty crash (vdgoot,fellows)
2013-08-03 (enhancement)[3611643] [auto_mkindex] support TclOO (fellows)
@@ -8303,4 +8303,324 @@ reported usage of large expressions (porter)
Many optmizations, improvements, and tightened stack management in bytecode.
--- Released 8.6.1, Septemer 20, 2013 --- http://core.tcl.tk/tcl/ for details
--- Released 8.6.1, September 20, 2013 --- http://core.tcl.tk/tcl/ for details
2013-09-27 (enhancement) improved ::env synchronization (fellows)
2013-10-20 (bug fix)[2835313] segfault from
[apply {{} {while 1 {a {*}[return -level 0 -code continue]}}}] (fellows)
2013-10-22 (bug fix)[3556215] [scan %E%G%X] support (fellows)
2013-10-25 (bug fix)[3eb2ec1] upper case scheme names in url. (nijtmans)
=> http 2.8.8
2013-10-29 (bug fix)[414d103] HP-UX: restore [exec] in threaded Tcl (nijtmans)
2013-11-04 (bug fix) C++ friendly stubs struct declarations (nijtmans)
2013-11-05 (bug fix)[426679e] OpenBSD man page rendering (nijtmans)
2013-11-12 (bug fix)[5425f2c] [fconfigure -error] breaks [socket -async]
2013-11-20 (bug fix) Improved environment variable management (nijtmans)
=> tcltest 2.3.7
2013-11-21 (platforms) Support for Windows 8.1 (nijtmans)
2013-12-06 (RFE) improved [foreach] bytecode (fellows)
2013-12-10 (RFE) improved [lmap] bytecode (sofer)
2013-12-11 (RFE) improved [catch] bytecode (sofer)
2013-12-18 (bug fix)[0b874c3] SEGV [coroutine X coroutine Y info frame] (porter)
2013-12-20 (RFE) reduced numeric conversion in bytecode (sofer)
2014-01-07 (RFE) compilers for [concat], [linsert], [namespace origin],
[next], [string replace], [string tolower], [string totitle], [string toupper],
[string trim], [string trimleft], [string trimright] (fellows)
2014-01-22 (RFE) compilers for [nextto], [yieldto] (fellows)
2014-02-02 (RFE) compiler for [string is] (fellows)
2014-02-06 (bug fix)[a4494e2] panic in test namespace-13.2 (porter)
2014-03-20 (bug fix)[2f7cbd0] FreeBSD 10.0 build failure (nijtmans)
2014-03-26 (RFE)[b42b208] Cygwin: [file attr -readonly -archive -hidden -system]
(nijtmans)
2014-03-27 (bug fix) segfault iocmd-23.11 (porter)
2014-04-02 (bug fix)[581937a] Win: readable event on async connect failure
2014-04-04 (bug fix)[581937a,97069ea] async socket connect fail (oehlmann)
2014-04-10 (bug fix)[792641f] Win: no \ in normalized path (nijtmans)
2014-04-11 (bug fix)[3118489] protect NUL in filenames (nijtmans)
2014-04-15 (bug fix)[88aef05] segfault iocmd-21.20 (porter)
2014-04-16 (update) Win: use Winsock 2.2 (nijtmans)
2014-04-16 (bug fix)[d19a30d] segfault clock-67.[23] (sebres)
2014-04-21 (bug fix) segfault iocmd-21.2[12] (porter)
2014-04-22 (bug fix) segfault iogt-2.4 (porter)
2014-04-23 (bug fix)[3493120] memleak in thread exit
2014-05-08 refactoring of core I/O functions (porter)
2014-05-09 (bug fix)[3389978] Win: extended paths support (nijtmans)
2014-05-09 (bug fix) segfault iocmd-32.1 (porter)
2014-05-11 (bug fix)[6d2f249] nested ensemble compile failure (fellows)
2014-05-17 (RFE)[47d6625] wideint support in [lsearch -integer] [lsort -integer] (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2014-05-20 (bug fix) Stop eof and blocked state leaking thru stacks (porter)
*** POTENTIAL INCOMPATIBILITY ***
2014-05-20 (bug fix)[13d3af3] Win: socket -async tried only first IP address
2014-05-28 (platforms) work around systems that fail when a shared library
is deleted after it is [load]ed (kupries)
2014-05-31 (bug fix) chan events on pipes must be on proper ends (porter)
2014-06-04 (bug fix) socket-2.12 (porter)
2014-06-05 (bug fix) io-12.6 (kupries,porter)
2014-06-15 (RFE)[1b0266d] [dict replace|remove] return canonical dict (fellows)
*** POTENTIAL INCOMPATIBILITY ***
2014-06-16 (bug fix) socket-2.13 workaround broken select() (porter)
2014-06-20 (bug fix)[b47b176] iortrans.tf-11.0 (porter)
2014-06-22 (RFE)[2f9df4c] -cleanup scripts before -out compare (nijtmans)
2014-07-04 (update) Update Unicode data to 7.0 (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2014-07-08 (bug) [chan push] converts blocked writes to error (aspect,porter)
2014-07-10 (bug fix)[7368d2] memleak Tcl_SetVar2(..,TCL_APPEND_VALUE) (porter)
*** POTENTIAL INCOMPATIBILITY ***
2014-07-11 (bug) leaks in SetFsPathFromAny, [info frame] (porter)
2014-07-15 (bug) compress dict leak in zlib xform channel close (porter)
2014-07-17 (bug fix)[9969cf8] leak trace data in coroutine deletion (porter)
2014-07-18 (RFE)[b43f2b4] fix [lappend] multi performance collapse (fellows)
2014-07-19 (bug fix)[75b8433] memleak managing oo instance lists (porter)
2014-07-21 (bug fix)[e6477e1] memleak in AtForkChild() (porter)
2014-07-22 (bug fix)[12b0997] memleak in iocmd.tf-32.0 (porter)
2014-07-28 (RFE) Optimized binary [chan copy] by moving buffers (porter)
2014-07-30 (enhancement) use refcounts, not Tcl_Preserve to manage lifetime
of Tcl_Channel (porter)
*** POTENTIAL INCOMPATIBILITY ***
2014-07-31 (bug fix)[a84a720] double free in oo chain deletion (porter)
2014-08-01 (bug fix)[e75faba] SEGV [apply {{} {namespace upvar a b [x]}}] (porter)
2014-08-01 (update) "macosx*-i386-x86_64" "macosx-universal" no longer compatible (kupries)
=> platform 1.0.13
2014-08-12 tzdata updated to Olson's tzdata2014f (kenny)
2014-08-17 (bug fix)[7d52e11] [info class subclasses oo::object] should
include ::oo::class (fellows)
2014-08-25 (TIP 429) New command [string cat] (leitgeb,ferrieux)
--- Released 8.6.2, August 27, 2014 --- http://core.tcl.tk/tcl/ for details
2014-08-28 (bug)[b9e1a3] Correct Method Search Order (nadkarni,fellows)
=> TclOO 1.0.3
*** POTENTIAL INCOMPATIBILITY ***
2014-09-05 (bug)[ccc2c2] Regression [lreplace {} 1 1] (bron,fellows)
2014-09-08 (bug)<oo-1.18.2> Crash regression in [oo::class destroy] (porter)
2014-09-09 (bug)[84af11] Regress [regsub -all {\(.*} a(b) {}] (fellows)
2014-09-10 (bug)[cee90e] [try {} on ok {} - on return {} {}] panic (porter)
2014-09-20 (feature) [tcl::unsupported::getbytecode] disassember (fellows)
2014-09-27 (enhancement) [string cat] bytecode optimization (leitgeb,ferrieux)
2014-09-27 (bug)[82521b] segfault in mangled bytecode (ogilvie,sofer)
2014-10-02 (bug)[bc5b79] Hang in some [read]s of limited size (rogers,porter)
2014-10-03 (bug)[bc1a96] segfault in [array set] of traced array (tab,porter)
2014-10-08 (bug)[59a2e7] MSVC14 compile support (dower,nijtmans)
2014-10-10 (bug)[ed29c4] [fcopy] treats [blocked] as error (rowen,porter)
2014-10-10 (bug)[bf7135] regression in Tcl_Write() interface (porter)
2014-10-18 (bug)[10dc6d] fix [gets] on non-blocking channels (fassel,porter)
2014-10-26 Support for Windows 10 (nijtmans)
2014-10-31 (bug)[dcc034] restore [open comX: r+] (lll,nijtmans)
2014-11-05 (bug)[214cc0] Restore [lappend v] return value (sayers,porter)
2014-11-06 (bug)[5adc35] Stop forcing EOF to be permanent (porter)
--- Released 8.6.3, November 12, 2014 --- http://core.tcl.tk/tcl/ for details
2014-11-21 (bug)[743338] Win: socket error encoding (ladayaroslav,nijtmans)
2014-12-01 (bug) restore tbcload/tclcompiler support (kupries)
2014-12-03 (bug)[0c043a] Fix compiled [set var($) val] (porter)
2014-12-04 (bug)[d2ffcc] Limit $... and bareword parsing to ASCII (ladayaroslav,porter)
*** POTENTIAL INCOMPATIBILITY ***
2014-12-06 (bug)[c6cd4a] Win: hang in async socket connection (shults,nadkarni)
2014-12-10 tzdata updated to Olson's tzdata2014j (venkat)
2014-12-13 fix header files installation on OS X (houben)
2014-12-17 (TIP 427) [fconfigure $h -connecting, -peername, -sockname] (oehlmann,rmax)
2014-12-18 (bug)[af08c8] Crash in full finalize encoding teardown (porter)
2014-12-18 (bug)[7c187a] [chan copy] crash (io-53.17) (benno,porter)
2015-01-26 (bug)[df0848] Trouble with INFINITY macro (dower,nijtmans)
2015-01-29 (bug) Stop crashes when extension var resolvers misbehave (porter)
2015-01-29 (bug)[088727] [read] past EOF (io-73.4) (fenugrec,porter)
2015-02-11 tzdata updated to Olson's tzdata2015a (venkat)
2015-02-20 (bug)[32b615] Fix compiled [lreplace] (lreplace-4.[345]) (aspect)
2015-03-10 (enhancement) Revise OS X notifier for better Cocoa (walzer)
*** POTENTIAL INCOMPATIBILITY ***
--- Released 8.6.4, March 12, 2015 --- http://core.tcl.tk/tcl/ for details
2015-03-19 (bug)[e66e44] Win: Ctrl-C/Ctrl-Break in console not EOF (nadkarni)
2015-03-21 (bug)[d87cb1] Proper tailcall from compiled ensembles (sofer)
2015-04-23 (bug)[19ea02] Win: shared read from linked dirs (bogdan,oehhar)
2015-04-24 (bug)[879a07] Incomplete chars @ buffer ends (leunissen,porter)
2015-04-29 (bug)[894da1] Hang flushing blocking channels (yorick)
2015-05-14 (enhance)[b9d043] Default use of gzip transfer encoding (fellows)
=> http 2.8.9
*** POTENTIAL INCOMPATIBILITY ***
2015-05-15 (bug)[9dd1bd] destructor [self] after failed constructor (calvo,fellows)
2015-05-15 (bug)[0f42ff] [tailcall] combined with [next] (aspect,fellows)
2015-05-18 (bug)[c11a51] http: race condition in -accept option (fellows)
2015-05-19 (enhance) More pure lists from compiled [list] (porter,fellows)
2015-05-27 (enhancement) Relax memdebug constraint on extensions (kupries)
2015-06-03 (bug)[268b23] crash in traced [expr] (execute-11.2)(tomkinson,porter)
2015-06-11 (bug)[478c44] Memleak in zlib compresion errors (mistachkin)
2015-06-16 (bug)[e770d9] Higher baud on serial channels (woods,nijtmans)
2015-06-18 (update) Update Unicode data to 8.0 (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2015-06-18 (bug)[a4cb3f] compiled [lreplace] handling of end (bron,aspect)
2015-06-23 (enhance) Use Unicode SendMessageTimeout() (nijtmans)
=> registry 1.3.1
2015-06-25 (TIP 412) msgcat dynamic locale change and package private locale (oehlmann)
=> msgcat 1.6.0
2015-07-05 (bug)[a0ece9] crash in traced [expr] (execute-11.3) (hans,porter)
2015-07-10 (TIP 436) [info object isa] favors 'false' over error (fellows)
=> TclOO 1.0.4
2015-07-15 (bug)[b1534b][9bad63] writes beyond buffer bounds (hanno,porter)
2015-07-18 (bug)[a3309d] Memleak in compiled [unset a($i)] (jeff,porter)
2015-07-23 (bug)[57945b] lock in forking/multi-threading (neumann,mistachkin)
2015-07-29 (bug)[3e7eca] Allocation overflow in expr parsing (rickyb,porter)
2015-07-30 (bug)[f00009] Win: Memleak in [file] (rp,sebres)
2015-07-31 (bug) Correct problems found in Coverity audit (sofer)
2015-08-19 (bug)[00189c] MSVC 14: semi-static UCRT support (dower,nijtmans)
2015-08-26 (bug)[0df7a1] Tolerate getcwd() failures (cato,nijtmans)
2015-09-21 (bug)[1115587][a3c350][d7ea9f][0e0e15][187d7f] Many fixes and
improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
2015-09-23 (enhance) hash lookup microoptimization (hipp)
2015-09-23 (bug)[e0a7b3] Input buffer draining & file events (griffin,porter)
2015-09-29 (bug)[219866] Cygwin support error (yorick,nijtmans)
=> platform 1.0.14
2015-10-06 (bug)[b42a85] Win: [file normalize ~user] wrong dir (nadkarni)
2015-10-21 (bug)[1080042][8f2450] More regexp from Postgres (lane,porter)
2015-10-23 (bug)[4a0c16] [clock] react to msgcat locale change (oehlmann)
2015-11-10 (bug)[261a8a] Overflow segfault in I/O translation (brooks,porter)
2015-11-20 (bug)[40f628] ListObjReplace callers fail to detect max (porter)
2015-11-30 (enhance)[32c574] Improve list growth performance (brooks,porter)
2015-12-11 (bug)[c9eb6b] tolerate unset ::env(TZ) (gahr, nijtmans)
2016-01-29 (TIP 440) tcl_platform(engine) -- Tcl implementation (mistachkin)
2016-02-03 (bug)[25842c] stream [zlib deflate] fails with 0 input (ade,fellows)
2016-02-04 (bug)[3d96b7][593baa][cf74de] crashes in OO teardown (porter,fellows)
2016-02-22 (bug)[9b4702] [info exists env(missing)] kills trace (nijtmans)
--- Released 8.6.5, February 29, 2016 --- http://core.tcl.tk/tcl/ for details
+16 -16
View File
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2000-2003 Damien Miller. All rights reserved.
* Copyright (C) 1999 WIDE Project. All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -13,7 +13,7 @@
* 3. Neither the name of the project nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
*
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -67,7 +67,7 @@ strlcpy(char *dst, const char *src, size_t siz)
}
#endif
int fake_getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
int fake_getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
size_t hostlen, char *serv, size_t servlen, int flags)
{
struct sockaddr_in *sin = (struct sockaddr_in *)sa;
@@ -96,7 +96,7 @@ int fake_getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
} else {
int ret;
Tcl_MutexLock(&netdbMutex);
hp = gethostbyaddr((char *)&sin->sin_addr,
hp = gethostbyaddr((char *)&sin->sin_addr,
sizeof(struct in_addr), AF_INET);
if (hp == NULL) {
ret = EAI_NODATA;
@@ -130,7 +130,7 @@ fake_gai_strerror(int err)
default:
return ("unknown/invalid error.");
}
}
}
#endif /* !HAVE_GAI_STRERROR */
#ifndef HAVE_FREEADDRINFO
@@ -156,9 +156,9 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints)
ai = malloc(sizeof(*ai) + sizeof(struct sockaddr_in));
if (ai == NULL)
return (NULL);
memset(ai, '\0', sizeof(*ai) + sizeof(struct sockaddr_in));
ai->ai_addr = (struct sockaddr *)(ai + 1);
/* XXX -- ssh doesn't use sa_len */
ai->ai_addrlen = sizeof(struct sockaddr_in);
@@ -166,7 +166,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints)
((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port;
((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr;
/* XXX: the following is not generally correct, but does what we want */
if (hints->ai_socktype)
ai->ai_socktype = hints->ai_socktype;
@@ -180,7 +180,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints)
}
int
fake_getaddrinfo(const char *hostname, const char *servname,
fake_getaddrinfo(const char *hostname, const char *servname,
const struct addrinfo *hints, struct addrinfo **res)
{
struct hostent *hp;
@@ -211,29 +211,29 @@ fake_getaddrinfo(const char *hostname, const char *servname,
if (hostname && inet_aton(hostname, &in) != 0)
addr = in.s_addr;
*res = malloc_ai(port, addr, hints);
if (*res == NULL)
if (*res == NULL)
return (EAI_MEMORY);
return (0);
}
if (!hostname) {
*res = malloc_ai(port, htonl(0x7f000001), hints);
if (*res == NULL)
if (*res == NULL)
return (EAI_MEMORY);
return (0);
}
if (inet_aton(hostname, &in)) {
*res = malloc_ai(port, in.s_addr, hints);
if (*res == NULL)
if (*res == NULL)
return (EAI_MEMORY);
return (0);
}
/* Don't try DNS if AI_NUMERICHOST is set */
if (hints && hints->ai_flags & AI_NUMERICHOST)
return (EAI_NONAME);
Tcl_MutexLock(&netdbMutex);
hp = gethostbyname(hostname);
if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) {
+5 -5
View File
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2000-2003 Damien Miller. All rights reserved.
* Copyright (C) 1999 WIDE Project. All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -13,7 +13,7 @@
* 3. Neither the name of the project nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
*
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -39,7 +39,7 @@
#define _FAKE_RFC2553_H
/*
* First, socket and INET6 related definitions
* First, socket and INET6 related definitions
*/
#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
# define _SS_MAXSIZE 128 /* Implementation specific max size */
@@ -146,7 +146,7 @@ struct addrinfo {
# undef getaddrinfo
#endif
#define getaddrinfo(a,b,c,d) (fake_getaddrinfo(a,b,c,d))
int getaddrinfo(const char *, const char *,
int getaddrinfo(const char *, const char *,
const struct addrinfo *, struct addrinfo **);
#endif /* !HAVE_GETADDRINFO */
@@ -162,7 +162,7 @@ void freeaddrinfo(struct addrinfo *);
#ifndef HAVE_GETNAMEINFO
#define getnameinfo(a,b,c,d,e,f,g) (fake_getnameinfo(a,b,c,d,e,f,g))
int getnameinfo(const struct sockaddr *, size_t, char *, size_t,
int getnameinfo(const struct sockaddr *, size_t, char *, size_t,
char *, size_t, int);
#endif /* !HAVE_GETNAMEINFO */
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* fixstrtod.c --
*
* Source code for the "fixstrtod" procedure. This procedure is
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* gettod.c --
*
* This file provides the gettimeofday function on systems
-22
View File
@@ -1,22 +0,0 @@
/*
* limits.h --
*
* This is a dummy header file to #include in Tcl when there
* is no limits.h in /usr/include. There are only a few
* definitions here; also see tclPort.h, which already
* #defines some of the things here if they're not arleady
* defined.
*
* Copyright (c) 1991 The Regents of the University of California.
* Copyright (c) 1994 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#define LONG_MIN 0x80000000
#define LONG_MAX 0x7fffffff
#define INT_MIN 0x80000000
#define INT_MAX 0x7fffffff
#define SHRT_MIN 0x8000
#define SHRT_MAX 0x7fff
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* mkstemp.c --
*
* Source code for the "mkstemp" library routine.
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* opendir.c --
*
* This file provides dirent-style directory-reading procedures for V7
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* strncasecmp.c --
*
* Source code for the "strncasecmp" library routine.
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* strstr.c --
*
* Source code for the "strstr" library routine.
+3 -3
View File
@@ -1,4 +1,4 @@
/*
/*
* strtod.c --
*
* Source code for the "strtod" library procedure.
@@ -137,7 +137,7 @@ strtod(
* has more than 18 digits, ignore the extras, since they can't affect the
* value anyway.
*/
pExp = p;
p -= mantSize;
if (decPt < 0) {
@@ -217,7 +217,7 @@ strtod(
* by processing the exponent one bit at a time to combine many powers of
* 2 of 10. Then combine the exponent with the fraction.
*/
if (exp < 0) {
expSign = TRUE;
exp = -exp;
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* strtol.c --
*
* Source code for the "strtol" library procedure.
+3 -3
View File
@@ -1,4 +1,4 @@
/*
/*
* strtoul.c --
*
* Source code for the "strtoul" library procedure.
@@ -90,7 +90,7 @@ strtoul(
* If no base was provided, pick one from the leading characters of the
* string.
*/
if (base == 0) {
if (*p == '0') {
p += 1;
@@ -206,7 +206,7 @@ strtoul(
if (overflow) {
errno = ERANGE;
return ULONG_MAX;
}
}
if (negative) {
return -result;
}
+1 -1
View File
@@ -20,7 +20,7 @@
#define NULL 0
#endif
/*
/*
* Strict POSIX stuff goes here. Extensions go down below, in the ifndef
* _POSIX_SOURCE section.
*/
+1 -1
View File
@@ -1,4 +1,4 @@
/*
/*
* waitpid.c --
*
* This procedure emulates the POSIX waitpid kernel call on BSD systems
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Access 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+13 -13
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_AddErrorInfo 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -17,7 +17,7 @@ Tcl_GetReturnOptions, Tcl_SetReturnOptions, Tcl_AddErrorInfo, Tcl_AppendObjToErr
Tcl_Obj *
\fBTcl_GetReturnOptions\fR(\fIinterp, code\fR)
.sp
int
int
\fBTcl_SetReturnOptions\fR(\fIinterp, options\fR)
.sp
\fBTcl_AddErrorInfo\fR(\fIinterp, message\fR)
@@ -45,7 +45,7 @@ void
.AS Tcl_Interp commandLength
.AP Tcl_Interp *interp in
Interpreter in which to record information.
.AP int code
.AP int code
The code returned from script evaluation.
.AP Tcl_Obj *options
A dictionary of return options.
@@ -121,7 +121,7 @@ retrieve the stack trace when script evaluation returns
.CS
int code = Tcl_Eval(interp, script);
if (code == TCL_ERROR) {
Tcl_Obj *options = \fBTcl_GetReturnOptions\fR(interp, code);
Tcl_Obj *options = \fBTcl_GetReturnOptions\fR(interp, code);
Tcl_Obj *key = Tcl_NewStringObj("-errorinfo", -1);
Tcl_Obj *stackTrace;
Tcl_IncrRefCount(key);
@@ -163,12 +163,12 @@ to any reference counting. This is analogous to
.PP
While \fBTcl_SetReturnOptions\fR provides a general interface
to set any collection of return options, there are a handful
of return options that are very frequently used. Most
of return options that are very frequently used. Most
notably the \fB\-errorinfo\fR and \fB\-errorcode\fR return
options should be set properly when the command procedure
of a command returns \fBTCL_ERROR\fR. The \fB\-errorline\fR
return option is also read by commands that evaluate scripts
and wish to supply detailed error location information in
and wish to supply detailed error location information in
the stack trace text they append to the \fB\-errorinfo\fR option.
Tcl provides several simpler interfaces to more directly set
these return options.
@@ -224,7 +224,7 @@ is available as a \fBTcl_Obj\fR instead of as a \fBchar\fR array.
.PP
\fBTcl_AddObjErrorInfo\fR is nearly identical
to \fBTcl_AddErrorInfo\fR, except that it has an additional \fIlength\fR
argument. This allows the \fImessage\fR string to contain
argument. This allows the \fImessage\fR string to contain
embedded null bytes. This is essentially never a good idea.
If the \fImessage\fR needs to contain the null character \fBU+0000\fR,
Tcl's usual internal encoding rules should be used to avoid
@@ -232,9 +232,9 @@ the need for a null byte. If the \fBTcl_AddObjErrorInfo\fR
interface is used at all, it should be with a negative \fIlength\fR value.
.PP
The procedure \fBTcl_SetObjErrorCode\fR is used to set the
\fB\-errorcode\fR return option to the list value \fIerrorObjPtr\fR
built up by the caller.
\fBTcl_SetObjErrorCode\fR is typically invoked just
\fB\-errorcode\fR return option to the list value \fIerrorObjPtr\fR
built up by the caller.
\fBTcl_SetObjErrorCode\fR is typically invoked just
before returning an error. If an error is
returned without calling \fBTcl_SetObjErrorCode\fR or
\fBTcl_SetErrorCode\fR the Tcl interpreter automatically sets
@@ -275,7 +275,7 @@ the interpreter's result.
\fBTcl_LogCommandInfo\fR is invoked after an error occurs in an
interpreter. It adds information about the command that was being
executed when the error occurred to the \fB\-errorinfo\fR value, and
the line number stored internally in the interpreter is set.
the line number stored internally in the interpreter is set.
.PP
In older releases of Tcl, there was no \fBTcl_GetReturnOptions\fR
routine. In its place, the global Tcl variables \fBerrorInfo\fR
@@ -288,7 +288,7 @@ global variables remains a supported way to access these
return option values, it is important not to assume that
writing to those global variables will properly set the
corresponding return options. It has long been emphasized
in this manual page that it is important to
in this manual page that it is important to
call the procedures described here rather than
setting \fBerrorInfo\fR or \fBerrorCode\fR directly with
\fBTcl_ObjSetVar2\fR.
@@ -297,7 +297,7 @@ If the procedure \fBTcl_ResetResult\fR is called,
it clears all of the state of the interpreter associated with
script evaluation, including the entire return options dictionary.
In particular, the \fB\-errorinfo\fR and \fB\-errorcode\fR options
are reset.
are reset.
If an error had occurred, the \fBTcl_ResetResult\fR call will
clear the error state to make it appear as if no error had
occurred after all.
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Alloc 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_AllowExceptions 3 7.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -31,7 +31,7 @@ return with an appropriate message. The particular script
evaluation procedures of Tcl that act in the manner are
\fBTcl_EvalObjEx\fR, \fBTcl_EvalObjv\fR, \fBTcl_Eval\fR, \fBTcl_EvalEx\fR,
\fBTcl_GlobalEval\fR, \fBTcl_GlobalEvalObj\fR, \fBTcl_VarEval\fR and
\fBTcl_VarEvalVA\fR.
\fBTcl_VarEvalVA\fR.
.PP
However, if \fBTcl_AllowExceptions\fR is invoked immediately before
calling one of those a procedures, then arbitrary completion
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_AppInit 3 7.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -52,7 +52,7 @@ Invoke a startup script to initialize the application.
Use the routines \fBTcl_SetStartupScript\fR and
\fBTcl_GetStartupScript\fR to set or query the file and encoding
that the active \fBTcl_Main\fR or \fBTk_Main\fR routine will
use as a startup script.
use as a startup script.
.LP
\fBTcl_AppInit\fR returns \fBTCL_OK\fR or \fBTCL_ERROR\fR.
If it returns \fBTCL_ERROR\fR then it must leave an error message in
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SetAssocData 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_AsyncCreate 3 7.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_BackgroundError 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Backslash 3 "8.1" Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -33,7 +33,7 @@ The use of \fBTcl_Backslash\fR is deprecated in favor of
.PP
This is a utility procedure provided for backwards compatibility with
non-internationalized Tcl extensions. It parses a backslash sequence and
returns the low byte of the Unicode character corresponding to the sequence.
returns the low byte of the Unicode character corresponding to the sequence.
\fBTcl_Backslash\fR modifies \fI*countPtr\fR to contain the number of
characters in the backslash sequence.
.PP
+5 -5
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_BooleanObj 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -50,7 +50,7 @@ value \fIboolValue\fR in it, and returns a pointer to the new Tcl_Obj.
The new Tcl_Obj has reference count of zero.
.PP
\fBTcl_SetBooleanObj\fR accepts \fIobjPtr\fR, a pointer to
an existing Tcl_Obj, and stores in the Tcl_Obj \fI*objPtr\fR
an existing Tcl_Obj, and stores in the Tcl_Obj \fI*objPtr\fR
the boolean value \fIboolValue\fR. This is a write operation
on \fI*objPtr\fR, so \fIobjPtr\fR must be unshared. Attempts to
write to a shared Tcl_Obj will panic. A successful write
@@ -61,7 +61,7 @@ any former value stored in \fI*objPtr\fR.
from the value stored in \fI*objPtr\fR.
If \fIobjPtr\fR holds a string value recognized by \fBTcl_GetBoolean\fR,
then the recognized boolean value is written at the address given
by \fIboolPtr\fR.
by \fIboolPtr\fR.
If \fIobjPtr\fR holds any value recognized as
a number by Tcl, then if that value is zero a 0 is written at
the address given by \fIboolPtr\fR and if that
@@ -69,10 +69,10 @@ value is non-zero a 1 is written at the address given by \fIboolPtr\fR.
In all cases where a value is written at the address given
by \fIboolPtr\fR, \fBTcl_GetBooleanFromObj\fR returns \fBTCL_OK\fR.
If the value of \fIobjPtr\fR does not meet any of the conditions
above, then \fBTCL_ERROR\fR is returned and an error message is
above, then \fBTCL_ERROR\fR is returned and an error message is
left in the interpreter's result unless \fIinterp\fR is NULL.
\fBTcl_GetBooleanFromObj\fR may also make changes to the internal
fields of \fI*objPtr\fR so that future calls to
fields of \fI*objPtr\fR so that future calls to
\fBTcl_GetBooleanFromObj\fR on the same \fIobjPtr\fR can be
performed more efficiently.
.PP
+4 -4
View File
@@ -3,12 +3,12 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ByteArrayObj 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
.SH NAME
Tcl_NewByteArrayObj, Tcl_SetByteArrayObj, Tcl_GetByteArrayFromObj, Tcl_SetByteArrayLength \- manipulate Tcl values as a arrays of bytes
Tcl_NewByteArrayObj, Tcl_SetByteArrayObj, Tcl_GetByteArrayFromObj, Tcl_SetByteArrayLength \- manipulate Tcl values as a arrays of bytes
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -16,7 +16,7 @@ Tcl_NewByteArrayObj, Tcl_SetByteArrayObj, Tcl_GetByteArrayFromObj, Tcl_SetByteAr
Tcl_Obj *
\fBTcl_NewByteArrayObj\fR(\fIbytes, length\fR)
.sp
void
void
\fBTcl_SetByteArrayObj\fR(\fIobjPtr, bytes, length\fR)
.sp
unsigned char *
@@ -82,7 +82,7 @@ allocated for the array, the array is reallocated to the new length; the
newly allocated bytes at the end of the array have arbitrary values. If
\fIlength\fR is less than the space currently allocated for the array,
the length of array is reduced to the new length. The return value is a
pointer to the value's new array of bytes.
pointer to the value's new array of bytes.
.SH "SEE ALSO"
Tcl_GetStringFromObj, Tcl_NewObj, Tcl_IncrRefCount, Tcl_DecrRefCount
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CallWhenDeleted 3 7.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+17 -9
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Cancel 3 8.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -13,20 +13,25 @@ Tcl_CancelEval, Tcl_Canceled \- cancel Tcl scripts
.nf
\fB#include <tcl.h>\fR
int
\fBTcl_CancelEval\fR(\fIinterp, clientData, flags\fR)
\fBTcl_CancelEval\fR(\fIinterp, resultObjPtr, clientData, flags\fR)
.sp
int
\fBTcl_Canceled\fR(\fIinterp, flags\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp
.AP Tcl_Interp *interp in
Interpreter in which to cancel the script.
.AP Tcl_Obj *resultObjPtr in
Error message to use in the cancellation, or NULL to use a default message. If
not NULL, this object will have its reference count decremented before
\fBTcl_CancelEval\fR returns.
.AP int flags in
ORed combination of flag bits that specify additional options.
For \fBTcl_CancelEval\fR, only \fBTCL_CANCEL_UNWIND\fR is currently
supported. For \fBTcl_Canceled\fR, only \fBTCL_LEAVE_ERR_MSG\fR and
\fBTCL_CANCEL_UNWIND\fR are currently supported.
.AP ClientData clientData in
Currently, reserved for future use.
Currently reserved for future use.
It should be set to NULL.
.BE
.SH DESCRIPTION
@@ -41,19 +46,21 @@ returns \fBTCL_ERROR\fR if it has. Otherwise, \fBTCL_OK\fR is returned.
Extensions can use this function to check to see if they should abort a long
running command. This function is thread sensitive and may only be called
from the thread the interpreter was created in.
.SH "FLAG BITS"
.SS "FLAG BITS"
Any ORed combination of the following values may be used for the
\fIflags\fR argument to procedures such as \fBTcl_CancelEval\fR:
.TP 23
.TP 20
\fBTCL_CANCEL_UNWIND\fR
.
This flag is used by \fBTcl_CancelEval\fR and \fBTcl_Canceled\fR.
For \fBTcl_CancelEval\fR, if this flag is set, the script in progress
For \fBTcl_CancelEval\fR, if this flag is set, the script in progress
is canceled and the evaluation stack for the interpreter is unwound.
For \fBTcl_Canceled\fR, if this flag is set, the script in progress
is considered to be canceled only if the evaluation stack for the
For \fBTcl_Canceled\fR, if this flag is set, the script in progress
is considered to be canceled only if the evaluation stack for the
interpreter is being unwound.
.TP 23
.TP 20
\fBTCL_LEAVE_ERR_MSG\fR
.
This flag is only used by \fBTcl_Canceled\fR; it is ignored by
other procedures. If an error is returned and this bit is set in
\fIflags\fR, then an error message will be left in the interpreter's
@@ -61,6 +68,7 @@ result, where it can be retrieved with \fBTcl_GetObjResult\fR or
\fBTcl_GetStringResult\fR. If this flag bit is not set then no error
message is left and the interpreter's result will not be modified.
.SH "SEE ALSO"
interp(n), Tcl_Eval(3),
TIP 285
.SH KEYWORDS
cancel, unwind
+2 -1
View File
@@ -71,7 +71,8 @@ The name of the object to create, or NULL if a new unused name is to be
automatically selected.
.AP "const char" *nsName in
The name of the namespace to create for the object's private use, or NULL if a
new unused name is to be automatically selected.
new unused name is to be automatically selected. The namespace must not
already exist.
.AP int objc in
The number of elements in the \fIobjv\fR array.
.AP "Tcl_Obj *const" *objv in
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CommandComplete 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Concat 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+6 -6
View File
@@ -336,7 +336,7 @@ typedef struct Tcl_ChannelType {
It is not necessary to provide implementations for all channel
operations. Those which are not necessary may be set to NULL in the
struct: \fIblockModeProc\fR, \fIseekProc\fR, \fIsetOptionProc\fR,
\fIgetOptionProc\fR, and \fIclose2Proc\fR, in addition to
\fIgetOptionProc\fR, \fIgetHandleProc\fR, and \fIclose2Proc\fR, in addition to
\fIflushProc\fR, \fIhandlerProc\fR, \fIthreadActionProc\fR, and
\fItruncateProc\fR. Other functions that cannot be implemented in a
meaningful way should return \fBEINVAL\fR when called, to indicate
@@ -639,13 +639,13 @@ called to set them, e.g. \fB\-blockmode\fR. Other options are specific to
each channel type and the \fIsetOptionProc\fR procedure of the channel
driver will get called to implement them. The \fIsetOptionProc\fR field can
be NULL, which indicates that this channel type supports no type specific
options.
options.
.PP
If the option value is successfully modified to the new value, the function
returns \fBTCL_OK\fR.
It should call \fBTcl_BadChannelOption\fR which itself returns
\fBTCL_ERROR\fR if the \fIoptionName\fR is
unrecognized.
unrecognized.
If \fInewValue\fR specifies a value for the option that
is not supported or if a system call error occurs,
the function should leave an error message in the
@@ -674,7 +674,7 @@ channel. If the option name is not NULL, the function stores its current
value, as a string, in the Tcl dynamic string \fIoptionValue\fR.
If \fIoptionName\fR is NULL, the function stores in \fIoptionValue\fR an
alternating list of all supported options and their current values.
On success, the function returns \fBTCL_OK\fR.
On success, the function returns \fBTCL_OK\fR.
It should call \fBTcl_BadChannelOption\fR which itself returns
\fBTCL_ERROR\fR if the \fIoptionName\fR is
unrecognized. If a system call error occurs,
@@ -839,7 +839,7 @@ which returns a pointer to the function.
This procedure generates a
.QW "bad option"
error message in an
(optional) interpreter. It is used by channel drivers when
(optional) interpreter. It is used by channel drivers when
an invalid Set/Get option is requested. Its purpose is to concatenate
the generic options list to the specific ones and factorize
the generic options error message string.
@@ -850,7 +850,7 @@ An error message is generated in \fIinterp\fR's result value to
indicate that a command was invoked with a bad option.
The message has the form
.CS
bad option "blah": should be one of
bad option "blah": should be one of
<...generic options...>+<...specific options...>
.CE
so you get for instance:
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateCommand 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -91,7 +91,7 @@ the command, \fIargc\fR giving the number of arguments (including
the command name) and \fIargv\fR giving the values of the arguments
as strings. The \fIargv\fR array will contain \fIargc\fR+1 values;
the first \fIargc\fR values point to the argument strings, and the
last value is NULL.
last value is NULL.
Note that the argument strings should not be modified as they may
point to constant strings or may be shared with other parts of the
interpreter.
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateFileHandler 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateInterp 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateMathFunc 3 8.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -147,7 +147,7 @@ released by passing it to \fBTcl_Free\fR. Some functions (the
standard set implemented in the core, and those defined by placing
commands in the \fBtcl::mathfunc\fR namespace) do not have
argument type information; attempting to retrieve values for
them causes a NULL to be stored in the variable pointed to by
them causes a NULL to be stored in the variable pointed to by
\fIprocPtr\fR and the variable pointed to by \fIclientDataPtr\fR
will not be modified. The variable pointed to by \fInumArgsPointer\fR
will contain -1, and no argument types will be stored in the variable
+3 -3
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateObjCommand 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -150,7 +150,7 @@ However, if the existing command was created by a previous call to
but instead arranges for the Tcl interpreter to call the
\fBTcl_ObjCmdProc\fR \fIproc\fR in the future.
The old string-based \fBTcl_CmdProc\fR associated with the command
is retained and its address can be obtained by subsequent
is retained and its address can be obtained by subsequent
\fBTcl_GetCommandInfo\fR calls. This is done for backwards compatibility.
.PP
\fIDeleteProc\fR will be invoked when (if) \fIname\fR is deleted.
@@ -288,7 +288,7 @@ command is not deleted or renamed; callers should copy the string if
they need to keep it for a long time.
.PP
\fBTcl_GetCommandFullName\fR produces the fully qualified name
of a command from a command token.
of a command from a command token.
The name, including all namespace prefixes,
is appended to the value specified by \fIobjPtr\fR.
.PP
+5 -5
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateSlave 3 7.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -122,8 +122,8 @@ is either \fBTCL_OK\fR or \fBTCL_ERROR\fR. If \fBTCL_ERROR\fR is returned
then the \fBresult\fR field of the interpreter contains an error message.
.PP
\fBTcl_CreateSlave\fR creates a new interpreter as a slave of \fIinterp\fR.
It also creates a slave command named \fIslaveName\fR in \fIinterp\fR which
allows \fIinterp\fR to manipulate the new slave.
It also creates a slave command named \fIslaveName\fR in \fIinterp\fR which
allows \fIinterp\fR to manipulate the new slave.
If \fIisSafe\fR is zero, the command creates a trusted slave in which Tcl
code has access to all the Tcl commands.
If it is \fB1\fR, the command creates a
@@ -178,7 +178,7 @@ created by \fBTcl_CreateSlave\fR) between \fIslaveInterp\fR and
\fItargetInterp\fR. Any two interpreters can be used, without any
restrictions on how they are related.
.PP
\fBTcl_CreateAliasObj\fR is similar to \fBTcl_CreateAlias\fR except
\fBTcl_CreateAliasObj\fR is similar to \fBTcl_CreateAlias\fR except
that it takes a vector of values to pass as additional arguments instead
of a vector of strings.
.PP
@@ -196,7 +196,7 @@ strings.
\fBTcl_ExposeCommand\fR moves the command named \fIhiddenCmdName\fR from
the set of hidden commands to the set of exposed commands, putting
it under the name
\fIcmdName\fR.
\fIcmdName\fR.
\fIHiddenCmdName\fR must be the name of an existing hidden
command, or the operation will return \fBTCL_ERROR\fR and leave an error
message in the \fIresult\fR field in \fIinterp\fR.
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateTimerHandler 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -3
View File
@@ -5,7 +5,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_CreateTrace 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -65,7 +65,7 @@ interpreter.
\fBTcl_CmdObjTraceProc\fR:
.PP
.CS
typedef int \fBTcl_CmdObjTraceProc\fR(
typedef int \fBTcl_CmdObjTraceProc\fR(
\fBClientData\fR \fIclientData\fR,
\fBTcl_Interp\fR* \fIinterp\fR,
int \fIlevel\fR,
@@ -143,7 +143,7 @@ When \fBTcl_DeleteTrace\fR is called, the interpreter invokes the
\fBTcl_CmdObjTraceDeleteProc\fR:
.PP
.CS
typedef void \fBTcl_CmdObjTraceDeleteProc\fR(
typedef void \fBTcl_CmdObjTraceDeleteProc\fR(
\fBClientData\fR \fIclientData\fR);
.CE
.PP
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DString 3 7.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DetachPids 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DictObj 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -3
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DoOneEvent 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -20,7 +20,7 @@ int
.AS int flags
.AP int flags in
This parameter is normally zero. It may be an OR-ed combination
of any of the following flag bits:
of any of the following flag bits:
\fBTCL_WINDOW_EVENTS\fR, \fBTCL_FILE_EVENTS\fR,
\fBTCL_TIMER_EVENTS\fR, \fBTCL_IDLE_EVENTS\fR, \fBTCL_ALL_EVENTS\fR,
or \fBTCL_DONT_WAIT\fR.
@@ -43,7 +43,7 @@ handlers for the first event on the queue, and returns.
If no events are found, \fBTcl_DoOneEvent\fR checks for \fBTcl_DoWhenIdle\fR
callbacks; if any are found, it invokes all of them and returns.
Finally, if no events or idle callbacks have been found, then
\fBTcl_DoOneEvent\fR sleeps until an event occurs; then it adds any
\fBTcl_DoOneEvent\fR sleeps until an event occurs; then it adds any
new events to the Tcl event queue, calls handlers for the first event,
and returns.
The normal return value is 1 to signify that some event
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DoWhenIdle 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -3
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_DoubleObj 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -28,7 +28,7 @@ A double-precision floating-point value used to initialize or set a Tcl value.
For \fBTcl_SetDoubleObj\fR, this points to the value in which to store a
double value.
For \fBTcl_GetDoubleFromObj\fR, this refers to the value
from which to retrieve a double value.
from which to retrieve a double value.
.AP Tcl_Interp *interp in/out
When non-NULL, an error message is left here when double value retrieval fails.
.AP double *doublePtr out
@@ -56,7 +56,7 @@ returned, and the double value is written to the storage pointed to by
\fIdoublePtr\fR. If the attempt fails, then \fBTCL_ERROR\fR is returned,
and if \fIinterp\fR is non-NULL, an error message is left in \fIinterp\fR.
The \fBTcl_ObjType\fR of \fIobjPtr\fR may be changed to make subsequent
calls to \fBTcl_GetDoubleFromObj\fR more efficient.
calls to \fBTcl_GetDoubleFromObj\fR more efficient.
'\" TODO: add discussion of treatment of NaN value
.SH "SEE ALSO"
Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult
+2 -2
View File
@@ -2,7 +2,7 @@
'\" Copyright (c) 1992-1999 Karl Lehenbauer and Mark Diekhans.
'\" Copyright (c) 2000 by Scriptics Corporation.
'\" All rights reserved.
'\"
'\"
.TH "Tcl_DumpActiveMemory" 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -39,7 +39,7 @@ These functions provide access to Tcl memory debugging information.
They are only functional when Tcl has been compiled with
\fBTCL_MEM_DEBUG\fR defined at compile-time. When \fBTCL_MEM_DEBUG\fR
is not defined, these functions are all no-ops.
.PP
.PP
\fBTcl_DumpActiveMemory\fR will output a list of all currently
allocated memory to the specified file. The information output for
each allocated block of memory is: starting and ending addresses
+40 -74
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetEncoding 3 "8.1" Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -76,7 +76,7 @@ desired.
.AP "const char" *name in
Name of encoding to load.
.AP Tcl_Encoding encoding in
The encoding to query, free, or use for converting text. If \fIencoding\fR is
The encoding to query, free, or use for converting text. If \fIencoding\fR is
NULL, the current system encoding is used.
.AP Tcl_Obj *objPtr in
Name of encoding to get token for.
@@ -86,17 +86,17 @@ Points to storage where encoding token is to be written.
For the \fBTcl_ExternalToUtf\fR functions, an array of bytes in the
specified encoding that are to be converted to UTF-8. For the
\fBTcl_UtfToExternal\fR and \fBTcl_WinUtfToTChar\fR functions, an array of
UTF-8 characters to be converted to the specified encoding.
UTF-8 characters to be converted to the specified encoding.
.AP "const TCHAR" *tsrc in
An array of Windows TCHAR characters to convert to UTF-8.
.AP int srcLen in
Length of \fIsrc\fR or \fItsrc\fR in bytes. If the length is negative, the
.AP int srcLen in
Length of \fIsrc\fR or \fItsrc\fR in bytes. If the length is negative, the
encoding-specific length of the string is used.
.AP Tcl_DString *dstPtr out
Pointer to an uninitialized or free \fBTcl_DString\fR in which the converted
result will be stored.
.AP int flags in
Various flag bits OR-ed together.
Various flag bits OR-ed together.
\fBTCL_ENCODING_START\fR signifies that the
source buffer is the first block in a (potentially multi-block) input
stream, telling the conversion routine to reset to an initial state and
@@ -108,7 +108,7 @@ byte is converted and then to reset to an initial state.
\fBTCL_ENCODING_STOPONERROR\fR signifies that the conversion routine should
return immediately upon reading a source character that does not exist in
the target encoding; otherwise a default fallback character will
automatically be substituted.
automatically be substituted.
.AP Tcl_EncodingState *statePtr in/out
Used when converting a (generally long or indefinite length) byte stream
in a piece-by-piece fashion. The conversion routine stores its current
@@ -116,7 +116,7 @@ state in \fI*statePtr\fR after \fIsrc\fR (the buffer containing the
current piece) has been converted; that state information must be passed
back when converting the next piece of the stream so the conversion
routine knows what state it was in when it left off at the end of the
last piece. May be NULL, in which case the value specified for \fIflags\fR
last piece. May be NULL, in which case the value specified for \fIflags\fR
is ignored and the source buffer is assumed to contain the complete string to
convert.
.AP char *dst out
@@ -137,11 +137,11 @@ stored in the output buffer. May be NULL.
.AP Tcl_DString *bufPtr out
Storage for the prescribed system encoding name.
.AP "const Tcl_EncodingType" *typePtr in
Structure that defines a new type of encoding.
Structure that defines a new type of encoding.
.AP Tcl_Obj *searchPath in
List of filesystem directories in which to search for encoding data files.
.AP "const char" *path in
A path to the location of the encoding file.
A path to the location of the encoding file.
.BE
.SH INTRODUCTION
.PP
@@ -180,13 +180,13 @@ The first time \fIname\fR is seen, \fBTcl_GetEncoding\fR returns an
encoding with a reference count of 1. If the same \fIname\fR is requested
further times, then the reference count for that encoding is incremented
without the overhead of allocating a new encoding and all its associated
data structures.
data structures.
.PP
When an \fIencoding\fR is no longer needed, \fBTcl_FreeEncoding\fR
should be called to release it. When an \fIencoding\fR is no longer in use
anywhere (i.e., it has been freed as many times as it has been gotten)
\fBTcl_FreeEncoding\fR will release all storage the encoding was using
and delete it from the database.
and delete it from the database.
.PP
\fBTcl_GetEncodingFromObj\fR treats the string representation of
\fIobjPtr\fR as an encoding name, and finds an encoding with that
@@ -201,7 +201,7 @@ on the resulting encoding token when that token will no longer be
used.
.PP
\fBTcl_ExternalToUtfDString\fR converts a source buffer \fIsrc\fR from the
specified \fIencoding\fR into UTF-8. The converted bytes are stored in
specified \fIencoding\fR into UTF-8. The converted bytes are stored in
\fIdstPtr\fR, which is then null-terminated. The caller should eventually
call \fBTcl_DStringFree\fR to free any information stored in \fIdstPtr\fR.
When converting, if any of the characters in the source buffer cannot be
@@ -227,17 +227,17 @@ sequence, but more bytes were needed to complete this sequence. A
subsequent call to the conversion routine should pass a buffer containing
the unconverted bytes that remained in \fIsrc\fR plus some further bytes
from the source stream to properly convert the formerly split-up multibyte
sequence.
sequence.
.IP \fBTCL_CONVERT_SYNTAX\fR 29
The source buffer contained an invalid character sequence. This may occur
if the input stream has been damaged or if the input encoding method was
misidentified.
.IP \fBTCL_CONVERT_UNKNOWN\fR 29
The source buffer contained a character that could not be represented in
the target encoding and \fBTCL_ENCODING_STOPONERROR\fR was specified.
the target encoding and \fBTCL_ENCODING_STOPONERROR\fR was specified.
.RE
.LP
\fBTcl_UtfToExternalDString\fR converts a source buffer \fIsrc\fR from UTF-8
\fBTcl_UtfToExternalDString\fR converts a source buffer \fIsrc\fR from UTF-8
into the specified \fIencoding\fR. The converted bytes are stored in
\fIdstPtr\fR, which is then terminated with the appropriate encoding-specific
null. The caller should eventually call \fBTcl_DStringFree\fR to free any
@@ -257,51 +257,17 @@ is filled with the corresponding number of bytes that were stored in
.PP
\fBTcl_WinUtfToTChar\fR and \fBTcl_WinTCharToUtf\fR are
Windows-only convenience
functions for converting between UTF-8 and Windows strings. On Windows 95
(as with the Unix operating system),
all strings exchanged between Tcl and the operating system are
.QW "char"
based. On Windows NT, some strings exchanged between Tcl and the
operating system are
.QW "char"
oriented while others are in Unicode. By
convention, in Windows a TCHAR is a character in the ANSI code page
on Windows 95 and a Unicode character on Windows NT.
.PP
If you planned to use the same
.QW "char"
based interfaces on both Windows
95 and Windows NT, you could use \fBTcl_UtfToExternal\fR and
\fBTcl_ExternalToUtf\fR (or their \fBTcl_DString\fR equivalents) with an
encoding of NULL (the current system encoding). On the other hand,
if you planned to use the Unicode interface when running on Windows NT
and the
.QW "char"
interfaces when running on Windows 95, you would have
to perform the following type of test over and over in your program
(as represented in pseudo-code):
.PP
.CS
if (running NT) {
encoding <- Tcl_GetEncoding("unicode");
nativeBuffer <- Tcl_UtfToExternal(encoding, utfBuffer);
Tcl_FreeEncoding(encoding);
} else {
nativeBuffer <- Tcl_UtfToExternal(NULL, utfBuffer);
}
.CE
.PP
\fBTcl_WinUtfToTChar\fR and \fBTcl_WinTCharToUtf\fR automatically
handle this test and use the proper encoding based on the current
operating system. \fBTcl_WinUtfToTChar\fR returns a pointer to
a TCHAR string, and \fBTcl_WinTCharToUtf\fR expects a TCHAR string
pointer as the \fIsrc\fR string. Otherwise, these functions
behave identically to \fBTcl_UtfToExternalDString\fR and
\fBTcl_ExternalToUtfDString\fR.
functions for converting between UTF-8 and Windows strings
based on the TCHAR type which is by convention
a Unicode character on Windows NT.
These functions are essentially wrappers around
\fBTcl_UtfToExternalDString\fR and
\fBTcl_ExternalToUtfDString\fR that convert to and from the
Unicode encoding.
.PP
\fBTcl_GetEncodingName\fR is roughly the inverse of \fBTcl_GetEncoding\fR.
Given an \fIencoding\fR, the return value is the \fIname\fR argument that
was used to create the encoding. The string returned by
was used to create the encoding. The string returned by
\fBTcl_GetEncodingName\fR is only guaranteed to persist until the
\fIencoding\fR is deleted. The caller must not modify this string.
.PP
@@ -340,9 +306,9 @@ reference count of 1. If an encoding with the specified \fIname\fR
already exists, then its entry in the database is replaced with the new
encoding; the token for the old encoding will remain valid and continue
to behave as before, but users of the new token will now call the new
encoding procedures.
encoding procedures.
.PP
The \fItypePtr\fR argument to \fBTcl_CreateEncoding\fR contains information
The \fItypePtr\fR argument to \fBTcl_CreateEncoding\fR contains information
about the name of the encoding and the procedures that will be called to
convert between this encoding and UTF-8. It is defined as follows:
.PP
@@ -354,7 +320,7 @@ typedef struct Tcl_EncodingType {
Tcl_EncodingFreeProc *\fIfreeProc\fR;
ClientData \fIclientData\fR;
int \fInullSize\fR;
} \fBTcl_EncodingType\fR;
} \fBTcl_EncodingType\fR;
.CE
.PP
The \fIencodingName\fR provides a string name for the encoding, by
@@ -384,12 +350,12 @@ type \fBTcl_EncodingConvertProc\fR:
.CS
typedef int \fBTcl_EncodingConvertProc\fR(
ClientData \fIclientData\fR,
const char *\fIsrc\fR,
int \fIsrcLen\fR,
int \fIflags\fR,
const char *\fIsrc\fR,
int \fIsrcLen\fR,
int \fIflags\fR,
Tcl_EncodingState *\fIstatePtr\fR,
char *\fIdst\fR,
int \fIdstLen\fR,
char *\fIdst\fR,
int \fIdstLen\fR,
int *\fIsrcReadPtr\fR,
int *\fIdstWrotePtr\fR,
int *\fIdstCharsPtr\fR);
@@ -405,12 +371,12 @@ documented at the top, to \fBTcl_ExternalToUtf\fR or
\fBTcl_UtfToExternal\fR, with the following exceptions. If the
\fIsrcLen\fR argument to one of those high-level functions is negative,
the value passed to the callback procedure will be the appropriate
encoding-specific string length of \fIsrc\fR. If any of the \fIsrcReadPtr\fR,
encoding-specific string length of \fIsrc\fR. If any of the \fIsrcReadPtr\fR,
\fIdstWrotePtr\fR, or \fIdstCharsPtr\fR arguments to one of the high-level
functions is NULL, the corresponding value passed to the callback
procedure will be a non-NULL location.
.PP
The callback procedure \fIfreeProc\fR, if non-NULL, should match the type
The callback procedure \fIfreeProc\fR, if non-NULL, should match the type
\fBTcl_EncodingFreeProc\fR:
.PP
.CS
@@ -420,11 +386,11 @@ typedef void \fBTcl_EncodingFreeProc\fR(
.PP
This \fIfreeProc\fR function is called when the encoding is deleted. The
\fIclientData\fR parameter is the same as the \fIclientData\fR field
specified to \fBTcl_CreateEncoding\fR when the encoding was created.
specified to \fBTcl_CreateEncoding\fR when the encoding was created.
.PP
\fBTcl_GetEncodingSearchPath\fR and \fBTcl_SetEncodingSearchPath\fR
are called to access and set the list of filesystem directories searched
for encoding data files.
for encoding data files.
.PP
The value returned by \fBTcl_GetEncodingSearchPath\fR
is the value stored by the last successful call to
@@ -457,7 +423,7 @@ encoding files that can be loaded using the same mechanism. These
encoding files contain information about the tables and/or escape
sequences used to map between an external encoding and Unicode. The
external encoding may consist of single-byte, multi-byte, or double-byte
characters.
characters.
.PP
Each dynamically-loadable encoding is represented as a text file. The
initial line of the file, beginning with a
@@ -481,9 +447,9 @@ many Japanese computers.
.IP "[4] \fBE\fR"
An escape-sequence encoding, specifying that certain sequences of bytes
do not represent characters, but commands that describe how following bytes
should be interpreted.
should be interpreted.
.PP
The rest of the lines in the file depend on the type.
The rest of the lines in the file depend on the type.
.PP
Cases [1], [2], and [3] are collectively referred to as table-based encoding
files. The lines in a table-based encoding file are in the same
@@ -534,7 +500,7 @@ The third line of the file is three numbers. The first number is the
fallback character (in base 16) to use when converting from UTF-8 to this
encoding. The second number is a \fB1\fR if this file represents the
encoding for a symbol font, or \fB0\fR otherwise. The last number (in base
10) is how many pages of data follow.
10) is how many pages of data follow.
.PP
Subsequent lines in the example above are pages that describe how to map
from the encoding into 2-byte Unicode. The first line in a page identifies
+3 -3
View File
@@ -3,9 +3,9 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
'\" This documents the C API introduced in TIP#235
'\"
'\"
.TH Tcl_Ensemble 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -185,7 +185,7 @@ the bound namespace. May be read and written using
\fBTcl_GetEnsembleSubcommandList\fR and
\fBTcl_SetEnsembleSubcommandList\fR respectively. The result of both
of those functions is a Tcl result code (\fBTCL_OK\fR, or
\fBTCL_ERROR\fR if the
\fBTCL_ERROR\fR if the
token does not refer to an ensemble) and the list obtained from
\fBTcl_GetEnsembleSubcommandList\fR should always be treated as
immutable even if it is unshared.
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_PutEnv 3 "7.5" Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -3
View File
@@ -5,7 +5,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Eval 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -116,7 +116,7 @@ of the words for the Tcl command, one word in each value in
a completion code and result just like \fBTcl_EvalObjEx\fR.
The caller of \fBTcl_EvalObjv\fR has to manage the reference count of the
elements of \fIobjv\fR, insuring that the values are valid until
\fBTcl_EvalObjv\fR returns.
\fBTcl_EvalObjv\fR returns.
.PP
\fBTcl_Eval\fR is similar to \fBTcl_EvalObjEx\fR except that the script to
be executed is supplied as a string instead of a value and no compilation
@@ -127,7 +127,7 @@ might be a UTF-8 special code. The string is parsed and executed directly
(using \fBTcl_EvalObjv\fR) instead of compiling it and executing the
bytecodes. In situations where it is known that the script will never be
executed again, \fBTcl_Eval\fR may be faster than \fBTcl_EvalObjEx\fR.
\fBTcl_Eval\fR returns a completion code and result just like
\fBTcl_Eval\fR returns a completion code and result just like
\fBTcl_EvalObjEx\fR. Note: for backward compatibility with versions before
Tcl 8.0, \fBTcl_Eval\fR copies the value result in \fIinterp\fR to
\fIinterp->result\fR (use is deprecated) where it can be accessed directly.
+2 -2
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Exit 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -120,7 +120,7 @@ If extension \fBA\fR registers its exit handlers before loading extension
\fBB\fR, this ensures that any exit handlers for \fBB\fR will be executed
before the exit handlers for \fBA\fR.
.PP
\fBTcl_Finalize\fR and \fBTcl_Exit\fR call \fBTcl_FinalizeThread\fR
\fBTcl_Finalize\fR and \fBTcl_Exit\fR call \fBTcl_FinalizeThread\fR
and the thread exit handlers \fIafter\fR
the process-wide exit handlers. This is because thread finalization shuts
down the I/O channel system, so any attempt at I/O by the global exit
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ExprLong 3 7.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -30,7 +30,7 @@ int
.AP Tcl_Interp *interp in
Interpreter in whose context to evaluate \fIexpr\fR.
.AP "const char" *expr in
Expression to be evaluated.
Expression to be evaluated.
.AP long *longPtr out
Pointer to location in which to store the integer value of the
expression.
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ExprLongObj 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+6 -6
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Filesystem 3 8.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -464,8 +464,8 @@ directory for all files which match a given pattern. The appropriate
function for the filesystem to which \fIpathPtr\fR belongs will be called.
.PP
The return value is a standard Tcl result indicating whether an error
occurred in globbing. Error messages are placed in interp (unless
interp is NULL, which is allowed), but good results are placed in the
occurred in globbing. Error messages are placed in interp (unless
interp is NULL, which is allowed), but good results are placed in the
resultPtr given.
.PP
Note that the \fBglob\fR code implements recursive patterns internally, so
@@ -1256,8 +1256,8 @@ not, so code should be flexible to both possibilities.
The return value is a standard Tcl result indicating whether an error
occurred in the matching process. Error messages are placed in
\fIinterp\fR, unless \fIinterp\fR in NULL in which case no error
message need be generated; on a \fBTCL_OK\fR result, results should be
added to the \fIresultPtr\fR value given (which can be assumed to be a
message need be generated; on a \fBTCL_OK\fR result, results should be
added to the \fIresultPtr\fR value given (which can be assumed to be a
valid unshared Tcl list). The matches added
to \fIresultPtr\fR should include any path prefix given in \fIpathPtr\fR
(this usually means they will be absolute path specifications).
@@ -1265,7 +1265,7 @@ Note that if no matches are found, that simply leads to an empty
result; errors are only signaled for actual file or filesystem
problems which may occur during the matching process.
.PP
The \fBTcl_GlobTypeData\fR structure passed in the \fItypes\fR
The \fBTcl_GlobTypeData\fR structure passed in the \fItypes\fR
parameter contains the following fields:
.PP
.CS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_FindExecutable 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetCwd 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" All rights reserved.
'\"
'\"
.TH Tcl_GetHostName 3 8.3 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -18,7 +18,7 @@ const char *
.SH DESCRIPTION
.PP
\fBTcl_GetHostName\fR is a utility procedure used by some of the
Tcl commands. It returns a pointer to a string containing the name
Tcl commands. It returns a pointer to a string containing the name
for the current machine, or an empty string if the name cannot be
determined. The string is statically allocated, and the caller must
not modify of free it.
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetIndexFromObj 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetInt 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetOpenFile 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+5 -5
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetStdChannel 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -34,18 +34,18 @@ Tcl defines three special channels that are used by various I/O related
commands if no other channels are specified. The standard input channel
has a channel name of \fBstdin\fR and is used by \fBread\fR and \fBgets\fR.
The standard output channel is named \fBstdout\fR and is used by
\fBputs\fR. The standard error channel is named \fBstderr\fR and is used for
\fBputs\fR. The standard error channel is named \fBstderr\fR and is used for
reporting errors. In addition, the standard channels are inherited by any
child processes created using \fBexec\fR or \fBopen\fR in the absence of any
other redirections.
.PP
The standard channels are actually aliases for other normal channels. The
current channel associated with a standard channel can be retrieved by calling
\fBTcl_GetStdChannel\fR with one of
\fBTcl_GetStdChannel\fR with one of
\fBTCL_STDIN\fR, \fBTCL_STDOUT\fR, or \fBTCL_STDERR\fR as the \fItype\fR. The
return value will be a valid channel, or NULL.
.PP
A new channel can be set for the standard channel specified by \fItype\fR
A new channel can be set for the standard channel specified by \fItype\fR
by calling \fBTcl_SetStdChannel\fR with a new channel or NULL in the
\fIchannel\fR argument. If the specified channel is closed by a later call to
\fBTcl_Close\fR, then the corresponding standard channel will automatically be
@@ -64,7 +64,7 @@ be corrected without contradicting the assumptions of some existing
code that calls \fBTcl_SetStdChannel\fR.
.PP
If \fBTcl_GetStdChannel\fR is called before \fBTcl_SetStdChannel\fR, Tcl will
construct a new channel to wrap the appropriate platform-specific standard
construct a new channel to wrap the appropriate platform-specific standard
file handle. If \fBTcl_SetStdChannel\fR is called before
\fBTcl_GetStdChannel\fR, then the default channel will not be created.
.PP
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetTime 3 8.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+4 -4
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_GetVersion 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -24,14 +24,14 @@ Minor version number of the Tcl library.
The patch level of the Tcl library (or alpha or beta number).
.AP Tcl_ReleaseType *type out
The type of release, also indicates the type of patch level. Can be
one of \fBTCL_ALPHA_RELEASE\fR, \fBTCL_BETA_RELEASE\fR, or
one of \fBTCL_ALPHA_RELEASE\fR, \fBTCL_BETA_RELEASE\fR, or
\fBTCL_FINAL_RELEASE\fR.
.BE
.SH DESCRIPTION
.PP
\fBTcl_GetVersion\fR should be used to query the version number
of the Tcl library at runtime. This is useful when using a
of the Tcl library at runtime. This is useful when using a
dynamically loaded Tcl library or when writing a stubs-aware
extension. For instance, if you write an extension that is
linked against the Tcl stubs library, it could be loaded into
@@ -39,7 +39,7 @@ a program linked to an older version of Tcl than you expected.
Use \fBTcl_GetVersion\fR to verify that fact, and possibly to
change the behavior of your extension.
.PP
\fBTcl_GetVersion\fR accepts NULL for any of the arguments. For instance if
\fBTcl_GetVersion\fR accepts NULL for any of the arguments. For instance if
you do not care about the \fIpatchLevel\fR of the library, pass
a NULL for the \fIpatchLevel\fR argument.
+5 -5
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Hash 3 "" Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -131,13 +131,13 @@ The pointer value is the key; it need not (and usually does not)
actually point to a string.
.IP \fBTCL_CUSTOM_TYPE_KEYS\fR 25
Keys are of arbitrary type, and are stored in the entry. Hashing
and comparison is determined by \fItypePtr\fR. The Tcl_HashKeyType
structure is described in the section
and comparison is determined by \fItypePtr\fR. The Tcl_HashKeyType
structure is described in the section
\fBTHE TCL_HASHKEYTYPE STRUCTURE\fR below.
.IP \fBTCL_CUSTOM_PTR_KEYS\fR 25
Keys are pointers to an arbitrary type, and are stored in the entry. Hashing
and comparison is determined by \fItypePtr\fR. The Tcl_HashKeyType
structure is described in the section
and comparison is determined by \fItypePtr\fR. The Tcl_HashKeyType
structure is described in the section
\fBTHE TCL_HASHKEYTYPE STRUCTURE\fR below.
.IP \fIother\fR 25
If \fIkeyType\fR is not one of the above,
+1 -1
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" All rights reserved.
'\"
'\"
.TH Tcl_Init 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_InitStubs 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -3
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_IntObj 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -87,7 +87,7 @@ used to initialize a multi-precision integer value.
.SH DESCRIPTION
.PP
These procedures are used to create, modify, and read Tcl values
that hold integral values.
that hold integral values.
.PP
The different routines exist to accommodate different integral types in C
with which values might be exchanged. The C integral types for which Tcl
@@ -99,7 +99,7 @@ typedef defined to be whatever signed integral type covers at least the
on the platform and the C compiler, the actual type might be
\fBlong int\fR, \fBlong long int\fR, \fBint64\fR, or something else.
The \fBmp_int\fR type is a multiple-precision integer type defined
by the LibTomMath multiple-precision integer library.
by the LibTomMath multiple-precision integer library.
.PP
The \fBTcl_NewIntObj\fR, \fBTcl_NewLongObj\fR, \fBTcl_NewWideIntObj\fR,
and \fBTcl_NewBignumObj\fR routines each create and return a new
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Interp 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -76,7 +76,7 @@ and store a pointer to it in \fIinterp->result\fR.
In this case, the command procedure must also set \fIinterp->freeProc\fR
to the address of a procedure that can free the value, or \fBTCL_DYNAMIC\fR
if the storage was allocated directly by Tcl or by a call to
\fBTcl_Alloc\fR.
\fBTcl_Alloc\fR.
If \fIinterp->freeProc\fR is non-zero, then Tcl will call \fIfreeProc\fR
to free the space pointed to by \fIinterp->result\fR before it
invokes the next command.
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_LimitCheck 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_LinkVar 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+4 -4
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ListObj 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -64,7 +64,7 @@ Points to location where \fBTcl_ListObjGetElements\fR
stores the number of element values in \fIlistPtr\fR.
.AP Tcl_Obj ***objvPtr out
A location where \fBTcl_ListObjGetElements\fR stores a pointer to an array
of pointers to the element values of \fIlistPtr\fR.
of pointers to the element values of \fIlistPtr\fR.
.AP int objc in
The number of Tcl values that \fBTcl_NewListObj\fR
will insert into a new list value,
@@ -75,7 +75,7 @@ the number of Tcl values to insert into \fIobjPtr\fR.
An array of pointers to values.
\fBTcl_NewListObj\fR will insert these values into a new list value
and \fBTcl_ListObjReplace\fR will insert them into an existing \fIlistPtr\fR.
Each value will become a separate list element.
Each value will become a separate list element.
.AP int *intPtr out
Points to location where \fBTcl_ListObjLength\fR
stores the length of the list.
@@ -134,7 +134,7 @@ If no error occurs,
the two procedures return \fBTCL_OK\fR after appending the values.
.PP
\fBTcl_NewListObj\fR and \fBTcl_SetListObj\fR
create a new value or modify an existing value to hold
create a new value or modify an existing value to hold
the \fIobjc\fR elements of the array referenced by \fIobjv\fR
where each element is a pointer to a Tcl value.
If \fIobjc\fR is less than or equal to zero,
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Load 3 8.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+3 -1
View File
@@ -67,7 +67,9 @@ The class to create the method in.
The name of the method to create. Should not be NULL unless creating
constructors or destructors.
.AP int isPublic in
A boolean flag saying whether the method is to be exported.
A flag saying what the visibility of the method is. The only supported public
values of this flag are 0 for a non-exported method, and 1 for an exported
method.
.AP Tcl_MethodType *methodTypePtr in
A description of the type of the method to create, or the type of method to
compare against.
+6 -6
View File
@@ -3,7 +3,7 @@
.\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH NRE 3 8.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -45,7 +45,7 @@ Name of a new command to create.
Implementation of a command that will be called whenever \fIcmdName\fR
is invoked as a command in the unoptimized way.
.AP Tcl_ObjCmdProc *nreProc in
Implementation of a command that will be called whenever \fIcmdName\fR
Implementation of a command that will be called whenever \fIcmdName\fR
is invoked and requested to conserve the C stack.
.AP ClientData clientData in
Arbitrary one-word value that will be passed to \fIproc\fR, \fInreProc\fR,
@@ -83,13 +83,13 @@ executing in the interpreter designated by \fIinterp\fR completes.
to the function designated by \fIpostProcPtr\fR when it is invoked.
.BE
.SH DESCRIPTION
.PP
.PP
This series of C functions provides an interface whereby commands that
are implemented in C can be evaluated, and invoke Tcl commands scripts
and scripts, without consuming space on the C stack. The non-recursive
evaluation is done by installing a \fItrampoline\fR, a small piece of
code that invokes a command or script, and then executes a series of
callbacks when the command or script returns.
callbacks when the command or script returns.
.PP
The \fBTcl_NRCreateCommand\fR function creates a Tcl command in the
interpreter designated by \fIinterp\fR that is prepared to handle
@@ -149,7 +149,7 @@ The remaining arguments are as for \fBTcl_NREvalObjv\fR.
\fBTcl_NREvalObj\fR, \fBTcl_NREvalObjv\fR and \fBTcl_NRCmdSwap\fR
all accept a \fIflags\fR parameter, which is an OR-ed-together set of
bits to control evaluation. At the present time, the only supported flag
available to callers is \fBTCL_EVAL_GLOBAL\fR.
available to callers is \fBTCL_EVAL_GLOBAL\fR.
.\" TODO: Again, this is a lie. Do we want to explain TCL_EVAL_INVOKE
.\" and TCL_EVAL_NOERR?
If the \fBTCL_EVAL_GLOBAL\fR flag is set, the script or command is
@@ -255,7 +255,7 @@ int
int objc,
Tcl_Obj *const objv[])
{
return \fBTcl_NRCallObjProc\fR(interp, \fITheCmdNRObjProc\fR,
return \fBTcl_NRCallObjProc\fR(interp, \fITheCmdNRObjProc\fR,
clientData, objc, objv);
}
.CE
+2 -2
View File
@@ -3,10 +3,10 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
'\" Note that some of these functions do not seem to belong, but they
'\" were all introduced with the same TIP (#139)
'\"
'\"
.TH Tcl_Namespace 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Notifier 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -143,7 +143,7 @@ servicing at a future time. Threaded applications work in a
similar manner, except that there is a separate event queue for
each thread containing a Tcl interpreter.
\fBTcl_QueueEvent\fR is used (primarily
by event sources) to add events to the event queue and
by event sources) to add events to the event queue and
\fBTcl_DeleteEvents\fR is used to remove events from the queue without
processing them. In a threaded application, \fBTcl_QueueEvent\fR adds
an event to the current thread's queue, and \fBTcl_ThreadQueueEvent\fR
+2 -2
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Obj 3 8.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -94,7 +94,7 @@ Also, most Tcl values are only read and never modified.
This is especially true for procedure arguments,
which can be shared between the caller and the called procedure.
Assignment and argument binding is done by
simply assigning a pointer to the value.
simply assigning a pointer to the value.
Reference counting is used to determine when it is safe to
reclaim a value's storage.
.PP
+4 -4
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ObjType 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -76,8 +76,8 @@ in that case \fBTCL_ERROR\fR is returned.
if possible.
It creates a new internal representation for \fIobjPtr\fR
appropriate for the target type \fItypePtr\fR
and sets its \fItypePtr\fR member as determined by calling the
\fItypePtr->setFromAnyProc\fR routine.
and sets its \fItypePtr\fR member as determined by calling the
\fItypePtr->setFromAnyProc\fR routine.
Any internal representation for \fIobjPtr\fR's old type is freed.
If an error occurs during conversion, it returns \fBTCL_ERROR\fR
and leaves an error message in the result value for \fIinterp\fR
@@ -181,7 +181,7 @@ typedef void \fBTcl_UpdateStringProc\fR(
It must always set \fIbytes\fR non-NULL before returning.
We require the string representation's byte array
to have a null after the last byte, at offset \fIlength\fR,
and to have no null bytes before that; this allows string representations
and to have no null bytes before that; this allows string representations
to be treated as conventional null character-terminated C strings.
These restrictions are easily met by using Tcl's internal UTF encoding
for the string representation, same as one would do for other
+13 -13
View File
@@ -115,7 +115,7 @@ Used for error reporting and to look up a channel registered in it.
The name of a local or network file.
.AP "const char" *mode in
Specifies how the file is to be accessed. May have any of the values
allowed for the \fImode\fR argument to the Tcl \fBopen\fR command.
allowed for the \fImode\fR argument to the Tcl \fBopen\fR command.
.AP int permissions in
POSIX-style permission flags such as 0644. If a new file is created, these
permissions will be set on the created file.
@@ -141,7 +141,7 @@ file descriptor, for Windows it is a HANDLE.
OR-ed combination of \fBTCL_READABLE\fR and \fBTCL_WRITABLE\fR to indicate
what operations are valid on \fIhandle\fR.
.AP "const char" *channelName in
The name of the channel.
The name of the channel.
.AP int *modePtr out
Points at an integer variable that will receive an OR-ed combination of
\fBTCL_READABLE\fR and \fBTCL_WRITABLE\fR denoting whether the channel is
@@ -155,8 +155,8 @@ from a procedure such as \fBTcl_OpenFileChannel\fR.
A pointer to a Tcl value in which to store the characters read from the
channel.
.AP int charsToRead in
The number of characters to read from the channel. If the channel's encoding
is \fBbinary\fR, this is equivalent to the number of bytes to read from the
The number of characters to read from the channel. If the channel's encoding
is \fBbinary\fR, this is equivalent to the number of bytes to read from the
channel.
.AP int appendFlag in
If non-zero, data read from the channel will be appended to the value.
@@ -169,7 +169,7 @@ be large enough to hold this many bytes.
.AP Tcl_Obj *lineObjPtr in/out
A pointer to a Tcl value in which to store the line read from the
channel. The line read will be appended to the current value of the
value.
value.
.AP Tcl_DString *lineRead in/out
A pointer to a Tcl dynamic string in which to store the line read from the
channel. Must have been initialized by the caller. The line read will be
@@ -238,8 +238,8 @@ If an error occurs while opening the channel, \fBTcl_OpenFileChannel\fR
returns NULL and records a POSIX error code that can be
retrieved with \fBTcl_GetErrno\fR.
In addition, if \fIinterp\fR is non-NULL, \fBTcl_OpenFileChannel\fR
leaves an error message in \fIinterp\fR's result after any error.
As of Tcl 8.4, the value-based API \fBTcl_FSOpenFileChannel\fR should
leaves an error message in \fIinterp\fR's result after any error.
As of Tcl 8.4, the value-based API \fBTcl_FSOpenFileChannel\fR should
be used in preference to \fBTcl_OpenFileChannel\fR wherever possible.
.PP
The newly created channel is not registered in the supplied interpreter; to
@@ -360,7 +360,7 @@ the standard channels (\fBstdout\fR, \fBstderr\fR, \fBstdin\fR), and will return
Code not associated with a Tcl interpreter can call
\fBTcl_DetachChannel\fR with \fIinterp\fR as NULL, to indicate to Tcl
that it no longer holds a reference to that channel. If this is the last
reference to the channel, unlike \fBTcl_UnregisterChannel\fR,
reference to the channel, unlike \fBTcl_UnregisterChannel\fR,
it will not be closed.
.SH TCL_ISSTANDARDCHANNEL
.PP
@@ -368,7 +368,7 @@ it will not be closed.
three standard channels, \fBstdin\fR, \fBstdout\fR or \fBstderr\fR.
If so, it returns 1, otherwise 0.
.PP
No attempt is made to check whether the given channel or the standard
No attempt is made to check whether the given channel or the standard
channels are initialized or otherwise valid.
.SH TCL_CLOSE
.PP
@@ -402,7 +402,7 @@ corresponding calls to \fBTcl_UnregisterChannel\fR.
.SH "TCL_READCHARS AND TCL_READ"
.PP
\fBTcl_ReadChars\fR consumes bytes from \fIchannel\fR, converting the bytes
to UTF-8 based on the channel's encoding and storing the produced data in
to UTF-8 based on the channel's encoding and storing the produced data in
\fIreadObjPtr\fR's string representation. The return value of
\fBTcl_ReadChars\fR is the number of characters, up to \fIcharsToRead\fR,
that were stored in \fIreadObjPtr\fR. If an error occurs while reading, the
@@ -450,7 +450,7 @@ extensions. It consumes bytes from \fIchannel\fR and stores them in
of \fBTcl_Read\fR is the number of bytes, up to \fIbytesToRead\fR, written in
\fIreadBuf\fR. The buffer produced by \fBTcl_Read\fR is not null-terminated.
Its contents are valid from the zeroth position up to and excluding the
position indicated by the return value.
position indicated by the return value.
.PP
\fBTcl_ReadRaw\fR is the same as \fBTcl_Read\fR but does not
compensate for stacking. While \fBTcl_Read\fR (and the other functions
@@ -507,7 +507,7 @@ to be null-terminated and it outputs everything up to the null.
.PP
Data queued for output may not appear on the output device immediately, due
to internal buffering. If the data should appear immediately, call
\fBTcl_Flush\fR after the call to \fBTcl_WriteChars\fR, or set the
\fBTcl_Flush\fR after the call to \fBTcl_WriteChars\fR, or set the
\fB\-buffering\fR option on the channel to \fBnone\fR. If you wish the data
to appear as soon as a complete line is accepted for output, set the
\fB\-buffering\fR option on the channel to \fBline\fR mode.
@@ -525,7 +525,7 @@ channel. This is done even if the channel has no encoding.
\fBTcl_WriteObj\fR is similar to \fBTcl_WriteChars\fR except it
accepts a Tcl value whose contents will be output to the channel. The
UTF-8 characters in \fIwriteObjPtr\fR's string representation are converted
to the channel's encoding and queued for output to \fIchannel\fR.
to the channel's encoding and queued for output to \fIchannel\fR.
As a performance optimization, when writing to a channel with the encoding
\fBbinary\fR, UTF-8 characters are not converted as they are written.
Instead, the bytes in \fIwriteObjPtr\fR's internal representation as a
+1 -1
View File
@@ -130,7 +130,7 @@ for the new channel, \fIhostName\fR points to a string containing
the name of the client host making the connection, and \fIport\fR
will contain the client's port number.
The new channel
is opened for both input and output.
is opened for both input and output.
If \fIproc\fR raises an error, the connection is closed automatically.
\fIProc\fR has no return value, but if it wishes to reject the
connection it can close \fIchannel\fR.
+2 -2
View File
@@ -1,7 +1,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Panic 3 8.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -69,7 +69,7 @@ After \fBTcl_SetPanicProc\fR returns, any future calls to
\fIformat\fR and \fIarg\fR arguments. \fIpanicProc\fR should avoid
making calls into the Tcl library, or into other libraries that may
call the Tcl library, since the original call to \fBTcl_Panic\fR
indicates the Tcl library is not in a state of reliable operation.
indicates the Tcl library is not in a state of reliable operation.
.PP
The typical use of \fBTcl_SetPanicProc\fR arranges for the error message
to be displayed or reported in a manner more suitable for the
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ParseArgsObjv 3 8.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+9 -9
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_ParseCommand 3 8.3 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -56,7 +56,7 @@ following \fIstart\fR up to the first null character.
.AP int nested in
Non-zero means that the script is part of a command substitution so an
unquoted close bracket should be treated as a command terminator. If zero,
close brackets have no special meaning.
close brackets have no special meaning.
.AP int append in
Non-zero means that \fI*parsePtr\fR already contains valid tokens; the new
tokens should be appended to those already present. Zero means that
@@ -118,7 +118,7 @@ result, and no information is left at \fI*parsePtr\fR.
enclosed in braces such as
\fB{hello}\fR or \fB{string \et with \et tabs}\fR
from the beginning of its argument \fIstart\fR.
The first character of \fIstart\fR must be \fB{\fR.
The first character of \fIstart\fR must be \fB{\fR.
If the braced string was parsed successfully,
\fBTcl_ParseBraces\fR returns \fBTCL_OK\fR,
fills in the structure pointed to by \fIparsePtr\fR
@@ -134,7 +134,7 @@ and no information is left at \fI*parsePtr\fR or \fI*termPtr\fR.
\fBTcl_ParseQuotedString\fR parses a double-quoted string such as
\fB"sum is [expr {$a+$b}]"\fR
from the beginning of the argument \fIstart\fR.
The first character of \fIstart\fR must be \fB\N'34'\fR.
The first character of \fIstart\fR must be \fB\N'34'\fR.
If the double-quoted string was parsed successfully,
\fBTcl_ParseQuotedString\fR returns \fBTCL_OK\fR,
fills in the structure pointed to by \fIparsePtr\fR
@@ -150,7 +150,7 @@ and no information is left at \fI*parsePtr\fR or \fI*termPtr\fR.
\fBTcl_ParseVarName\fR parses a Tcl variable reference such as
\fB$abc\fR or \fB$x([expr {$index + 1}])\fR from the beginning of its
\fIstart\fR argument.
The first character of \fIstart\fR must be \fB$\fR.
The first character of \fIstart\fR must be \fB$\fR.
If a variable name was parsed successfully, \fBTcl_ParseVarName\fR
returns \fBTCL_OK\fR and fills in the structure pointed to by
\fIparsePtr\fR with information about the structure of the variable name
@@ -184,7 +184,7 @@ a Tcl_Parse structure. The tokens typically consist
of all the tokens in a word or all the tokens that make up the index for
a reference to an array variable. \fBTcl_EvalTokensStandard\fR performs the
substitutions requested by the tokens and concatenates the
resulting values.
resulting values.
The return value from \fBTcl_EvalTokensStandard\fR is a Tcl completion
code with one of the values \fBTCL_OK\fR, \fBTCL_ERROR\fR,
\fBTCL_RETURN\fR, \fBTCL_BREAK\fR, or \fBTCL_CONTINUE\fR, or possibly
@@ -242,7 +242,7 @@ character that terminates the last comment.
If the command is not preceded by any comments, \fIcommentSize\fR is 0.
\fBTcl_ParseCommand\fR also sets the \fIcommandStart\fR field
to point to the first character of the first
word in the command (skipping any comments and leading space) and
word in the command (skipping any comments and leading space) and
\fIcommandSize\fR gives the total number of bytes in the command,
including the character pointed to by \fIcommandStart\fR up to and
including the newline, close bracket, or semicolon character that
@@ -350,7 +350,7 @@ just the \fBTCL_TOKEN_OPERATOR\fR token.
Each operand is described by a \fBTCL_TOKEN_SUB_EXPR\fR token.
Otherwise, the subexpression is a value described by
one of the token types \fBTCL_TOKEN_WORD\fR, \fBTCL_TOKEN_TEXT\fR,
\fBTCL_TOKEN_BS\fR, \fBTCL_TOKEN_COMMAND\fR,
\fBTCL_TOKEN_BS\fR, \fBTCL_TOKEN_COMMAND\fR,
\fBTCL_TOKEN_VARIABLE\fR, and \fBTCL_TOKEN_SUB_EXPR\fR.
The \fInumComponents\fR field
counts the total number of sub-tokens that make up the subexpression;
@@ -389,7 +389,7 @@ is always 0.
After \fBTcl_ParseCommand\fR returns, the first token pointed to by
the \fItokenPtr\fR field of the
Tcl_Parse structure always has type \fBTCL_TOKEN_WORD\fR or
\fBTCL_TOKEN_SIMPLE_WORD\fR or \fBTCL_TOKEN_EXPAND_WORD\fR.
\fBTCL_TOKEN_SIMPLE_WORD\fR or \fBTCL_TOKEN_EXPAND_WORD\fR.
It is followed by the sub-tokens
that must be concatenated to produce the value of that word.
The next token is the \fBTCL_TOKEN_WORD\fR or \fBTCL_TOKEN_SIMPLE_WORD\fR
+3 -3
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_PkgRequire 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -75,8 +75,8 @@ procedures do.
.PP
If \fBTcl_PkgPresent\fR or \fBTcl_PkgRequire\fR complete successfully
they return a pointer to the version string for the version of the package
that is provided in the interpreter (which may be different than
\fIversion\fR); if an error occurs they return NULL and leave an error
that is provided in the interpreter (which may be different than
\fIversion\fR); if an error occurs they return NULL and leave an error
message in the interpreter's result.
.PP
\fBTcl_PkgProvide\fR returns \fBTCL_OK\fR if it completes successfully;
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_Preserve 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_PrintDouble 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_RecordAndEvalObj 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_RecordAndEval 3 7.4 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+5 -5
View File
@@ -5,7 +5,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_RegExpMatch 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -103,7 +103,7 @@ should be stored by \fBTcl_RegExpGetInfo\fR.
\fBTcl_RegExpMatch\fR determines whether its \fIpattern\fR argument
matches \fIregexp\fR, where \fIregexp\fR is interpreted
as a regular expression using the rules in the \fBre_syntax\fR
reference page.
reference page.
If there is a match then \fBTcl_RegExpMatch\fR returns 1.
If there is no match then \fBTcl_RegExpMatch\fR returns 0.
If an error occurs in the matching process (e.g. \fIpattern\fR
@@ -111,7 +111,7 @@ is not a valid regular expression) then \fBTcl_RegExpMatch\fR
returns \-1 and leaves an error message in the interpreter result.
\fBTcl_RegExpMatchObj\fR is similar to \fBTcl_RegExpMatch\fR except it
operates on the Tcl values \fItextObj\fR and \fIpatObj\fR instead of
UTF strings.
UTF strings.
\fBTcl_RegExpMatchObj\fR is generally more efficient than
\fBTcl_RegExpMatch\fR, so it is the preferred interface.
.PP
@@ -201,7 +201,7 @@ Compile extended regular expressions
.PQ ERE s .
This mode corresponds
to the regular expression syntax recognized by Tcl 8.0 and earlier
versions.
versions.
.TP
\fBTCL_REG_BASIC\fR
Compile basic regular expressions
@@ -375,7 +375,7 @@ character in the string where a match could occur. If a match was
found, this will be the same as the beginning of the current match.
If no match was found, then it indicates the earliest point at which a
match might occur if additional text is appended to the string. If it
is no match is possible even with further text, this field will be set
is no match is possible even with further text, this field will be set
to \-1.
.SH "SEE ALSO"
re_syntax(n)
+3 -3
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SaveResult 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -67,7 +67,7 @@ a superset of the functions provided by the other routines,
any new code should only make use of the more powerful routines.
The older, weaker routines \fBTcl_SaveResult\fR, \fBTcl_RestoreResult\fR,
and \fBTcl_DiscardResult\fR continue to exist only for the sake
of existing programs that may already be using them.
of existing programs that may already be using them.
.PP
\fBTcl_SaveInterpState\fR takes a snapshot of those portions of
interpreter state that make up the full result of script evaluation.
@@ -115,6 +115,6 @@ uninitialized state and cannot be used until another call to
Once \fBTcl_SaveResult\fR is called to save the interpreter
result, either \fBTcl_RestoreResult\fR or
\fBTcl_DiscardResult\fR must be called to properly clean up the
memory associated with the saved state.
memory associated with the saved state.
.SH KEYWORDS
result, state, interp
+1 -1
View File
@@ -3,7 +3,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SetErrno 3 8.3 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+1 -1
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SetRecursionLimit 3 7.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SetResult 3 8.0 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -212,7 +212,7 @@ As a migration aid, access can be restored with the compiler directive
but this is meant only to offer life support to otherwise dead code.
.SH "THE TCL_FREEPROC ARGUMENT TO TCL_SETRESULT"
.PP
\fBTcl_SetResult\fR's \fIfreeProc\fR argument specifies how
\fBTcl_SetResult\fR's \fIfreeProc\fR argument specifies how
the Tcl system is to manage the storage for the \fIresult\fR argument.
If \fBTcl_SetResult\fR or \fBTcl_SetObjResult\fR are called
at a time when \fIinterp\fR holds a string result,
+2 -2
View File
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\"
.TH Tcl_SetVar 3 8.1 Tcl "Tcl Library Procedures"
.so man.macros
.BS
@@ -86,7 +86,7 @@ These procedures are used to create, modify, read, and delete
Tcl variables from C code.
.PP
\fBTcl_SetVar2Ex\fR, \fBTcl_SetVar\fR, \fBTcl_SetVar2\fR, and
\fBTcl_ObjSetVar2\fR
\fBTcl_ObjSetVar2\fR
will create a new variable or modify an existing one.
These procedures set the given variable to the value
given by \fInewValuePtr\fR or \fInewValue\fR and return a

Some files were not shown because too many files have changed in this diff Show More