Compare commits

...
588 Commits
Author SHA1 Message Date
dkf dd45c8be9d Merge 8.7 2020-11-08 17:31:38 +00:00
dkf 40b3d4d5dd TIP 582: Comments in Expressions 2020-11-08 17:21:09 +00:00
dkf 25c115b5a8 Added badges to README 2020-11-08 13:38:20 +00:00
dkf d4ef5a261a Added experimental Windows CI build instructions 2020-11-08 13:34:03 +00:00
dkf 81a445ad46 Updated arrangement 2020-11-08 12:08:01 +00:00
dkf ca9f2d6210 Updated README 2020-11-07 14:29:06 +00:00
dkf 0b56647743 Updated workflow name 2020-11-07 14:21:15 +00:00
dkf f827fd2a9d Added basic github action starter 2020-11-07 14:14:17 +00:00
jan.nijtmans d60bc321ce Merge 8.6 2020-11-06 17:33:22 +00:00
jan.nijtmans 4404292972 Add MSVC "StaticPackage" build to travis. Fix another bug in winDde.test which didn't account for statically loaded dde package. 2020-11-06 17:17:41 +00:00
jan.nijtmans 82ffc550db Merge jn-module-names. Sorry Don, but this is 100% compatible! 2020-11-06 16:11:58 +00:00
jan.nijtmans 89e3b6811b Deprecate the (internal) functions TclGuessPackageName/TclGetLoadedPackages functions, since they turn out to be useless. The can be removed in 9.0 2020-11-06 14:43:48 +00:00
jan.nijtmans 3c53be5e75 Correct casing of "packageName" argument in Tcl_StaticPackage() call and "load" command (which - actually - is not a packageName at all ...)
UPDATE: I am moving this to a feature branch.  Changing the arguments passed to Tcl_StaticPackage will be an incompatible break for any scripts currently searching the [info loaded] list for "dde" or "registry".  Not a change we should put in a patchlevel without at least a ticket to record the explanation and a (POTENTIAL INCOMPATIBILITY) warning.
2020-11-06 13:32:39 +00:00
dkf b7efdfe9bc Merge 8.7 2020-11-01 14:25:49 +00:00
jan.nijtmans 3b0ee42270 Merge 8.6 2020-10-30 14:05:26 +00:00
jan.nijtmans f163c24b4c Simplify testcases using "incr" 2020-10-30 13:56:15 +00:00
jan.nijtmans 8f3e8012b1 Merge 8.6 2020-10-30 13:37:42 +00:00
jan.nijtmans 076a7e2839 Add "{}" around many "expr" commands in testcases. Also in doc/expr.n 2020-10-30 13:27:52 +00:00
jan.nijtmans cfe53b8870 Merge 8.6 2020-10-29 11:18:19 +00:00
jan.nijtmans 9efaa4d7f1 Fix implib filenames (adapted from Mingw2's 006-proper-implib-name.mingw.patch)
3 new testcases
2020-10-29 10:04:24 +00:00
jan.nijtmans dc84eca339 3 new testcases 2020-10-29 09:42:42 +00:00
jan.nijtmans f15717bcda Update TZ info to tzdata2020d. 2020-10-29 09:25:55 +00:00
jan.nijtmans ff316586bc Fix implib filenames (adapted from Mingw2's 006-proper-implib-name.mingw.patch) 2020-10-29 08:56:17 +00:00
jan.nijtmans 109828f090 Slight tweak to previous commit: Move definition of __USE_MINGW_ANSI_STDIO to the Makefile 2020-10-29 07:47:08 +00:00
dgp 0df05b3515 [11229bad5f] Fix the bytecode compiler for [string insert]. 2020-10-27 20:27:19 +00:00
dgp 84623a09f2 Use TCL_ERROR to signal inability to compile. 2020-10-27 20:24:13 +00:00
dgp 1c0ca80fe5 [11229bad5f] New test to demonstrate the bug. 2020-10-27 20:09:37 +00:00
jan.nijtmans 17211d39a0 Merge 8.6 2020-10-26 23:00:59 +00:00
jan.nijtmans 37d6f90099 Revert changes in previous commit to clock.n and lassign.n 2020-10-26 22:58:22 +00:00
José Ignacio Marín 32d6283561 Update TZ info to tzdata2020d (via merge). 2020-10-26 20:32:46 +00:00
José Ignacio Marín b0654427ca Update TZ info to tzdata2020d. 2020-10-26 20:32:16 +00:00
jan.nijtmans 6e6d624ec3 Merge 8.6 2020-10-26 16:15:30 +00:00
jan.nijtmans 34d3750e3c Fix [48898ab5f6a0d957]: Too few is better than not enough? (Inconsistent error messages) 2020-10-26 15:07:03 +00:00
jan.nijtmans 63855497af Merge 8.7 2020-10-24 14:50:11 +00:00
jan.nijtmans 48d0827130 Merge 8.6 2020-10-23 15:46:20 +00:00
jan.nijtmans 1c788e178d Fix warning: /home/jboss/workspace/tcl8.7/generic/tclIO.c:9997:27: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
9997 |   RemovePoint(nextPtr)[0] = '\r';
      |                           ^
2020-10-23 15:36:16 +00:00
jan.nijtmans be83197ee5 TIP #587: One place more where TCL_CFGVAL_ENCODING should fall back to utf-8 2020-10-22 10:52:11 +00:00
jan.nijtmans 33918a2b0b TIP #587: Default utf-8 for source command 2020-10-22 10:30:05 +00:00
jan.nijtmans 6459a50433 Merge 8.6 2020-10-22 10:23:31 +00:00
jan.nijtmans cac264cd19 Merge 8.5 (rename internal TCL_I_MODIFIER -> TCL_Z_MODIFIER) 2020-10-22 09:56:19 +00:00
jan.nijtmans c41f605368 (cherry-pick): Fix [c975939973]: Usage of gnu_printf in latest mingw-w64.
Change (internal, windows-only) TCL_I_MODIFIER to TCL_Z_MODIFIER, since that's how it's called in Tcl 8.7 and up
2020-10-22 09:23:49 +00:00
culler fb10e693b2 When building a subframework for macOS use a build directory in the staging directory. 2020-10-21 18:02:31 +00:00
jan.nijtmans 8514e60248 Merge 8.6 2020-10-21 08:51:44 +00:00
jan.nijtmans fd9662ee1c Fix [c975939973]: Usage of gnu_printf in latest mingw-w64 2020-10-21 07:48:31 +00:00
José Ignacio Marín 28e7632fe6 Update TZ info to tzdata2020c. 2020-10-20 20:39:49 +00:00
José Ignacio Marín 7f986a59bf Update TZ info to tzdata2020c. 2020-10-20 20:35:59 +00:00
culler ad823f4eb1 Add a make variable to GNUmakefile for building the Tcl.framework for use as a subframework 2020-10-19 19:22:39 +00:00
jan.nijtmans 4cecb91655 Merge 8.6.
Restore "install-strip" target to what it was in Tcl 8.6. Just don't use it any more on MacOS, since that's the only platform it doesn't work well.
2020-10-19 13:06:15 +00:00
jan.nijtmans 40c3ec35ee Improve comment in install-sh, regarding Tcl-specific change 2020-10-19 07:25:23 +00:00
jan.nijtmans 0b669eacf8 Fix [cb458261c3]: Strip comme il faut (without really doing 'il faut' ....). Update 'install-sh' to latest upstream version, but re-add this commit: [b269db5d3e97b67c] 2020-10-19 07:21:45 +00:00
jan.nijtmans 8ce6115cf5 3 times -1 -> TCL_INDEX_NONE 2020-10-18 16:24:41 +00:00
jan.nijtmans 81060c0741 Merge 8.6 2020-10-16 16:24:20 +00:00
jan.nijtmans 71b64b8e1c Still troubles with GIT on Travis 2020-10-16 16:21:29 +00:00
jan.nijtmans dd306f5b8f Merge 8.6 2020-10-16 16:02:35 +00:00
jan.nijtmans 69875ee99d Fix env.test when running under wine on Linux.
Mark other tests with "notWine", which fail currently under wine
2020-10-16 15:03:08 +00:00
jan.nijtmans 546165585c Remove use of CFG_ENCODING from rules.vc/makefile.vc: It will become obsolete with TIP #587. In stead, move the default handling to tclPkgConfig.c for now 2020-10-15 13:05:20 +00:00
jan.nijtmans fd320780c7 Merge 8.6 2020-10-15 11:06:01 +00:00
jan.nijtmans 59a788a6c4 Fix [53d5155335]: Typo in interp.n 2020-10-15 11:02:21 +00:00
jan.nijtmans e51ff962f0 Merge 8.6 2020-10-15 09:24:27 +00:00
jan.nijtmans f3ae2684eb Something strange going on on Travis with (long-gone) safe-stock86.test 2020-10-15 09:19:29 +00:00
jan.nijtmans e3f7f1bad8 Fix MSVC++ 6.0 build 2020-10-14 06:55:03 +00:00
jan.nijtmans f70e1f98b3 Merge 8.6 2020-10-13 15:45:26 +00:00
jan.nijtmans 3fc1392c92 More usage of TclNewObj() in stead of Tcl_NewObj() and TclNewIntObj() in stead of Tcl_NewIntObj() 2020-10-13 14:59:43 +00:00
jan.nijtmans fe00b6dcf6 Merge 8.6 Eliminate some (correct but actually harmless) warnings only happening on win64 2020-10-13 09:07:58 +00:00
jan.nijtmans 81e7623b78 Fix warning, doing a static build on Windows 2020-10-13 08:48:22 +00:00
José Ignacio Marín ceb9567874 Update TZ info to tzdata2020b. 2020-10-10 20:36:33 +00:00
José Ignacio Marín 579cd0b138 Update TZ info to tzdata2020b. 2020-10-10 20:34:58 +00:00
jan.nijtmans cd1fc2183e Merge 8.6. Don't inline functions which are too big to be inlined (according to the -Winline compiler flag) 2020-10-09 12:53:47 +00:00
jan.nijtmans 208927f009 Merge 8.5 2020-10-09 07:42:21 +00:00
jan.nijtmans e250b6f551 (cherry-pick): Fix [014ade1d44]: Misleading error message when using "-path" multiple times with "glob".
Also fix a few (harmless) -Wundef warnings
2020-10-09 07:10:22 +00:00
jan.nijtmans 7bf5af5c22 Make everything compile warning-free with -Wundef. Put enum ASSEM_DICT_GET_DEF last in TalInstType, so it's binary compatible with Tcl 8.6 2020-10-08 13:33:11 +00:00
jan.nijtmans 4a3369807b Eliminate warnings when compiling with -Wundef 2020-10-08 12:11:11 +00:00
jan.nijtmans 92bd8b3a3f Merge 8.6 2020-10-08 09:33:28 +00:00
jan.nijtmans 5039e7ce17 Fix [014ade1d44]: Misleading error message when using "-path" multiple times with "glob" 2020-10-08 09:13:57 +00:00
jan.nijtmans 5c9a145403 Merge 8.5 2020-10-08 09:07:54 +00:00
jan.nijtmans e53cbf77bf xcode12 -> xcode12.2. Prevent build warning about generic/tclStubInit.c 2020-10-07 16:34:57 +00:00
jan.nijtmans ec01eef200 merge-mark 2020-10-06 13:29:54 +00:00
jan.nijtmans a9405cc253 (cherry-pick): HAVE_TM_GMTOFF detection doesn't work if CFLAGS contains -Werror. Here's the fix. 2020-10-06 13:28:24 +00:00
jan.nijtmans 17b3cb8739 Fix (possible) gcc warnings in unix/dltest/*.c 2020-10-06 13:26:07 +00:00
jan.nijtmans 4dfeb77d2e HAVE_TM_GMTOFF detection doesn't work if CFLAGS contains -Werror. Here's the fix. 2020-10-06 13:20:42 +00:00
jan.nijtmans f7bdf7cfb1 Adapt function signatures in compat/string.h to what's normal nowadays 2020-10-06 08:44:15 +00:00
jan.nijtmans b7c4b811ec Fix -Wshadow warnings, when compiling with a C++ compiler 2020-10-02 16:28:09 +00:00
jan.nijtmans 09fd21b65b Merge 8.7 2020-10-01 12:38:14 +00:00
jan.nijtmans cb6ae54424 Merge 8.6 2020-09-30 14:54:30 +00:00
jan.nijtmans 1f4f47ccf5 (slightly) better error-message for invalid http -headers option. This works for plain 8.6 too 2020-09-30 14:49:15 +00:00
jan.nijtmans 195ea285da TIP #581 tweak: Don't report "slaves" as valid option for "interp" 2020-09-30 14:29:16 +00:00
oehhar 20d206c4c2 Ticket [0063cbcada]: From tcl 8.7 on, use "string is dict" instead "string is list" & length %2 == 0 to check for a valid dict 2020-09-30 12:19:53 +00:00
oehhar 98a93d4ca7 Ticket [0063cbcada]: check http::geturl -headers parameter to be a dict 2020-09-29 16:21:53 +00:00
oehhar accd2800ec Ticket [0063cbcada]: check http::geturl -headers parameter to be a dict 2020-09-29 16:16:27 +00:00
oehhar 2b01204e41 Remove wrong copy of test case http-3.2 2020-09-29 16:12:12 +00:00
oehhar 43e27f10a5 Ticket [0063cbcada]: check http::geturl -headers parameter to be a dict. 2020-09-29 08:15:32 +00:00
jan.nijtmans 2342babe99 Add -Wshadow flag to the compiler, so we will be notified when (accidently) shadowing variable names 2020-09-29 07:14:00 +00:00
jan.nijtmans 6ac6380f7a Merge-mark 2020-09-28 15:02:33 +00:00
jan.nijtmans 38b30033c8 Update internal zlib channel type from TCL_CHANNEL_VERSION_3 to TCL_CHANNEL_VERSION_5. Not actually a change, since supported procs are the same. So all internal channels have the same type 2020-09-28 15:00:02 +00:00
dgp 2a48060425 Restore change with correction. 2020-09-28 13:34:57 +00:00
dgp 8e25003fbd Revert change that made test expr-20.2 fail. 2020-09-28 13:02:46 +00:00
jan.nijtmans 947369a720 Merge 8.6 2020-09-28 10:39:50 +00:00
jan.nijtmans f6bf85fb67 Make Tcl compile warning-free using -Wshadow 2020-09-28 10:13:51 +00:00
jan.nijtmans 94a0658bc2 Merge 8.6 2020-09-26 18:38:01 +00:00
jan.nijtmans 866a79313b Merge 8.5 2020-09-26 18:32:06 +00:00
jan.nijtmans 636e4d4826 Tweak xcode labels for Travis build 2020-09-26 18:25:56 +00:00
jan.nijtmans e6b8f92493 Build Travis with Xcode 12 and 12u (Universal Apps) 2020-09-25 15:17:06 +00:00
jan.nijtmans 194cfb5382 Merge 8.7 2020-09-25 14:26:42 +00:00
jan.nijtmans 29577449a1 Use utf-8 as default encoding for configuration information 2020-09-25 14:17:14 +00:00
jan.nijtmans 21b10cef38 Merge 8.7 2020-09-25 12:16:48 +00:00
jan.nijtmans b8b008ad84 TIP #587 for Tcl 8.7 2020-09-25 10:57:35 +00:00
jan.nijtmans abc23e6723 TCL_CFGVAL_ENCODING now defaults to "utf-8" as well.
No explicit "-encoding utf-8" for "source" any more, since that's the default
2020-09-24 12:54:15 +00:00
jan.nijtmans 3fcb054f91 Merge trunk. Use utf-8 explicitly when reading/writing script files 2020-09-22 12:25:15 +00:00
jan.nijtmans 5189ce8eae Merge 8.7 2020-09-22 12:20:14 +00:00
jan.nijtmans 768db27d4c Merge 8.7 2020-09-20 21:44:53 +00:00
dgp a9fc439a35 merge 8.7 2020-09-20 16:06:03 +00:00
jan.nijtmans fb77f1148f Default utf-8 for source command 2020-09-20 11:17:56 +00:00
jan.nijtmans 0266195479 Merge 8.7 2020-09-20 10:27:01 +00:00
jan.nijtmans 516be1cd2e Fix [9ffffcbeee]: compiler warnings in regcomp.c 2020-09-20 09:05:38 +00:00
jan.nijtmans 7b7d6e2116 Fix [bf58b04202]: compiler warning in tclEnv.c 2020-09-20 08:59:39 +00:00
dgp bfbfb2e5d3 merge 8.7 2020-09-19 17:21:08 +00:00
jan.nijtmans 57849b86a1 Fix gcc warnings, compiling on 32-bit Linux 2020-09-18 23:05:34 +00:00
jan.nijtmans f0ab6a724c New macro TclNewIndexObj() which does the same as TclNewWideIntObjFromSize() but optimized the same way as TclNewIntObj(). 2020-09-18 08:33:51 +00:00
jan.nijtmans be275081a1 Merge 8.7 2020-09-17 14:12:55 +00:00
jan.nijtmans 0a36b1187d Merge 8.7 2020-09-17 09:31:16 +00:00
jan.nijtmans c11add7a17 Merge 8.7 2020-09-16 07:03:27 +00:00
jan.nijtmans 5758c119f8 Merge 8.7 2020-09-15 15:07:44 +00:00
jan.nijtmans 39aec08fb0 Merge 8.7 2020-09-14 13:25:16 +00:00
fvogel f073bc7484 Merge implementation of TIP #585 (Promote the INDEX_TEMP_TABLE flag of Tcl_GetIndexFromObj*() to the public interface) after positive vote from the TCT. Fix conflict due to Tcl_GetIndexFromObj() having been replaced by a macro in [4d8ee0f939]. 2020-09-13 20:46:12 +00:00
jan.nijtmans 278837f261 More usage for TclNewWideIntObjFromSize(), TCL_IO_FAILURE -> TCL_INDEX_NONE where appropriate 2020-09-11 14:23:14 +00:00
jan.nijtmans d16f803f15 Merge 8.7 2020-09-11 14:11:49 +00:00
jan.nijtmans aa4c91c838 Merge 8.7 2020-09-11 13:20:59 +00:00
jan.nijtmans 2061afedcc Merge 8.7 2020-09-10 16:58:26 +00:00
jan.nijtmans 1699143ae3 Merge 8.7 2020-09-09 06:57:05 +00:00
jan.nijtmans 5cf272491e Merge 8.7 2020-09-07 13:40:43 +00:00
jan.nijtmans 264c574c23 ckfree -> Tcl_Free 2020-09-05 22:10:31 +00:00
jan.nijtmans 230f0601cc Merge core-8-branch 2020-09-05 21:59:34 +00:00
jan.nijtmans ff741e8b29 Merge 8.7 2020-09-04 16:45:51 +00:00
jan.nijtmans 1674055d7a Merge 8.7 2020-09-04 07:59:10 +00:00
jan.nijtmans a9843e57c2 Merge 8.7 2020-09-01 10:51:52 +00:00
jan.nijtmans 0468c659f5 Merge 8.7 2020-08-31 09:37:17 +00:00
jan.nijtmans 0cb06ba3ca Merge 8.7 2020-08-30 21:31:49 +00:00
jan.nijtmans 532db685f4 Merge 8.7 2020-08-26 14:56:50 +00:00
jan.nijtmans fcab027ea1 Merge 8.7 2020-08-25 10:50:49 +00:00
dkf fe94c1d6c4 Tricky case in function calls. 2020-08-24 13:31:00 +00:00
dkf 1192757fb7 Added two test cases 2020-08-24 08:56:34 +00:00
dkf c76cad8a92 Added documentation 2020-08-22 14:24:31 +00:00
dkf 42a34d459e Implementation of TIP 582: comments in expressions 2020-08-22 14:14:05 +00:00
jan.nijtmans f78ef1eea2 Fix [43b434812a]: Tcl 9.0 uses stat64() but not struct stat64 on Linux i686 2020-08-21 12:28:26 +00:00
jan.nijtmans 430924da25 Merge 8.7 2020-08-19 12:56:29 +00:00
jan.nijtmans 7aa1b00468 Merge 8.7 2020-08-13 14:24:31 +00:00
jan.nijtmans 91c115082e Merge 8.7 2020-08-12 10:37:05 +00:00
jan.nijtmans e299458ad5 Merge 8.7 2020-08-12 07:04:44 +00:00
jan.nijtmans dfcc8ce6e5 Merge 8.7 2020-08-11 13:47:04 +00:00
jan.nijtmans 1ba4ad76b3 Merge 8.7 2020-08-11 06:40:52 +00:00
jan.nijtmans 33c3374723 Merge 8.7 2020-07-26 16:52:06 +00:00
jan.nijtmans 05f25dff9f Merge 8.7 2020-07-21 12:30:32 +00:00
jan.nijtmans f9c196e0e6 Merge 8.7 2020-07-21 07:54:20 +00:00
jan.nijtmans a13bb8b0ca Merge 8.7 2020-07-15 18:59:14 +00:00
jan.nijtmans a812785399 Merge 8.7 2020-07-15 09:10:37 +00:00
jan.nijtmans 326725ae5d Merge 8.7 2020-07-14 10:21:21 +00:00
jan.nijtmans 1994f539c3 Merge 8.7 2020-07-09 08:11:03 +00:00
jan.nijtmans 80b6a1a464 Merge 8.7 2020-07-07 14:38:46 +00:00
andy 326bd29be7 Clarify index order 2020-07-06 00:22:26 +00:00
jan.nijtmans 418d81804c Merge 8.7 2020-07-03 10:21:14 +00:00
jan.nijtmans cd166c904c Merge 8.7 2020-06-29 13:18:56 +00:00
jan.nijtmans 9c113f21c0 Merge 8.7 2020-06-29 10:38:54 +00:00
jan.nijtmans 498a9bf1f9 Merge 8.7 2020-06-28 15:20:14 +00:00
jan.nijtmans 2232bed6d6 Merge 8.7 2020-06-25 13:02:52 +00:00
jan.nijtmans 2cede8bf26 Merge 8.7 2020-06-25 11:31:05 +00:00
sebres a4d1a762c2 merge 8.7 2020-06-24 16:23:53 +00:00
jan.nijtmans ca6983f6f2 Merge 8.7 2020-06-23 09:38:50 +00:00
jan.nijtmans 1acb4994ab Merge 8.7 2020-06-23 06:19:08 +00:00
jan.nijtmans b63a473177 Merge 8.7 2020-06-22 12:49:30 +00:00
jan.nijtmans 0076acc80a Merge 8.7 2020-06-22 12:27:11 +00:00
jan.nijtmans e599140047 Merge 8.7 2020-06-22 12:00:01 +00:00
jan.nijtmans 730530baba Merge 8.7 2020-06-22 10:24:09 +00:00
jan.nijtmans 7231e548e3 Merge 8.7 2020-06-21 15:57:01 +00:00
andy 97399b2494 Correct man page per [ad8df845fef2c76d95b9f1aaa4815f3b23d4c472] 2020-06-19 06:06:07 +00:00
jan.nijtmans 4dc8aea827 Merge 8.7 2020-06-16 12:43:01 +00:00
jan.nijtmans 5b449103dc Merge 8.7 2020-06-12 14:56:17 +00:00
jan.nijtmans b3e1525f8a Merge 8.7 2020-06-12 14:15:55 +00:00
jan.nijtmans f2b9098a94 Still ... need to disable C4305 on Win32 (32-bit only) 2020-06-08 20:02:28 +00:00
jan.nijtmans 630bd308da Merge 8.7. This makes disabling Microsoft warning C4307 no longer necessary: It appears this warning was good for something after all. 2020-06-07 19:35:25 +00:00
jan.nijtmans fb50a7f7b5 Fix Travis build for Windows in debug mode. 2020-06-06 21:19:17 +00:00
José Ignacio Marín 4c7dc5ff2d Update TZ info to tzdata2020a. 2020-06-06 08:02:04 +00:00
jan.nijtmans 5680e6571d Merge 8.7. Change TclListObjRange() signature, using size_t for index arguments (even though lists itself cannot be larger than INT_MAX elements, but indices still might be larger than that. We don't want modulo behavior here). 2020-06-05 11:34:49 +00:00
jan.nijtmans efa3f20107 Merge 8.7. Use more TCL_INDEX_NONE in documentation/headers/code. 2020-06-04 15:15:17 +00:00
jan.nijtmans 654d14d706 Merge 8.7 2020-05-31 20:29:48 +00:00
griffin f857db0e8e tip-551 implementation. 2020-05-31 00:37:01 +00:00
jan.nijtmans 0f48821995 Merge 8.7 2020-05-28 09:49:10 +00:00
jan.nijtmans b8e14e3802 Merge 8.7 2020-05-27 06:35:35 +00:00
jan.nijtmans ec76fbd070 Merge 8.7 2020-05-26 22:42:19 +00:00
jan.nijtmans c856a8931e Merge 8.7 2020-05-25 09:46:54 +00:00
jan.nijtmans c54b77dd74 Merge 8.7 2020-05-20 19:12:25 +00:00
jan.nijtmans 3715125afc Merge 8.7 2020-05-18 12:48:11 +00:00
jan.nijtmans 549548bacf Merge 8.7 2020-05-14 10:27:26 +00:00
jan.nijtmans 7d5a69fb31 Merge 8.7 2020-05-13 20:12:17 +00:00
jan.nijtmans bc8811c498 Merge 8.7 2020-05-13 09:17:24 +00:00
jan.nijtmans 2c687a4d1d Merge 8.7 2020-05-12 21:22:22 +00:00
jan.nijtmans e47d494335 Merge 8.7 2020-05-12 19:47:06 +00:00
jan.nijtmans d2d5ffc3b6 Merge 8.7 2020-05-11 11:26:27 +00:00
jan.nijtmans 5320364a0d Merge 8.7 2020-05-11 07:42:32 +00:00
jan.nijtmans 27b62f923f Merge 8.7 2020-05-10 20:15:13 +00:00
jan.nijtmans 0b4d13b85c Merge 8.7 2020-05-08 14:38:48 +00:00
jan.nijtmans aca8877841 Merge 8.7 2020-05-08 08:15:13 +00:00
dgp fd87c6a4bb merge 8.7 2020-05-07 22:06:00 +00:00
jan.nijtmans 38a609f39c Merge 8.7 2020-05-07 14:47:56 +00:00
jan.nijtmans cd2794b2d3 Merge 8.7 2020-05-07 11:18:37 +00:00
jan.nijtmans f198eb8b6b Merge 8.7 2020-05-07 11:09:27 +00:00
dgp 22f9794cfd merge 8.7 2020-05-06 21:59:16 +00:00
dgp 446d76d5f3 merge 8.7 2020-05-06 19:55:19 +00:00
jan.nijtmans b17f64a406 Merge 8.7 2020-05-06 13:31:29 +00:00
jan.nijtmans 10d25a2209 Merge 8.7 2020-05-06 09:28:59 +00:00
jan.nijtmans e288cc94fa Merge 8.7 2020-05-05 16:31:14 +00:00
jan.nijtmans 9392c28ed8 Merge 8.7 2020-05-05 11:54:58 +00:00
jan.nijtmans 22274089f5 Merge 8.7 2020-05-05 09:51:32 +00:00
jan.nijtmans e137127ae3 Merge 8.7 2020-05-02 23:05:49 +00:00
jan.nijtmans d8fdcffdf7 Merge 8.7 2020-05-01 22:23:37 +00:00
jan.nijtmans 889df48bf0 Merge 8.7 2020-05-01 15:07:39 +00:00
jan.nijtmans afba02fe04 Merge 8.7 2020-05-01 14:44:31 +00:00
dgp 77a25a222a merge 8.7 2020-04-30 21:09:40 +00:00
dgp a8c52ddb7d merge 8.7 2020-04-30 19:25:27 +00:00
jan.nijtmans 22ab1b1e6c Merge 8.7 2020-04-30 14:20:43 +00:00
jan.nijtmans e42d35507c Merge 8.7 2020-04-30 11:24:53 +00:00
dgp 69a1133f21 Merge 8.7. Still knownBug (for TUM=3) 2020-04-29 22:18:32 +00:00
jan.nijtmans edceb04b1f Merge 8.7 2020-04-29 19:23:43 +00:00
dgp 606fa23238 merge 8.7 2020-04-28 21:33:16 +00:00
jan.nijtmans 924a7fca6b Merge 8.7 2020-04-28 21:17:02 +00:00
dgp eb2fa54e32 merge 8.7 2020-04-28 21:05:21 +00:00
jan.nijtmans 0e5cda3a47 Merge 8.7 2020-04-28 20:46:29 +00:00
jan.nijtmans 731ea18a69 Merge 8.7 2020-04-28 07:43:02 +00:00
dgp be98f67f6a merge 8.7 2020-04-27 19:29:34 +00:00
dgp 2e67393129 [a444889cbe] Quick fix to satisfy Travis. Might revise later. 2020-04-27 16:10:54 +00:00
dgp 97e600c877 merge 8.6 2020-04-27 16:07:45 +00:00
dgp aa386ba8fc merge 8.7 2020-04-27 13:44:38 +00:00
dgp d9e077b2fa merge 8.7 2020-04-27 12:59:06 +00:00
dgp 9a08654b23 merge 8.7 2020-04-26 22:14:45 +00:00
dgp 3dce3e5685 merge 8,7 2020-04-26 21:32:03 +00:00
dgp 99a9e5c7c5 merge 8.7 2020-04-26 21:18:49 +00:00
dgp d438ca171b merge 8.7 2020-04-26 20:38:06 +00:00
jan.nijtmans 4a86cf8b00 Since Tcl_NumUtfChars() now can return a value of more that 32 bits .... 2020-04-26 15:30:12 +00:00
jan.nijtmans d2444449ec Merge 8.7 2020-04-26 15:21:21 +00:00
jan.nijtmans 0f01f464de Merge 8.7 2020-04-25 22:50:39 +00:00
jan.nijtmans 5fe38b57ea Merge 8.7 2020-04-24 21:44:28 +00:00
jan.nijtmans c202c057b1 Merge 8.7 2020-04-24 13:32:47 +00:00
jan.nijtmans f4072f4ef7 Merge 8.7 2020-04-24 10:49:28 +00:00
jan.nijtmans 666cf1c887 Merge 8.7 2020-04-23 12:58:46 +00:00
jan.nijtmans 4bd7d54291 Merge 8.7 2020-04-22 08:10:35 +00:00
jan.nijtmans b002a51274 Merge 8.7 2020-04-21 10:24:45 +00:00
jan.nijtmans 1e6e700682 Merge 8.7 2020-04-20 22:00:46 +00:00
jan.nijtmans fc7ca4202e Change a few variables from type "int" to "size_t". Always test TCL_UTF_MAX for <= 3 or > 3, because that's the only 2 flavours we really have. 2020-04-20 21:07:35 +00:00
jan.nijtmans 68c30819ad Merge 8.7 2020-04-20 20:46:50 +00:00
jan.nijtmans fa2ae66dcd Merge 8.7 2020-04-19 09:17:35 +00:00
jan.nijtmans 8ddd5fea3c Merge 8.7 2020-04-18 20:30:08 +00:00
jan.nijtmans 980bcbfdbf Merge 8.7 2020-04-17 12:32:42 +00:00
jan.nijtmans 14abfaa3d0 Merge 8.7 2020-04-16 14:54:21 +00:00
jan.nijtmans d296c39c60 Merge 8.7 2020-04-15 20:22:03 +00:00
jan.nijtmans 54e3729e91 Merge 8.7 2020-04-15 20:03:38 +00:00
dgp 8f8f9400f5 merge 8.7 2020-04-14 18:06:31 +00:00
jan.nijtmans 0103777046 Merge 8.7 2020-04-14 16:47:32 +00:00
jan.nijtmans d20e8e7e25 Merge 8.7 2020-04-14 16:16:48 +00:00
dgp 3a2ad288ca Remove test not suitable for Tcl 9. 2020-04-14 15:57:08 +00:00
dgp 6c1d8e4d62 merge 8.7 2020-04-14 15:38:08 +00:00
jan.nijtmans 5edd5f235f Merge 8.7 2020-04-14 14:50:29 +00:00
jan.nijtmans 6a0b66fc79 Merge 8.7 2020-04-14 14:30:35 +00:00
jan.nijtmans 527a481e1a Merge 8.7 2020-04-13 09:25:35 +00:00
jan.nijtmans 1e0c16c4db merge-mark 2020-04-10 21:00:44 +00:00
jan.nijtmans a763531949 Merge 8.7 2020-04-10 15:22:40 +00:00
jan.nijtmans 54adbbe05c Merge 8.7 2020-04-08 08:11:04 +00:00
jan.nijtmans 9848eb222d Merge-mark 8.7. Also fix 2 executable flags, which shouldn't have been set. 2020-04-07 16:28:27 +00:00
jan.nijtmans 6e89d3d433 Merge 8.7 2020-04-06 20:50:10 +00:00
jan.nijtmans f47fbe763a Fix build with --enable-symbols=mem 2020-04-06 13:24:34 +00:00
jan.nijtmans fc83e1302a Merge 8.7 2020-04-06 09:34:42 +00:00
jan.nijtmans 2fa58f1e9f Merge 8.7 2020-04-05 20:46:06 +00:00
dgp 401fb4fe4f merge 8.7 2020-04-03 14:31:54 +00:00
jan.nijtmans b586e6742c Merge 8.7 2020-04-03 09:14:38 +00:00
jan.nijtmans 5bd35202c0 Merge 8.7 2020-04-03 07:39:22 +00:00
dgp b804844729 merge 8.7 2020-04-02 23:26:47 +00:00
sebres a9032c6dac merge 8.7 2020-04-02 14:41:45 +00:00
dgp f8715bf730 merge 8.7 2020-04-01 20:20:49 +00:00
dgp 6bce59a249 merge 8.7 2020-04-01 19:22:59 +00:00
jan.nijtmans 47e4246d76 Merge 8.7 2020-04-01 13:47:43 +00:00
dgp 8ab2c9cf62 merge 8.7 2020-04-01 12:37:52 +00:00
jan.nijtmans 6a1a8526f1 Merge 8.7 2020-03-31 20:29:07 +00:00
dgp e266daa43e close fork 2020-03-31 16:22:22 +00:00
dgp 6e29f3da25 Missed one int -> size_t in the merge. 2020-03-31 16:21:11 +00:00
jan.nijtmans 50737b35c5 Merge 8.7 2020-03-31 16:19:08 +00:00
dgp 449b68a777 merge 8.7 2020-03-31 16:09:38 +00:00
jan.nijtmans f3056f720b Merge 8.7 2020-03-31 11:02:57 +00:00
jan.nijtmans 998384d149 Internal API simplifications: Don't use types like HINSTANCE/HMODULE any more, just void*. Has effect only on Win32 and Cygwin. 2020-03-31 07:09:46 +00:00
dgp c578a1e4fa merge 8.7 2020-03-30 16:08:17 +00:00
jan.nijtmans c0fc8c6aad Merge 8.7 2020-03-30 13:01:26 +00:00
jan.nijtmans ddd4c15594 Merge 8.7 2020-03-30 12:04:49 +00:00
jan.nijtmans 958d0d8617 Merge 8.7 2020-03-30 10:32:16 +00:00
dgp 9e82ddc739 Adjustments for easier merging. 2020-03-30 03:23:26 +00:00
dgp 2a007ddb50 Change of variables. 2020-03-29 22:10:28 +00:00
dgp ce51daca48 Let the private, internal TclGetBytesFromObj handle size_t lengths 2020-03-29 21:47:12 +00:00
dgp 5da270361f merge 8.7 2020-03-28 19:59:18 +00:00
dgp 08d3728b1d merge 8.7 2020-03-28 16:42:05 +00:00
jan.nijtmans d58bfaf6f3 Merge 8.7 2020-03-27 21:07:58 +00:00
jan.nijtmans c3948aeea7 Merge 8.7 2020-03-27 16:28:50 +00:00
jan.nijtmans 8c16a043c1 Merge 8.7 2020-03-27 12:07:00 +00:00
jan.nijtmans 6eaa73e23c Merge 8.7 2020-03-25 17:07:30 +00:00
jan.nijtmans b6f9e488f5 Fix for windows build (Windows doesn't have "%z" printf modifier) 2020-03-25 15:37:25 +00:00
jan.nijtmans a514fc0bbb Merge 8.7 2020-03-25 15:15:22 +00:00
jan.nijtmans f00ce28128 Merge 8.7 2020-03-24 13:40:10 +00:00
jan.nijtmans fa618f393f Merge 8.7.
Remove Tcl_MacOSXOpenBundleResources() completely.
2020-03-24 11:13:27 +00:00
jan.nijtmans ac5b43b095 Merge 8.7 2020-03-22 21:28:01 +00:00
jan.nijtmans a2aaaad84a Merge 8.7 2020-03-20 17:17:06 +00:00
dgp 39b03cdb38 merge 8.7 2020-03-18 22:03:17 +00:00
jan.nijtmans d7364d1f4b Merge 8.7 2020-03-18 14:06:17 +00:00
jan.nijtmans 303fbfc4be Merge 8.7 2020-03-17 16:48:07 +00:00
dgp 77bbf50dd0 merge 8.7 2020-03-17 01:20:01 +00:00
jan.nijtmans 9c405af577 Merge 8.7 2020-03-15 12:21:21 +00:00
jan.nijtmans 2632f2d529 merge-mark 2020-03-14 22:08:33 +00:00
jan.nijtmans a98d79021f Merge 8.7 2020-03-14 22:02:00 +00:00
jan.nijtmans 49b167a388 Merge 8.7 2020-03-13 11:12:33 +00:00
sebres 2ded4dcac5 merge 8.7 (lpop SF fix) 2020-03-11 15:55:31 +00:00
jan.nijtmans 72f5a0b42f Put back dummy Tcl_DriverCloseProc/Tcl_DriverSeekProc (just defined as "void"). Needed to make Tk compile with C++ against 9.0 headers. 2020-03-11 10:20:51 +00:00
jan.nijtmans 745e45d119 Merge 8.7 2020-03-10 13:58:07 +00:00
dgp f336629f65 merge 8.7 2020-03-09 16:34:46 +00:00
jan.nijtmans 254b4fa35f Merge 8.7 2020-03-09 13:08:33 +00:00
jan.nijtmans 24cfa12d40 Merge 8.7 2020-03-07 18:31:45 +00:00
jan.nijtmans 2c34ced219 Merge 8.7 2020-03-07 16:03:16 +00:00
dgp c4a1ea568e merge 8.7 2020-03-06 21:33:24 +00:00
dgp 1e155ca669 merge 8.7 2020-03-05 19:22:45 +00:00
jan.nijtmans 2a68cc554f Merge 8.7 2020-03-05 14:44:51 +00:00
jan.nijtmans 7f9190f5db Merge 8.7 2020-03-05 11:56:24 +00:00
dgp 2328e4a58e merge 8.7 2020-03-04 21:05:02 +00:00
jan.nijtmans d9f1c65e5b Merge 8.7 2020-03-04 16:18:04 +00:00
jan.nijtmans cf1d1dfbd9 Merge 8.7 2020-03-04 15:56:32 +00:00
jan.nijtmans 026ddaafb8 Merge 8.7.
Remove documentation and typedefs related to old channel types.
2020-03-04 14:33:19 +00:00
jan.nijtmans c3d90415a2 merge-mark 2020-03-02 11:31:06 +00:00
jan.nijtmans f4a42dff01 re-generate configure script (option -Wc++-compat was still missing) 2020-03-01 12:35:04 +00:00
jan.nijtmans 0846f65993 Merge 8.7 2020-02-29 21:44:11 +00:00
jan.nijtmans f30e9cfd65 Merge-mark 2020-02-28 14:24:30 +00:00
jan.nijtmans 35cf0ba42a Merge 8.7 2020-02-28 14:07:17 +00:00
jan.nijtmans 4a07460db0 Implement TIP #497: Full support for Unicode planes 1-16. 2020-02-28 12:58:54 +00:00
jan.nijtmans 4af90e27e5 Merge 8.7 2020-02-28 12:46:42 +00:00
jan.nijtmans 63994a73e3 Merge 8.7 2020-02-26 14:16:49 +00:00
jan.nijtmans 86d269ab0a Merge 8.7 2020-02-26 08:14:56 +00:00
jan.nijtmans 912dd9a997 Merge 8.7 2020-02-24 12:19:29 +00:00
jan.nijtmans 2cce06805f Merge 8.7 2020-02-21 08:55:02 +00:00
jan.nijtmans 3929a73ee0 Merge trunk 2020-02-13 22:24:07 +00:00
jan.nijtmans 30c32418f6 Merge 8.7 2020-02-12 13:19:35 +00:00
jan.nijtmans 802d340dad Merge 8.7 2020-02-04 11:05:57 +00:00
jan.nijtmans 33f3ebf7ec Merge 8.7 2020-02-04 08:28:49 +00:00
jan.nijtmans 7c18228900 merge-mark 2020-02-02 16:30:35 +00:00
jan.nijtmans 108d222378 Merge 8.7 2020-02-02 15:27:13 +00:00
jan.nijtmans d6e3843b5a Merge 8.7 2020-01-31 07:56:03 +00:00
sebres 58232a8750 merge 8.7 2020-01-30 15:47:12 +00:00
jan.nijtmans 7fa698c624 Merge 8.7 2020-01-30 13:54:51 +00:00
jan.nijtmans 29b9dd2e6f Merge 8.7 2020-01-30 13:27:57 +00:00
jan.nijtmans 9d8c640e00 Merge 8.7 2020-01-29 13:03:20 +00:00
jan.nijtmans 2a7ba6468e Merge 8.7 2020-01-27 10:33:49 +00:00
jan.nijtmans 0ebc58865f merge-mark 2020-01-25 14:53:02 +00:00
dgp a9fd991fe6 Implement TIP 559 2020-01-24 16:53:13 +00:00
jan.nijtmans 5570417141 Merge trunk 2020-01-24 11:00:58 +00:00
apnadkarni dc9dbe5998 Fix See also links in list commands 2020-01-23 15:42:59 +00:00
jan.nijtmans a3f11a86e9 Merge 8.7 2020-01-23 13:15:51 +00:00
jan.nijtmans 2c19ef85ed Merge 8.7 2020-01-23 10:41:38 +00:00
jan.nijtmans 5bf4816c29 merge-mark 2020-01-23 09:47:38 +00:00
dgp 5f9514bba4 Implement TIp 543. 2020-01-21 22:14:55 +00:00
jan.nijtmans c48019496e Merge trunk 2020-01-21 09:39:21 +00:00
jan.nijtmans b77246e08b Enable test-cases stringObj-15.[5-8]: "nodep" restriction doesn't work in 9.0. 2020-01-21 09:21:30 +00:00
jan.nijtmans a3fdbe449b Merge trunk 2020-01-20 16:43:54 +00:00
jan.nijtmans 4b7066e5b3 Merge 8.7. Add TclAppendUnicodeToObj() to internal stubs, since it is needed in tclTestObj.c 2020-01-20 15:16:22 +00:00
jan.nijtmans 8ff40f7d46 Merge 8.7 2020-01-20 14:19:47 +00:00
sebres 041d53289b merge 8.7 2020-01-17 18:37:40 +00:00
jan.nijtmans a72376335b Merge 8.7 2020-01-15 10:22:25 +00:00
dgp fc63e758a4 Implement TIP 559 2020-01-13 16:49:42 +00:00
jan.nijtmans 54beae13a7 Merge 8.7 2020-01-13 15:21:38 +00:00
jan.nijtmans c32336ef0e Merge 8.7 2020-01-13 12:48:05 +00:00
jan.nijtmans 86052f5003 Merge 8.7 2020-01-13 12:11:10 +00:00
dgp 5953233f3b merge trunk 2020-01-10 17:40:55 +00:00
jan.nijtmans 034fad8f6a Merge 8.7 2020-01-10 15:27:49 +00:00
jan.nijtmans 01db149e3c Merge 8.7 2020-01-09 09:28:34 +00:00
dgp 1afc0833ed merge 8.7 2020-01-08 22:32:16 +00:00
dgp 7c1facbfb4 merge 8.7 2020-01-08 21:40:42 +00:00
dgp d7e1a76e06 merge 8.7 2020-01-08 21:10:50 +00:00
jan.nijtmans 7d716898d7 Merge 8.7 2020-01-08 13:19:09 +00:00
jan.nijtmans 3b9e37ced8 Merge 9.0 2020-01-07 15:58:30 +00:00
jan.nijtmans 6776429ba1 Merge 8.7 2020-01-07 14:50:44 +00:00
jan.nijtmans 631c17942e Merge 8.7 2020-01-07 09:45:47 +00:00
jan.nijtmans 98496f3c16 Merge 8.7 2020-01-07 08:45:45 +00:00
dgp 1b9f0a138d merge 8.7 2020-01-06 20:26:34 +00:00
dgp 889b9a832f merge 8.7 2020-01-06 18:08:58 +00:00
dgp 99c687177a merge 8.7 2020-01-06 17:27:10 +00:00
jan.nijtmans 162b310610 Merge 8.7 2020-01-06 11:02:56 +00:00
jan.nijtmans a315170269 Merge 8.7 2020-01-06 10:41:57 +00:00
fvogel ff7ff08f29 merge core-8-branch, restore the build by providing a copysign replacement for old MSVC versions. 2020-01-02 21:01:37 +00:00
dgp fd4b052c0d merge trunk 2019-12-30 21:29:09 +00:00
dgp f5a8aaadf8 Remove TclInitCompiledLocals(), internal routine marked deprecated in 8.5+. 2019-12-30 21:00:09 +00:00
Kevin B Kenny 329faccfd5 Merge Tcl 8.7 changes to deal with integer overflow in the exponent, and floating point overflow in the significand, of floating point input conversion (Bug [1de6b0629e] 2019-12-27 00:34:51 +00:00
jan.nijtmans 8d0c814716 Merge 8.7 2019-12-24 15:05:50 +00:00
jan.nijtmans d326c63806 Merge 8.7 2019-12-24 13:52:54 +00:00
jan.nijtmans 3ae5ed3dfc Merge 8.7 2019-12-24 10:06:37 +00:00
jan.nijtmans 89890a88e6 Merge 8.7 2019-12-23 13:43:49 +00:00
jan.nijtmans 5074a34663 Merge 8.7 2019-12-23 11:28:29 +00:00
jan.nijtmans 32a3c1d678 Merge 8.7 2019-12-22 15:10:25 +00:00
jan.nijtmans 1d52808a73 Merge 8.7 2019-12-19 22:16:09 +00:00
jan.nijtmans de7ebc2ea1 Merge 8.7 2019-12-14 17:45:04 +00:00
jan.nijtmans e9fb22cfeb Merge trunk 2019-12-14 14:12:41 +00:00
jan.nijtmans a91c7a019d Merge 8.7 2019-12-13 22:20:03 +00:00
jan.nijtmans 676312d822 Merge 8.7 2019-12-13 21:22:11 +00:00
jan.nijtmans be44843404 Fix [435acb846c]: libtommath - missing declarations 2019-12-13 20:35:56 +00:00
jan.nijtmans 9118bcfb5f More tweaks to libtommath functions signatures: No need any more to stay binary compatible with Tcl 8.x, so we can use the mp_digit type now. 2019-12-13 15:09:59 +00:00
jan.nijtmans 8f533db35f Remove deprecated libtommath stub entries 2019-12-13 13:33:33 +00:00
jan.nijtmans 077504f676 Merge 8.7 2019-12-13 13:06:34 +00:00
jan.nijtmans d0ff8f4a0d Merge 8.7 2019-12-12 21:43:08 +00:00
jan.nijtmans 43b7af15a7 Merge trunk 2019-12-11 15:37:09 +00:00
jan.nijtmans d1a4083e3f Merge 8.7 2019-12-11 08:54:47 +00:00
jan.nijtmans ac849b98ed Merge 8.7 2019-12-10 13:43:32 +00:00
sebres beb5137192 merge 8.7 2019-12-10 13:19:56 +00:00
jan.nijtmans 4c162a421c Merge 8.7 2019-12-09 22:55:01 +00:00
sebres de8a9991af merge 8.7 2019-12-09 11:44:27 +00:00
jan.nijtmans 0e4f559e7f Merge 8.7 2019-12-09 11:32:07 +00:00
jan.nijtmans fe32483d5c Merge 8.7 2019-12-08 16:52:00 +00:00
dgp f3b259c158 merge 8.7 2019-12-06 16:02:01 +00:00
jan.nijtmans 8ed389c37a Merge 8.7 2019-12-04 13:30:22 +00:00
jan.nijtmans 3fc1c2a172 Merge 8.7 2019-12-03 19:31:48 +00:00
jan.nijtmans 8d6601013e Merge 9.0 2019-12-03 16:16:52 +00:00
jan.nijtmans f00afc4fdd Merge 8.7 2019-12-03 13:22:18 +00:00
jan.nijtmans 5a66f39637 Merge 8.7 2019-12-03 12:59:47 +00:00
jan.nijtmans 87baa32396 Merge 8.7 2019-12-02 20:51:41 +00:00
dgp 38160dc3cc Bump to 9.0a2 to distinguish development from 9.0a1 release. 2019-12-02 18:25:35 +00:00
jan.nijtmans 9be1e807d6 Merge 8.7 2019-12-02 13:35:28 +00:00
jan.nijtmans b6a51d3251 Merge 8.7 2019-12-02 11:50:26 +00:00
jan.nijtmans 332c5aadfa Merge 8.7 2019-12-01 21:26:11 +00:00
jan.nijtmans bf9226489d Fix executable flag 2019-12-01 17:53:26 +00:00
jan.nijtmans 3ea27f399f Merge 8.7 2019-12-01 17:00:20 +00:00
jan.nijtmans 5fc479ca03 Merge 8.7 2019-11-29 09:55:01 +00:00
jan.nijtmans 8e51252be8 Merge 8.7 2019-11-28 13:45:50 +00:00
jan.nijtmans f67e946a67 Merge 8.7 2019-11-27 22:25:05 +00:00
jan.nijtmans 389e7e96e5 Merge 8.7 2019-11-27 20:17:51 +00:00
jan.nijtmans dfdf436fb2 Merge 8.7 2019-11-27 14:27:26 +00:00
jan.nijtmans 93246519da Merge 8.7 2019-11-27 11:10:55 +00:00
jan.nijtmans 405b29cd1b Merge 8.7 2019-11-26 21:40:36 +00:00
dgp 8f7d32c7dd merge release 2019-11-26 18:26:42 +00:00
dgp 43550ce1fa merge trunk 2019-11-26 17:57:56 +00:00
dgp d8127f5c3a merge 8.7 2019-11-26 17:55:38 +00:00
dgp 41381425e6 merge mark 2019-11-25 17:01:23 +00:00
jan.nijtmans a9fd02e864 Merge 8.7 2019-11-25 16:41:25 +00:00
dgp 18e4f3d635 complete changes 2019-11-22 21:26:09 +00:00
dgp 5a7c86fa32 Start record of the changes only in Tcl 9. 2019-11-22 21:08:12 +00:00
dgp 69aedf8b17 reset changes baseline 2019-11-22 21:01:36 +00:00
dgp 9d9fcdf383 merge trunk 2019-11-22 20:59:12 +00:00
dgp d7e26630c0 merge 8.7 2019-11-22 15:36:45 +00:00
sebres 06bbb3d47b merge 8.7 2019-11-21 19:19:06 +00:00
jan.nijtmans 5d4efa2510 Merge 8.7 2019-11-18 20:42:22 +00:00
jan.nijtmans 1b8114cd71 Merge 9.0 2019-11-17 20:12:21 +00:00
dgp 7ff0cfd5b7 merge trunk 2019-11-15 20:32:35 +00:00
dgp 13ebaf6ca3 merge 8.7 2019-11-15 20:20:42 +00:00
jan.nijtmans c44fa310d2 Merge 8.7 2019-11-15 14:45:28 +00:00
jan.nijtmans f3c5988996 Merge 8.7 2019-11-15 13:18:03 +00:00
jan.nijtmans b28beee0fc Merge 8.7 2019-11-15 12:17:42 +00:00
sebres 7e79827ba3 merge 8.7 2019-11-14 20:13:05 +00:00
jan.nijtmans 33632b0955 Merge 8.7 2019-11-14 14:50:41 +00:00
jan.nijtmans d085d8f0bb Merge 8.7 2019-11-13 16:03:18 +00:00
jan.nijtmans 27fd2bbb61 Merge 8.7 2019-11-13 13:50:19 +00:00
jan.nijtmans 9ec6e380ed Merge 8.7 2019-11-13 09:24:00 +00:00
jan.nijtmans 8f3c64a7cd Merge 8.7 2019-11-11 20:52:10 +00:00
jan.nijtmans 1acefe17b1 Merge 8.7 2019-11-09 20:04:53 +00:00
jan.nijtmans a3bdd051a3 Merge 8.7 2019-11-08 11:44:37 +00:00
jan.nijtmans 79b3f448c0 Merge 8.7 2019-11-07 14:37:14 +00:00
jan.nijtmans 8665d61608 Silence MSVC C4090 warnings when using ckrealloc(). Also make sure that Tcl itself doesn't use ckalloc() and friends any more. 2019-11-07 08:41:17 +00:00
jan.nijtmans cbeadca761 Silence MSVC C4090 warnings when using ckfree() in certain situations. Problem reported by fvogel. 2019-11-06 22:30:07 +00:00
jan.nijtmans 6802d4740c Twice ckfree() -> Tcl_Free() 2019-11-06 22:18:37 +00:00
dgp 22abf1ffa4 merge trunk 2019-11-06 14:58:51 +00:00
dgp cda283c652 merge 8.7 2019-11-06 14:52:26 +00:00
dgp 16ee735e92 Bump to version 9.0a1 for release. 2019-11-05 22:05:21 +00:00
dgp 0d8a34fe68 merge 8.7 2019-11-05 21:35:37 +00:00
jan.nijtmans b3b2c76fdc Merge 8.7 2019-10-31 11:16:54 +00:00
jan.nijtmans 1813f87d9a Merge 8.7 2019-10-31 10:59:53 +00:00
jan.nijtmans 1e1530a566 Merge 8.7 2019-10-30 21:40:01 +00:00
jan.nijtmans af55df92b4 Merge 8.7 2019-10-29 12:58:19 +00:00
jan.nijtmans 275904f8cb Merge 8.7 2019-10-28 16:42:52 +00:00
jan.nijtmans d85bcdef8b Merge 8.7 2019-10-28 16:22:21 +00:00
jan.nijtmans b89e3d8c83 Merge 8.7 2019-10-28 09:10:32 +00:00
jan.nijtmans fb040138c9 Close fork, Merge 8.7 2019-10-28 08:50:57 +00:00
Kevin Walzer 56f2abbf89 further refinement of configure to remove /System 2019-10-27 22:22:50 +00:00
Kevin Walzer 2cd7aa2260 Remove /System from auto_path on macOS; change seems to have been overwritten by other merge 2019-10-27 22:14:41 +00:00
jan.nijtmans bf1382a38f Merge trunk 2019-10-25 20:45:45 +00:00
jan.nijtmans 6362d5ced5 Merge 8.7 2019-10-25 20:09:13 +00:00
pooryorick 2d699b3818 If NO_REALPATH is defined, raise an error instead of building a broken Tcl. 2019-10-25 13:17:28 +00:00
Kevin Walzer e9121854f9 Remove /System from auto_path on macOS because Apple has deprecated its own ancient installation of Tcl/Tk 2019-10-25 01:16:54 +00:00
jan.nijtmans 1a5b1241db Merge 8.7 2019-10-24 19:55:34 +00:00
jan.nijtmans 065fc14cc4 Merge 8.7 2019-10-24 15:41:32 +00:00
jan.nijtmans 8f3937588f Merge 8.7 2019-10-24 08:45:23 +00:00
jan.nijtmans d068a54395 Merge 8.7. But - in stead - remove all deprecated API from libtommath 1.2.0: Starting with Tcl 9.0 we don't support libtommath's deprecated API any more. 2019-10-23 14:33:58 +00:00
jan.nijtmans 52f3af0bcf Merge 8.7 2019-10-23 11:11:58 +00:00
jan.nijtmans 4958363608 merge-mark 2019-10-22 21:56:05 +00:00
jan.nijtmans 8726aabade Merge 8.7 2019-10-22 21:36:21 +00:00
jan.nijtmans d14ab39047 Merge 8.7 2019-10-22 12:54:46 +00:00
jan.nijtmans 7f35785b2f Merge 8.7 2019-10-14 21:18:02 +00:00
jan.nijtmans 17993c4a6f Merge 8.7 2019-10-11 12:47:21 +00:00
jan.nijtmans c358ee8f78 Merge 8.7 2019-10-10 19:19:38 +00:00
jan.nijtmans 152c7b4944 Merge trunk 2019-10-06 20:42:36 +00:00
jan.nijtmans 24a1b4e94f Merge 8.7 2019-10-05 20:45:31 +00:00
jan.nijtmans 35c793de5f Merge 8.7 2019-10-02 11:39:44 +00:00
jan.nijtmans 6e4833d8fd Merge 8.7 2019-09-29 15:51:07 +00:00
jan.nijtmans ae65a0ee04 Merge 8.7 2019-09-29 12:18:11 +00:00
jan.nijtmans 80a7abf7e5 Adapt test-case to full-utf correct behaviour 2019-09-27 13:02:39 +00:00
jan.nijtmans d9415749f8 Merge trunk 2019-09-25 13:18:11 +00:00
jan.nijtmans 82947d7ebf Merge 8.7 2019-09-25 13:17:09 +00:00
jan.nijtmans 0153d6f564 Make Tcl_WinUtfToTChar/Tcl_WinTCharToUtf really deprecate in 9.0 (now that no battery-extensions use it any more)
Remove two functions which are not used any more (they changed to macro's earlier)
2019-09-25 11:51:41 +00:00
jan.nijtmans e75152402a Merge trunk 2019-09-20 21:37:21 +00:00
jan.nijtmans fe0c007b96 Merge 8.7 2019-09-20 21:21:14 +00:00
jan.nijtmans 1e8a4963fc Merge trunk 2019-09-20 15:07:11 +00:00
jan.nijtmans 2912ca25d8 Merge 8.7 2019-09-20 15:04:09 +00:00
jan.nijtmans ce1a26acf5 Merge trunk 2019-09-19 15:42:22 +00:00
jan.nijtmans dc6c385849 Merge 8.7 2019-09-19 15:36:11 +00:00
jan.nijtmans 52e96157d2 Merge 8.7 2019-09-18 09:39:53 +00:00
jan.nijtmans 1d9a058eae Merge 8.7 2019-09-17 13:03:11 +00:00
jan.nijtmans 11aba21de9 Merge 8.7 2019-09-17 10:47:21 +00:00
jan.nijtmans 86273355c2 Merge trunk 2019-09-17 09:23:29 +00:00
jan.nijtmans 632946bbe0 Merge 8.7 2019-09-17 07:12:57 +00:00
jan.nijtmans b765d541e6 Merge 8.7 2019-09-16 21:41:26 +00:00
jan.nijtmans 1583d8b4ef Merge 8.7 2019-09-16 19:16:07 +00:00
jan.nijtmans 556c0dbc24 Two paces where TCL_AUTO_LENGTH should be used 2019-09-14 13:11:55 +00:00
jan.nijtmans fc77f0dda4 Merge 8.7 2019-09-14 13:07:19 +00:00
jan.nijtmans 4396d37f6f Merge 8.7 2019-09-14 12:37:13 +00:00
jan.nijtmans 3f40916f38 Merge 8.7 2019-09-13 09:12:20 +00:00
jan.nijtmans bd089b3935 Merge 8.7 2019-09-13 07:58:13 +00:00
sebres 5d5451c6da merge 8.7 2019-09-12 20:51:24 +00:00
jan.nijtmans a6c66ef755 Merge 8.7 2019-09-12 14:49:37 +00:00
dgp e3967b9754 merge 8.7 2019-09-11 19:28:35 +00:00
dgp ae9073b853 merge 8.7 2019-09-11 16:06:19 +00:00
jan.nijtmans 810e5a0f69 Merge 8.7 2019-09-11 11:37:02 +00:00
jan.nijtmans a142b502a9 Merge 8.7 2019-09-10 13:34:39 +00:00
jan.nijtmans 1224ff3e01 merge-mark 2019-09-09 09:24:47 +00:00
jan.nijtmans a9f4dacf81 Merge 8.7 2019-09-09 09:05:16 +00:00
jan.nijtmans f1d0940b8e Merge 8.7 2019-09-08 13:39:24 +00:00
jan.nijtmans c6ad528613 Merge 8.7 2019-09-07 14:09:08 +00:00
jan.nijtmans 3f58909d20 Merge 8.7 2019-09-06 14:53:09 +00:00
jan.nijtmans dec6843491 Merge 8.7 2019-09-06 12:38:41 +00:00
jan.nijtmans b0bd304e08 merge-mark 2019-09-05 21:26:35 +00:00
jan.nijtmans cef22b73ee previous commit should not have been a merge-mark ... 2019-09-05 07:17:54 +00:00
jan.nijtmans bbdcf41e95 merge-mark 2019-09-05 06:59:00 +00:00
jan.nijtmans eeff0f5146 Merge 8.7 2019-09-04 11:03:10 +00:00
jan.nijtmans 0625bbefb4 Merge 8.7 2019-09-03 10:57:09 +00:00
jan.nijtmans dbdb35e20e Merge 8.7 2019-09-02 11:35:12 +00:00
apnadkarni f5daf73202 Merge from core-8-branch. nmake bug fix [889065786b] for extension stubs. 2019-08-29 10:39:02 +00:00
jan.nijtmans b7f809ade5 Merge 8.7 2019-08-28 11:45:42 +00:00
jan.nijtmans fa1cc2cd3f Merge 8.7 2019-08-27 11:59:38 +00:00
jan.nijtmans 276049980e Merge 8.7 2019-08-26 14:09:50 +00:00
jan.nijtmans 3721613126 Merge 8.7 2019-08-26 09:03:11 +00:00
jan.nijtmans 21ec4f64b2 Merge 8.7 2019-08-23 09:07:33 +00:00
sebres 136bf8d460 merge 8.7: fixes [40d5ff2a0e], etc 2019-08-19 19:29:55 +00:00
jan.nijtmans 69a117efbe Merge 8.7 2019-08-15 15:32:20 +00:00
jan.nijtmans ab449cd1d2 Merge 8.7 2019-08-15 08:10:11 +00:00
jan.nijtmans be3995f91a Merge 8.7 2019-08-14 07:04:09 +00:00
jan.nijtmans e05045246f Merge 8.7 2019-08-13 20:09:42 +00:00
jan.nijtmans 6ba55114e2 Fix handling of length (size_t)-1 in tclMain.c. This should fix handling of command-line arguments with TCL_UTF_MAX=6, necessary to make tclsh run at all ... 2019-08-11 21:17:35 +00:00
jan.nijtmans 9888ccda67 Fix signature of TclWCharToUtfDString for TCL_UTF_MAX=6, and handling of length -1 2019-08-05 20:15:15 +00:00
jan.nijtmans 3558c04970 merge-mark 8.7 2019-08-04 19:39:29 +00:00
jan.nijtmans e0e662b6cd Merge 8.7 2019-08-04 18:24:09 +00:00
jan.nijtmans fe381e2b84 Merge 8.7 2019-08-02 14:35:52 +00:00
jan.nijtmans 84da3c8113 Merge 8.7 2019-08-02 14:26:47 +00:00
jan.nijtmans 4def430d27 Merge 8.7 2019-08-02 12:48:29 +00:00
jan.nijtmans 9367d3491b merge-mark 2019-08-02 08:10:10 +00:00
jan.nijtmans a4cdc92947 Merge 8.7 2019-08-01 16:05:35 +00:00
jan.nijtmans 0f58a5ca73 Merge 8.7 2019-08-01 09:20:38 +00:00
jan.nijtmans 75b8ba1fa3 Merge 8.7 2019-08-01 08:37:53 +00:00
jan.nijtmans 62c64586b6 Merge 8.7 2019-07-25 09:01:05 +00:00
jan.nijtmans 810eeec19d Merge 8.7 2019-07-24 08:29:25 +00:00
jan.nijtmans 737c82426b Merge 8.7 2019-07-17 11:28:47 +00:00
jan.nijtmans a3853cafd1 Merge 8.7 2019-07-16 09:56:23 +00:00
jan.nijtmans bcd1623533 Merge 8.7 2019-07-16 09:25:44 +00:00
jan.nijtmans 73788579a1 Merge 8.7 2019-07-13 17:18:03 +00:00
sebres 44952e7c43 restore test-cases covering bug-4718b41c56 (partially revert last checkin, cherrypick from 8.7), set constraint time64bit to 1 (always valid in 9.0) 2019-07-12 14:32:39 +00:00
sebres 15b8ba49c1 merge point only (no changes, since time_t in 9.0 is always 64-bits and fix of branch bug-4718b41c56 unwanted here) 2019-07-12 12:24:06 +00:00
jan.nijtmans cd1e068061 Merge 8.7 2019-07-12 12:16:43 +00:00
jan.nijtmans ba1938b59e Merge 8.7
Don't build with TCL_NO_DEPRECATED, since we didn't deprecate anything in 9.0 yet
2019-07-05 23:08:15 +00:00
jan.nijtmans 4864626e88 Fix [4718b41c56d8c135] for win32. Now timestamps on Win32 can be > 19 january 2038.
Caveat: Now Tcl MUST be compiled with VS2005+, or any other compiler which has C headers compatible with VC2005+ (latest mingw-w64 is OK too!)
Tcl on Win32 is now no longer compiled with _USE_32BIT_TIME_T, so this is (potentially) binary incompatible.
2019-07-05 13:34:24 +00:00
jan.nijtmans 7e70c52009 Merge 8.7 2019-07-05 12:12:13 +00:00
jan.nijtmans dc2e004dcb Merge 8.7 2019-07-03 15:29:35 +00:00
José Ignacio Marín 91661a7da0 Update TZ info to tzdata2019b. 2019-07-02 07:25:33 +00:00
dgp 25dac72093 merge 8.7 2019-07-01 19:31:18 +00:00
jan.nijtmans 9884b5887e Merge 8.7 2019-06-30 09:21:58 +00:00
jan.nijtmans 91407fd3d6 Merge 8.7 2019-06-29 21:35:38 +00:00
jan.nijtmans 658e03b4d7 Merge 8.7 2019-06-29 13:59:11 +00:00
jan.nijtmans 121c6e30ab Merge 8.7 2019-06-28 22:43:10 +00:00
jan.nijtmans 9f89b782ef Merge 8.7 2019-06-28 22:38:28 +00:00
dgp 2298ba7ed7 merge 8.7 2019-06-28 12:43:50 +00:00
dgp 8265ea67d6 Convert deprecation to elimination for Tcl 9. 2019-05-11 15:04:57 +00:00
dgp 800ce1bfa2 Start TIP 543 for Tcl 9. 2019-05-11 14:56:34 +00:00
jan.nijtmans dae5abca60 Merge trunk. Further WIP for TIP #497, far from finished .... 2019-03-08 23:54:08 +00:00
jan.nijtmans cd2d12e256 Merge 9.0 2018-10-23 19:42:47 +00:00
jan.nijtmans dc465cd88f merge trunk 2018-10-19 19:21:09 +00:00
jan.nijtmans bedeed1c1b Merge trunk 2018-10-09 18:52:44 +00:00
jan.nijtmans f61c3bdb28 Start implementing TIP #497. regexp's now are >BMP-aware. WIP 2018-05-01 19:02:32 +00:00
173 changed files with 1875 additions and 1495 deletions
+37
View File
@@ -0,0 +1,37 @@
name: Linux Build and Test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Configure
working-directory: unix
run: |
mkdir "${HOME}/install dir"
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
- name: Build
working-directory: unix
run: |
make all
- name: Build Test Harness
working-directory: unix
run: |
make tcltest
- name: Run Tests
working-directory: unix
run: |
make test
- name: Test-Drive Installation
working-directory: unix
run: |
make install
- name: Create Distribution Package
working-directory: unix
run: |
make dist
- name: Convert Documentation to HTML
working-directory: unix
run: |
make html-tcl
+37
View File
@@ -0,0 +1,37 @@
name: Linux Build and Test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Configure
working-directory: unix
run: |
mkdir "${HOME}/install dir"
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
- name: Build
working-directory: unix
run: |
make all
- name: Build Test Harness
working-directory: unix
run: |
make tcltest
- name: Run Tests
working-directory: unix
run: |
make test
- name: Test-Drive Installation
working-directory: unix
run: |
make install
- name: Create Distribution Package
working-directory: unix
run: |
make dist
- name: Convert Documentation to HTML
working-directory: unix
run: |
make html-tcl
+22
View File
@@ -0,0 +1,22 @@
name: Windows Build and Test
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Init MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Build
working-directory: win
run: |
nmake -f makefile.vc all
- name: Build Test Harness
working-directory: win
run: |
nmake -f makefile.vc tcltest
- name: Run Tests
working-directory: win
run: |
nmake -f makefile.vc test
+15
View File
@@ -5,7 +5,22 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
+35 -11
View File
@@ -120,9 +120,9 @@ jobs:
- BUILD_DIR=unix
- CFGOPT="--enable-symbols=mem"
# Testing on Mac, various styles
- name: "macOS/Clang/Xcode 11.7/Shared"
- name: "macOS/Clang/Xcode 12/Shared"
os: osx
osx_image: xcode11.7
osx_image: xcode12.2
env:
- BUILD_DIR=macosx
install: []
@@ -130,14 +130,15 @@ jobs:
- make all
# The styles=develop avoids some weird problems on OSX
- make test styles=develop
- name: "macOS/Clang/Xcode 11.7/Shared/Unix-like"
- name: "macOS/Clang/Xcode 12/Shared/Unix-like"
os: osx
osx_image: xcode11.7
osx_image: xcode12.2
env:
- BUILD_DIR=unix
- name: "macOS/Clang/Xcode 11.7/Shared/libtommath"
- CFGOPT="--enable-dtrace"
- name: "macOS/Clang/Xcode 12/Shared/libtommath"
os: osx
osx_image: xcode11.7
osx_image: xcode12.2
env:
- BUILD_DIR=macosx
install: []
@@ -146,18 +147,26 @@ jobs:
homebrew:
packages:
- libtommath
- name: "macOS/Clang++/Xcode 11.7/Shared"
- name: "macOS/Clang++/Xcode 12/Shared"
os: osx
osx_image: xcode11.7
osx_image: xcode12.2
env:
- BUILD_DIR=unix
- CFGOPT="CC=clang++ --enable-framework CFLAGS=-Dregister=dont+use+register CPPFLAGS=-D__private_extern__=extern"
- CFGOPT="CC=clang++ --enable-framework --enable-dtrace CFLAGS=-Dregister=dont+use+register CPPFLAGS=-D__private_extern__=extern"
script:
- make all tcltest
# Newer MacOS versions
- name: "macOS/Clang/Xcode 12/Universal Apps/Shared"
os: osx
osx_image: xcode12u
env:
- BUILD_DIR=macosx
install: []
script: *mactest
# Older MacOS versions
- name: "macOS/Clang/Xcode 11/Shared"
os: osx
osx_image: xcode11
osx_image: xcode11.7
env:
- BUILD_DIR=macosx
install: []
@@ -171,7 +180,7 @@ jobs:
script: *mactest
- name: "macOS/Clang/Xcode 9/Shared"
os: osx
osx_image: xcode9.2
osx_image: xcode9.4
env:
- BUILD_DIR=macosx
install: []
@@ -215,6 +224,8 @@ jobs:
- BUILD_DIR=win
- VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"
before_install: &vcpreinst
- rm -rf tests/safe-stock8*.test
- touch generic/tclStubInit.c generic/tclOOStubInit.c generic/tclOOScript.h
- PATH="$PATH:$VCDIR"
- cd ${BUILD_DIR}
install: []
@@ -248,6 +259,15 @@ jobs:
script:
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
- name: "Windows/MSVC/StaticPackage"
os: windows
compiler: cl
env: *vcenv
before_install: *vcpreinst
install: []
script:
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc test
- name: "Windows/MSVC/Debug"
os: windows
compiler: cl
@@ -329,6 +349,8 @@ jobs:
- BUILD_DIR=win
- CFGOPT="--enable-64bit"
before_install: &makepreinst
- rm -rf tests/safe-stock8*.test
- touch generic/tclStubInit.c generic/tclOOStubInit.c generic/tclOOScript.h
- choco install -y make zip
- cd ${BUILD_DIR}
- name: "Windows/GCC/Shared: UTF_MAX=4"
@@ -436,6 +458,8 @@ jobs:
script:
- make dist
before_install:
- rm -rf tests/safe-stock8*.test
- touch generic/tclStubInit.c generic/tclOOStubInit.c generic/tclOOScript.h
- cd ${BUILD_DIR}
install:
- mkdir "$HOME/install dir"
+1 -1
View File
@@ -3525,7 +3525,7 @@
* generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to avoid
a read off the end of the argument array that could occur when
executing something like [unset -nocomplain] was executed. Improved
the error message given when too few arguments are given (-nocomplain
the error message given when not enough arguments are given (-nocomplain
should obviously be *before* --, not after it) and also modified the
test suite to take account of that and the documentation to use the
same improvement. [Bug 405769]
+11 -1
View File
@@ -5,7 +5,17 @@ This is the **Tcl 8.7a4** source distribution.
You can get any source release of Tcl from [our distribution
site](https://sourceforge.net/projects/tcl/files/Tcl/).
[![Build Status](https://travis-ci.org/tcltk/tcl.svg?branch=core-8-branch)](https://travis-ci.org/tcltk/tcl)
8.6.10
[![Build Status](https://github.com/tcltk/tcl/workflows/Linux%20Build%20and%20Test/badge.svg?branch=core-8-6-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Linux+Build+and+Test%22+branch%3Acore-8-6-branch)
[![Build Status](https://github.com/tcltk/tcl/workflows/Windows%20Build%20and%20Test/badge.svg?branch=core-8-6-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Windows+Build+and+Test%22+branch%3Acore-8-6-branch)
<br>
8.7a4
[![Build Status](https://github.com/tcltk/tcl/workflows/Linux%20Build%20and%20Test/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Linux+Build+and+Test%22+branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tcl/workflows/Windows%20Build%20and%20Test/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Windows+Build+and+Test%22+branch%3Acore-8-branch)
<br>
9.0a2
[![Build Status](https://github.com/tcltk/tcl/workflows/Linux%20Build%20and%20Test/badge.svg?branch=main)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Linux+Build+and+Test%22+branch%3Amain)
[![Build Status](https://github.com/tcltk/tcl/workflows/Windows%20Build%20and%20Test/badge.svg?branch=main)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Windows+Build+and+Test%22+branch%3Amain)
## Contents
1. [Introduction](#intro)
+2 -6
View File
@@ -21,19 +21,15 @@
#include <sys/types.h>
#ifdef __APPLE__
extern void * memchr(const void *s, int c, size_t n);
#else
extern char * memchr(const void *s, int c, size_t n);
#endif
extern int memcmp(const void *s1, const void *s2, size_t n);
extern char * memcpy(void *t, const void *f, size_t n);
extern void * memcpy(void *t, const void *f, size_t n);
#ifdef NO_MEMMOVE
#define memmove(d,s,n) (bcopy((s), (d), (n)))
#else
extern char * memmove(void *t, const void *f, size_t n);
#endif
extern char * memset(void *s, int c, size_t n);
extern void * memset(void *s, int c, size_t n);
extern int strcasecmp(const char *s1, const char *s2);
extern char * strcat(char *dst, const char *src);
+2 -2
View File
@@ -414,7 +414,7 @@ caller (with a reference count of 0).
the encoding identified by \fIencodingName\fR and evaluates
its contents as a Tcl script. It returns the same information as
\fBTcl_EvalObjEx\fR.
If \fIencodingName\fR is NULL, the system encoding is used for
If \fIencodingName\fR is NULL, the utf-8 encoding is used for
reading the file contents.
If the file could not be read then a Tcl error is returned to describe
why the file could not be read.
@@ -430,7 +430,7 @@ or
which will be safely substituted by the Tcl interpreter into
.QW ^Z .
\fBTcl_FSEvalFile\fR is a simpler version of
\fBTcl_FSEvalFileEx\fR that always uses the system encoding
\fBTcl_FSEvalFileEx\fR that always uses the utf-8 encoding
when reading the file.
.PP
\fBTcl_FSLoadFile\fR dynamically loads a binary code file into memory and
+13 -4
View File
@@ -41,6 +41,12 @@ When an expression evaluates to an integer, the value is the decimal form of
the integer, and when an expression evaluates to a floating-point number, the
value is the form produced by the \fB%g\fR format specifier of Tcl's
\fBformat\fR command.
.PP
.VS "TIP 582"
You can use \fB#\fR at any point in the expression (except inside double
quotes or braces) to start a comment. Comments last to the end of the line or
the end of the expression, whichever comes first.
.VE "TIP 582"
.SS OPERANDS
.PP
An expression consists of a combination of operands, operators, parentheses and
@@ -82,9 +88,9 @@ produces the value on the right side.
.PP
.CS
.ta 9c
\fBexpr\fR 3.1 + $a \fI6.1\fR
\fBexpr\fR 2 + "$a.$b" \fI5.6\fR
\fBexpr\fR 4*[llength "6 2"] \fI8\fR
\fBexpr\fR {3.1 + $a} \fI6.1\fR
\fBexpr\fR {2 + "$a.$b"} \fI5.6\fR
\fBexpr\fR {4*[llength "6 2"]} \fI8\fR
\fBexpr\fR {{word one} < "word $a"} \fI0\fR
.CE
.PP
@@ -270,7 +276,7 @@ which means that operands are not evaluated if they are
not needed to determine the outcome. For example, in
.PP
.CS
\fBexpr\fR {$v ? [a] : [b]}
\fBexpr\fR {$v?[a]:[b]}
.CE
.PP
only one of \fB[a]\fR or \fB[b]\fR is evaluated,
@@ -487,7 +493,9 @@ value of true:
.PP
.CS
set isTrue [\fBexpr\fR {
# Does the environment variable exist, and...
[info exists ::env(SOME_ENV_VAR)] &&
# ...does it contain a proper true value?
[string is true -strict $::env(SOME_ENV_VAR)]
}]
.CE
@@ -510,4 +518,5 @@ Copyright \(co 2005 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
.fi
'\" Local Variables:
'\" mode: nroff
'\" fill-column: 78
'\" End:
+1 -1
View File
@@ -58,7 +58,7 @@ kernel call) between a child interpreter and its parent.
See \fBALIAS INVOCATION\fR, below, for more details
on how the alias mechanism works.
.PP
A qualified interpreter name is a proper Tcl lists containing a subset of its
A qualified interpreter name is a proper Tcl list containing a subset of its
ancestors in the interpreter hierarchy, terminated by the string naming the
interpreter in its immediate parent. Interpreter names are relative to the
interpreter in which they are used. For example, if
+1 -1
View File
@@ -47,7 +47,7 @@ A leading BOM (Byte order mark) contained in the file is ignored for unicode enc
.PP
The \fB\-encoding\fR option is used to specify the encoding of
the data stored in \fIfileName\fR. When the \fB\-encoding\fR option
is omitted, the system encoding is assumed.
is omitted, the utf-8 encoding is assumed.
.SH EXAMPLE
.PP
Run the script in the file \fBfoo.tcl\fR and then the script in the
+16 -16
View File
@@ -56,7 +56,7 @@ static const chr *scanplain(struct vars *);
static void onechr(struct vars *, pchr, struct state *, struct state *);
static void dovec(struct vars *, struct cvec *, struct state *, struct state *);
static void wordchrs(struct vars *);
static struct subre *subre(struct vars *, int, int, struct state *, struct state *);
static struct subre *sub_re(struct vars *, int, int, struct state *, struct state *);
static void freesubre(struct vars *, struct subre *);
static void freesrnode(struct vars *, struct subre *);
static int numst(struct subre *, int);
@@ -663,7 +663,7 @@ parse(
assert(stopper == ')' || stopper == EOS);
branches = subre(v, '|', LONGER, init, final);
branches = sub_re(v, '|', LONGER, init, final);
NOERRN();
branch = branches;
firstbranch = 1;
@@ -673,7 +673,7 @@ parse(
* Need a place to hang the branch.
*/
branch->right = subre(v, '|', LONGER, init, final);
branch->right = sub_re(v, '|', LONGER, init, final);
NOERRN();
branch = branch->right;
}
@@ -744,7 +744,7 @@ parsebranch(
lp = left;
seencontent = 0;
t = subre(v, '=', 0, left, right); /* op '=' is tentative */
t = sub_re(v, '=', 0, left, right); /* op '=' is tentative */
NOERRN();
while (!SEE('|') && !SEE(stopper) && !SEE(EOS)) {
if (seencontent) { /* implicit concat operator */
@@ -977,7 +977,7 @@ parseqatom(
NOERR();
if (cap) {
v->subs[subno] = atom;
t = subre(v, '(', atom->flags|CAP, lp, rp);
t = sub_re(v, '(', atom->flags|CAP, lp, rp);
NOERR();
t->subno = subno;
t->left = atom;
@@ -995,7 +995,7 @@ parseqatom(
INSIST(v->subs[v->nextvalue] != NULL, REG_ESUBREG);
NOERR();
assert(v->nextvalue > 0);
atom = subre(v, 'b', BACKR, lp, rp);
atom = sub_re(v, 'b', BACKR, lp, rp);
NOERR();
subno = v->nextvalue;
atom->subno = subno;
@@ -1110,7 +1110,7 @@ parseqatom(
*/
if (atom == NULL) {
atom = subre(v, '=', 0, lp, rp);
atom = sub_re(v, '=', 0, lp, rp);
NOERR();
}
@@ -1147,7 +1147,7 @@ parseqatom(
* Break remaining subRE into x{...} and what follows.
*/
t = subre(v, '.', COMBINE(qprefer, atom->flags), lp, rp);
t = sub_re(v, '.', COMBINE(qprefer, atom->flags), lp, rp);
NOERR();
t->left = atom;
atomp = &t->left;
@@ -1161,7 +1161,7 @@ parseqatom(
*/
assert(top->op == '=' && top->left == NULL && top->right == NULL);
top->left = subre(v, '=', top->flags, top->begin, lp);
top->left = sub_re(v, '=', top->flags, top->begin, lp);
NOERR();
top->op = '.';
top->right = t;
@@ -1230,9 +1230,9 @@ parseqatom(
assert(m >= 1 && m != DUPINF && n >= 1);
repeat(v, s, atom->begin, m-1, (n == DUPINF) ? n : n-1);
f = COMBINE(qprefer, atom->flags);
t = subre(v, '.', f, s, atom->end); /* prefix and atom */
t = sub_re(v, '.', f, s, atom->end); /* prefix and atom */
NOERR();
t->left = subre(v, '=', PREF(f), s, atom->begin);
t->left = sub_re(v, '=', PREF(f), s, atom->begin);
NOERR();
t->right = atom;
*atomp = t;
@@ -1247,7 +1247,7 @@ parseqatom(
dupnfa(v->nfa, atom->begin, atom->end, s, s2);
repeat(v, s, s2, m, n);
f = COMBINE(qprefer, atom->flags);
t = subre(v, '*', f, s, s2);
t = sub_re(v, '*', f, s, s2);
NOERR();
t->min = (short) m;
t->max = (short) n;
@@ -1265,7 +1265,7 @@ parseqatom(
t->right = parsebranch(v, stopper, type, s2, rp, 1);
} else {
EMPTYARC(s2, rp);
t->right = subre(v, '=', 0, s2, rp);
t->right = sub_re(v, '=', 0, s2, rp);
}
NOERR();
assert(SEE('|') || SEE(stopper) || SEE(EOS));
@@ -1717,12 +1717,12 @@ wordchrs(
}
/*
- subre - allocate a subre
^ static struct subre *subre(struct vars *, int, int, struct state *,
- sub_re - allocate a subre
^ static struct subre *sub_re(struct vars *, int, int, struct state *,
^ struct state *);
*/
static struct subre *
subre(
sub_re(
struct vars *v,
int op,
int flags,
+1 -1
View File
@@ -361,7 +361,7 @@ typedef long LONG;
*/
#if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG)
# if defined(_MSC_VER) || defined(_WIN32)
# if defined(_WIN32) && (!defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO)
# define TCL_WIDE_INT_TYPE __int64
# define TCL_LL_MODIFIER "I64"
# if defined(_WIN64)
+1 -1
View File
@@ -24,7 +24,7 @@
#include "tclInt.h"
#if !TCL_THREADS || !defined(USE_THREAD_ALLOC)
#if USE_TCLALLOC
#if defined(USE_TCLALLOC) && USE_TCLALLOC
/*
* We should really make use of AC_CHECK_TYPE(caddr_t) here, but it can wait
+7 -7
View File
@@ -131,7 +131,7 @@ enum BasicBlockFlags {
* Source instruction type recognized by the assembler.
*/
typedef enum TalInstType {
typedef enum {
ASSEM_1BYTE, /* Fixed arity, 1-byte instruction */
ASSEM_BEGIN_CATCH, /* Begin catch: one 4-byte jump offset to be
* converted to appropriate exception
@@ -145,8 +145,6 @@ typedef enum TalInstType {
* 1 */
ASSEM_DICT_GET, /* 'dict get' and related - consumes N+1
* operands, produces 1, N > 0 */
ASSEM_DICT_GET_DEF, /* 'dict getwithdefault' - consumes N+2
* operands, produces 1, N > 0 */
ASSEM_DICT_SET, /* specifies key count and LVT index, consumes
* N+1 operands, produces 1, N > 0 */
ASSEM_DICT_UNSET, /* specifies key count and LVT index, consumes
@@ -189,8 +187,10 @@ typedef enum TalInstType {
* produces N */
ASSEM_SINT1, /* One 1-byte signed-integer operand
* (INCR_STK_IMM) */
ASSEM_SINT4_LVT4 /* Signed 4-byte integer operand followed by
ASSEM_SINT4_LVT4, /* Signed 4-byte integer operand followed by
* LVT entry. Fixed arity */
ASSEM_DICT_GET_DEF /* 'dict getwithdefault' - consumes N+2
* operands, produces 1, N > 0 */
} TalInstType;
/*
@@ -815,7 +815,7 @@ TclNRAssembleObjCmd(
Tcl_AddErrorInfo(interp, "\n (\"");
Tcl_AppendObjToErrorInfo(interp, objv[0]);
Tcl_AddErrorInfo(interp, "\" body, line ");
backtrace = Tcl_NewWideIntObj(Tcl_GetErrorLine(interp));
TclNewIntObj(backtrace, Tcl_GetErrorLine(interp));
Tcl_AppendObjToErrorInfo(interp, backtrace);
Tcl_AddErrorInfo(interp, ")");
return TCL_ERROR;
@@ -1266,7 +1266,7 @@ AssembleOneLine(
Tcl_Obj* instNameObj; /* Name of the instruction */
int tblIdx; /* Index in TalInstructionTable of the
* instruction */
enum TalInstType instType; /* Type of the instruction */
TalInstType instType; /* Type of the instruction */
Tcl_Obj* operand1Obj = NULL;
/* First operand to the instruction */
const char* operand1; /* String rep of the operand */
@@ -4270,7 +4270,7 @@ AddBasicBlockRangeToErrorInfo(
Tcl_Obj* lineNo; /* Line number in the source */
Tcl_AddErrorInfo(interp, "\n in assembly code between lines ");
lineNo = Tcl_NewWideIntObj(bbPtr->startLine);
TclNewIntObj(lineNo, bbPtr->startLine);
Tcl_IncrRefCount(lineNo);
Tcl_AppendObjToErrorInfo(interp, lineNo);
Tcl_AddErrorInfo(interp, " and ");
+2 -2
View File
@@ -8790,8 +8790,8 @@ MathFuncWrongNumArgs(
}
}
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"too %s arguments for math function \"%s\"",
(found < expected ? "few" : "many"), name));
"%s arguments for math function \"%s\"",
(found < expected ? "not enough" : "too many"), name));
Tcl_SetErrorCode(interp, "TCL", "WRONGARGS", NULL);
}
+1 -1
View File
@@ -1288,7 +1288,7 @@ TclFinalizeMemorySubsystem(void)
Tcl_MutexUnlock(ckallocMutexPtr);
#endif
#if USE_TCLALLOC
#if defined(USE_TCLALLOC) && USE_TCLALLOC
TclFinalizeAllocSubsystem();
#endif
}
+2 -2
View File
@@ -59,7 +59,7 @@ static int GetStatBuf(Tcl_Interp *interp, Tcl_Obj *pathPtr,
static const char * GetTypeFromMode(int mode);
static int StoreStatData(Tcl_Interp *interp, Tcl_Obj *varName,
Tcl_StatBuf *statPtr);
static inline int EachloopCmd(Tcl_Interp *interp, int collect,
static int EachloopCmd(Tcl_Interp *interp, int collect,
int objc, Tcl_Obj *const objv[]);
static Tcl_NRPostProc CatchObjCmdCallback;
static Tcl_NRPostProc ExprCallback;
@@ -2599,7 +2599,7 @@ TclNRLmapCmd(
return EachloopCmd(interp, TCL_EACH_COLLECT, objc, objv);
}
static inline int
static int
EachloopCmd(
Tcl_Interp *interp, /* Our context for variables and script
* evaluation. */
+4 -4
View File
@@ -383,7 +383,7 @@ Tcl_IncrObjCmd(
if (objc == 3) {
incrPtr = objv[2];
} else {
incrPtr = Tcl_NewWideIntObj(1);
TclNewIntObj(incrPtr, 1);
}
Tcl_IncrRefCount(incrPtr);
newValuePtr = TclIncrObjVar2(interp, objv[1], NULL,
@@ -3157,7 +3157,7 @@ Tcl_LsearchObjCmd(
"-real", "-regexp", "-sorted", "-start", "-stride",
"-subindices", NULL
};
enum options {
enum lsearchoptions {
LSEARCH_ALL, LSEARCH_ASCII, LSEARCH_BISECT, LSEARCH_DECREASING,
LSEARCH_DICTIONARY, LSEARCH_EXACT, LSEARCH_GLOB, LSEARCH_INCREASING,
LSEARCH_INDEX, LSEARCH_INLINE, LSEARCH_INTEGER, LSEARCH_NOCASE,
@@ -3205,7 +3205,7 @@ Tcl_LsearchObjCmd(
result = TCL_ERROR;
goto done;
}
switch ((enum options) index) {
switch ((enum lsearchoptions) index) {
case LSEARCH_ALL: /* -all */
allMatches = 1;
break;
@@ -3514,7 +3514,7 @@ Tcl_LsearchObjCmd(
if (allMatches || inlineReturn) {
Tcl_ResetResult(interp);
} else {
TclNewIntObj(itemPtr, -1);
TclNewIntObj(itemPtr, TCL_INDEX_NONE);
Tcl_SetObjResult(interp, itemPtr);
}
goto done;
+21 -18
View File
@@ -137,7 +137,7 @@ Tcl_RegexpObjCmd(
"-expanded", "-line", "-linestop", "-lineanchor",
"-nocase", "-start", "--", NULL
};
enum options {
enum regexpoptions {
REGEXP_ALL, REGEXP_ABOUT, REGEXP_INDICES, REGEXP_INLINE,
REGEXP_EXPANDED,REGEXP_LINE, REGEXP_LINESTOP,REGEXP_LINEANCHOR,
REGEXP_NOCASE, REGEXP_START, REGEXP_LAST
@@ -162,7 +162,7 @@ Tcl_RegexpObjCmd(
&index) != TCL_OK) {
goto optionError;
}
switch ((enum options) index) {
switch ((enum regexpoptions) index) {
case REGEXP_ALL:
all = 1;
break;
@@ -499,7 +499,7 @@ Tcl_RegsubObjCmd(
"-linestop", "-lineanchor", "-nocase", "-start",
"--", NULL
};
enum options {
enum regsubobjoptions {
REGSUB_ALL, REGSUB_COMMAND, REGSUB_EXPANDED, REGSUB_LINE,
REGSUB_LINESTOP, REGSUB_LINEANCHOR, REGSUB_NOCASE, REGSUB_START,
REGSUB_LAST
@@ -523,7 +523,7 @@ Tcl_RegsubObjCmd(
TCL_EXACT, &index) != TCL_OK) {
goto optionError;
}
switch ((enum options) index) {
switch ((enum regsubobjoptions) index) {
case REGSUB_ALL:
all = 1;
break;
@@ -1536,7 +1536,7 @@ StringIsCmd(
"space", "true", "upper", "wideinteger",
"wordchar", "xdigit", NULL
};
enum isClasses {
enum isClassesEnum {
STR_IS_ALNUM, STR_IS_ALPHA, STR_IS_ASCII, STR_IS_CONTROL,
STR_IS_BOOL, STR_IS_DICT, STR_IS_DIGIT, STR_IS_DOUBLE,
STR_IS_ENTIER, STR_IS_FALSE, STR_IS_GRAPH, STR_IS_INT,
@@ -1547,7 +1547,7 @@ StringIsCmd(
static const char *const isOptions[] = {
"-strict", "-failindex", NULL
};
enum isOptions {
enum isOptionsEnum {
OPT_STRICT, OPT_FAILIDX
};
@@ -1569,7 +1569,7 @@ StringIsCmd(
&idx2) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum isOptions) idx2) {
switch ((enum isOptionsEnum) idx2) {
case OPT_STRICT:
strict = 1;
break;
@@ -1598,7 +1598,7 @@ StringIsCmd(
* When entering here, result == 1 and failat == 0.
*/
switch ((enum isClasses) index) {
switch ((enum isClassesEnum) index) {
case STR_IS_ALNUM:
chcomp = Tcl_UniCharIsAlnum;
break;
@@ -3484,7 +3484,7 @@ TclNRSwitchObjCmd(
"-exact", "-glob", "-indexvar", "-matchvar", "-nocase", "-regexp",
"--", NULL
};
enum options {
enum switchOptionsEnum {
OPT_EXACT, OPT_GLOB, OPT_INDEXV, OPT_MATCHV, OPT_NOCASE, OPT_REGEXP,
OPT_LAST
};
@@ -3505,7 +3505,7 @@ TclNRSwitchObjCmd(
&index) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum options) index) {
switch ((enum switchOptionsEnum) index) {
/*
* General options.
*/
@@ -3778,7 +3778,7 @@ TclNRSwitchObjCmd(
TclNewIntObj(rangeObjAry[0], info.matches[j].start);
TclNewIntObj(rangeObjAry[1], info.matches[j].end-1);
} else {
TclNewIntObj(rangeObjAry[1], -1);
TclNewIntObj(rangeObjAry[1], TCL_INDEX_NONE);
rangeObjAry[0] = rangeObjAry[1];
}
@@ -4171,7 +4171,7 @@ Tcl_TimeRateObjCmd(
static const char *const options[] = {
"-direct", "-overhead", "-calibrate", "--", NULL
};
enum options {
enum timeRateOptionsEnum {
TMRT_EV_DIRECT, TMRT_OVERHEAD, TMRT_CALIBRATE, TMRT_LAST
};
NRE_callback *rootPtr;
@@ -4188,7 +4188,7 @@ Tcl_TimeRateObjCmd(
i++;
break;
}
switch (index) {
switch ((enum timeRateOptionsEnum)index) {
case TMRT_EV_DIRECT:
direct = objv[i];
break;
@@ -4203,6 +4203,8 @@ Tcl_TimeRateObjCmd(
case TMRT_CALIBRATE:
calibrate = objv[i];
break;
case TMRT_LAST:
break;
}
}
@@ -4548,7 +4550,8 @@ Tcl_TimeRateObjCmd(
#endif /* TCL_WIDE_CLICKS */
if (!count) { /* no iterations - avoid divide by zero */
objs[0] = objs[2] = objs[4] = Tcl_NewWideIntObj(0);
TclNewIntObj(objs[4], 0);
objs[0] = objs[2] = objs[4];
goto retRes;
}
@@ -4589,7 +4592,7 @@ Tcl_TimeRateObjCmd(
val = usec / count; /* microsecs per iteration */
if (val >= 1000000) {
objs[0] = Tcl_NewWideIntObj(val);
TclNewIntObj(objs[0], val);
} else {
if (val < 10) {
digits = 6;
@@ -4605,7 +4608,7 @@ Tcl_TimeRateObjCmd(
objs[0] = Tcl_ObjPrintf("%.*f", digits, ((double) usec)/count);
}
objs[2] = Tcl_NewWideIntObj(count); /* iterations */
TclNewIntObj(objs[2], count); /* iterations */
/*
* Calculate speed as rate (count) per sec
@@ -4627,7 +4630,7 @@ Tcl_TimeRateObjCmd(
objs[4] = Tcl_ObjPrintf("%.*f",
digits, ((double) (count * 1000000)) / usec);
} else {
objs[4] = Tcl_NewWideIntObj(val);
TclNewIntObj(objs[4], val);
}
} else {
objs[4] = Tcl_NewWideIntObj((count / usec) * 1000000);
@@ -4642,7 +4645,7 @@ Tcl_TimeRateObjCmd(
if (usec >= 1) {
objs[6] = Tcl_ObjPrintf("%.3f", (double)usec / 1000);
} else {
objs[6] = Tcl_NewWideIntObj(0);
TclNewIntObj(objs[6], 0);
}
TclNewLiteralStringObj(objs[7], "net-ms");
}
+2 -2
View File
@@ -874,7 +874,7 @@ TclCompileLappendCmd(
*/
if (numWords > 2) {
Tcl_Token *valueTokenPtr = TokenAfter(varTokenPtr);
valueTokenPtr = TokenAfter(varTokenPtr);
CompileWord(envPtr, valueTokenPtr, interp, 2);
}
@@ -1064,7 +1064,7 @@ TclCompileLindexCmd(
int i, idx, numWords = parsePtr->numWords;
/*
* Quit if too few args.
* Quit if not enough args.
*/
/* TODO: Consider support for compiling expanded args. */
+3 -3
View File
@@ -462,7 +462,7 @@ TclCompileStringInsertCmd(
TCL_INDEX_END, &idx)) {
/* Nothing useful knowable - cease compile; let it direct eval */
return TCL_OK;
return TCL_ERROR;
}
/* Compute and push the string to be inserted */
@@ -511,7 +511,7 @@ TclCompileStringIsCmd(
"true", "upper", "wideinteger", "wordchar",
"xdigit", NULL
};
enum isClasses {
enum isClassesEnum {
STR_IS_ALNUM, STR_IS_ALPHA, STR_IS_ASCII, STR_IS_CONTROL,
STR_IS_BOOL, STR_IS_DICT, STR_IS_DIGIT, STR_IS_DOUBLE, STR_IS_ENTIER,
STR_IS_FALSE, STR_IS_GRAPH, STR_IS_INT, STR_IS_LIST,
@@ -575,7 +575,7 @@ TclCompileStringIsCmd(
CompileWord(envPtr, tokenPtr, interp, parsePtr->numWords-1);
switch ((enum isClasses) t) {
switch ((enum isClassesEnum) t) {
case STR_IS_ALNUM:
strClassType = STR_CLASS_ALNUM;
goto compileStrClass;
+57 -14
View File
@@ -164,6 +164,8 @@ enum Marks {
* "=" is encountered. */
#define INVALID 5 /* A parse error. Used when any punctuation
* appears that's not a supported operator. */
#define COMMENT 6 /* Comment. Lasts to end of line or end of
* expression, whichever comes first. */
/* Leaf lexemes */
@@ -462,7 +464,7 @@ static const unsigned char Lexeme[] = {
INVALID /* FS */, INVALID /* GS */,
INVALID /* RS */, INVALID /* US */,
INVALID /* SPACE */, 0 /* ! or != */,
QUOTED /* " */, INVALID /* # */,
QUOTED /* " */, 0 /* # */,
VARIABLE /* $ */, MOD /* % */,
0 /* & or && */, INVALID /* ' */,
OPEN_PAREN /* ( */, CLOSE_PAREN /* ) */,
@@ -674,9 +676,10 @@ ParseExpr(
OpNode *newPtr = NULL;
do {
if (size <= UINT_MAX/sizeof(OpNode)) {
newPtr = (OpNode *)attemptckrealloc(nodes, size * sizeof(OpNode));
}
if (size <= UINT_MAX/sizeof(OpNode)) {
newPtr = (OpNode *) attemptckrealloc(nodes,
size * sizeof(OpNode));
}
} while ((newPtr == NULL)
&& ((size -= (size - nodesUsed) / 2) > nodesUsed));
if (newPtr == NULL) {
@@ -708,6 +711,10 @@ ParseExpr(
int b;
switch (lexeme) {
case COMMENT:
start += scanned;
numBytes -= scanned;
continue;
case INVALID:
msg = Tcl_ObjPrintf("invalid character \"%.*s\"",
scanned, start);
@@ -742,6 +749,32 @@ ParseExpr(
} else if (Tcl_GetBooleanFromObj(NULL,literal,&b) == TCL_OK) {
lexeme = BOOLEAN;
} else {
/*
* Tricky case: see test expr-62.10
*/
int scanned2 = scanned;
do {
scanned2 += TclParseAllWhiteSpace(
start + scanned2, numBytes - scanned2);
scanned2 += ParseLexeme(
start + scanned2, numBytes - scanned2, &lexeme,
NULL);
} while (lexeme == COMMENT);
if (lexeme == OPEN_PAREN) {
/*
* Actually a function call, but with obscuring
* comments. Skip to the start of the parentheses.
* Note that we assume that open parentheses are one
* byte long.
*/
lexeme = FUNCTION;
Tcl_ListObjAppendElement(NULL, funcList, literal);
scanned = scanned2 - 1;
break;
}
Tcl_DecrRefCount(literal);
msg = Tcl_ObjPrintf("invalid bareword \"%.*s%s\"",
(scanned < limit) ? scanned : limit - 3, start,
@@ -1009,7 +1042,7 @@ ParseExpr(
* later.
*/
literal = Tcl_NewObj();
TclNewObj(literal);
if (TclWordKnownAtCompileTime(tokenPtr, literal)) {
Tcl_ListObjAppendElement(NULL, litList, literal);
complete = lastParsed = OT_LITERAL;
@@ -1894,7 +1927,7 @@ ParseLexeme(
storage, if non-NULL. */
{
const char *end;
int scanned;
int scanned, size;
Tcl_UniChar ch = 0;
Tcl_Obj *literal = NULL;
unsigned char byte;
@@ -1909,6 +1942,16 @@ ParseLexeme(
return 1;
}
switch (byte) {
case '#':
/*
* Scan forward over the comment contents.
*/
for (size = 0; byte != '\n' && byte != 0 && size < numBytes; size++) {
byte = UCHAR(start[size]);
}
*lexemePtr = COMMENT;
return size - (byte == '\n');
case '*':
if ((numBytes > 1) && (start[1] == '*')) {
*lexemePtr = EXPON;
@@ -2463,8 +2506,8 @@ CompileExprTree(
if (optimize) {
int length;
const char *bytes = TclGetStringFromObj(literal, &length);
int index = TclRegisterLiteral(envPtr, bytes, length, 0);
Tcl_Obj *objPtr = TclFetchLiteral(envPtr, index);
int idx = TclRegisterLiteral(envPtr, bytes, length, 0);
Tcl_Obj *objPtr = TclFetchLiteral(envPtr, idx);
if ((objPtr->typePtr == NULL) && (literal->typePtr != NULL)) {
/*
@@ -2484,7 +2527,7 @@ CompileExprTree(
objPtr->internalRep = literal->internalRep;
literal->typePtr = NULL;
}
TclEmitPush(index, envPtr);
TclEmitPush(idx, envPtr);
} else {
/*
* When optimize==0, we know the expression is a one-off and
@@ -2510,7 +2553,7 @@ CompileExprTree(
if (ExecConstantExprTree(interp, nodes, next, litObjvPtr)
== TCL_OK) {
int index;
int idx;
Tcl_Obj *objPtr = Tcl_GetObjResult(interp);
/*
@@ -2524,8 +2567,8 @@ CompileExprTree(
const char *bytes
= Tcl_GetStringFromObj(objPtr, &numBytes);
index = TclRegisterLiteral(envPtr, bytes, numBytes, 0);
tableValue = TclFetchLiteral(envPtr, index);
idx = TclRegisterLiteral(envPtr, bytes, numBytes, 0);
tableValue = TclFetchLiteral(envPtr, idx);
if ((tableValue->typePtr == NULL) &&
(objPtr->typePtr != NULL)) {
/*
@@ -2537,9 +2580,9 @@ CompileExprTree(
objPtr->typePtr = NULL;
}
} else {
index = TclAddLiteralObj(envPtr, objPtr, NULL);
idx = TclAddLiteralObj(envPtr, objPtr, NULL);
}
TclEmitPush(index, envPtr);
TclEmitPush(idx, envPtr);
} else {
TclCompileSyntaxError(interp, envPtr);
}
+7 -7
View File
@@ -2787,7 +2787,7 @@ TclClockOldscanObjCmd(
yyHaveRel = 0;
yyRelMonth = 0; yyRelDay = 0; yyRelSeconds = 0; yyRelPointer = NULL;
dateInfo.messages = Tcl_NewObj();
TclNewObj(dateInfo.messages);
dateInfo.separatrix = "";
Tcl_IncrRefCount(dateInfo.messages);
@@ -2844,8 +2844,8 @@ TclClockOldscanObjCmd(
return TCL_ERROR;
}
result = Tcl_NewObj();
resultElement = Tcl_NewObj();
TclNewObj(result);
TclNewObj(resultElement);
if (yyHaveDate) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyYear));
@@ -2863,7 +2863,7 @@ TclClockOldscanObjCmd(
Tcl_ListObjAppendElement(interp, result, Tcl_NewObj());
}
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveZone) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) -yyTimezone));
@@ -2872,7 +2872,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveRel) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyRelMonth));
@@ -2883,7 +2883,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveDay && !yyHaveDate) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyDayOrdinal));
@@ -2892,7 +2892,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveOrdinalMonth) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyMonthOrdinal));
+2 -1
View File
@@ -2226,8 +2226,9 @@ DictIncrCmd(
if (objc == 4) {
code = TclIncrObj(interp, valuePtr, objv[3]);
} else {
Tcl_Obj *incrPtr = Tcl_NewWideIntObj(1);
Tcl_Obj *incrPtr;
TclNewIntObj(incrPtr, 1);
Tcl_IncrRefCount(incrPtr);
code = TclIncrObj(interp, valuePtr, incrPtr);
TclDecrRefCount(incrPtr);
+3 -3
View File
@@ -1048,7 +1048,7 @@ Tcl_InitSubsystems(void)
TclInitThreadStorage(); /* Creates hash table for
* thread local storage */
#if USE_TCLALLOC
#if defined(USE_TCLALLOC) && USE_TCLALLOC
TclInitAlloc(); /* Process wide mutex init */
#endif
#if TCL_THREADS && defined(USE_THREAD_ALLOC)
@@ -1502,7 +1502,7 @@ Tcl_UpdateObjCmd(
int optionIndex;
int flags = 0; /* Initialized to avoid compiler warning. */
static const char *const updateOptions[] = {"idletasks", NULL};
enum updateOptions {OPT_IDLETASKS};
enum updateOptionsEnum {OPT_IDLETASKS};
if (objc == 1) {
flags = TCL_ALL_EVENTS|TCL_DONT_WAIT;
@@ -1511,7 +1511,7 @@ Tcl_UpdateObjCmd(
"option", 0, &optionIndex) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum updateOptions) optionIndex) {
switch ((enum updateOptionsEnum) optionIndex) {
case OPT_IDLETASKS:
flags = TCL_WINDOW_EVENTS|TCL_IDLE_EVENTS|TCL_DONT_WAIT;
break;
+6 -6
View File
@@ -3736,7 +3736,7 @@ TEBCresume(
TRACE(("%u %ld => ", opnd, increment));
if (Tcl_IsShared(objPtr)) {
objPtr->refCount--; /* We know it's shared. */
objResultPtr = Tcl_NewWideIntObj(w+increment);
TclNewIntObj(objResultPtr, w + increment);
Tcl_IncrRefCount(objResultPtr);
varPtr->value.objPtr = objResultPtr;
} else {
@@ -6156,7 +6156,7 @@ TEBCresume(
wideResultOfArithmetic:
TRACE(("%s %s => ", O2S(valuePtr), O2S(value2Ptr)));
if (Tcl_IsShared(valuePtr)) {
objResultPtr = Tcl_NewWideIntObj(wResult);
TclNewIntObj(objResultPtr, wResult);
TRACE(("%s\n", O2S(objResultPtr)));
NEXT_INST_F(1, 2, 1);
}
@@ -6427,8 +6427,8 @@ TEBCresume(
if (TclHasIntRep(valuePtr, &tclBooleanType)) {
objResultPtr = TCONST(1);
} else {
int result = (TclSetBooleanFromAny(NULL, valuePtr) == TCL_OK);
objResultPtr = TCONST(result);
int res = (TclSetBooleanFromAny(NULL, valuePtr) == TCL_OK);
objResultPtr = TCONST(res);
}
TRACE_WITH_OBJ(("\"%.30s\" => ", O2S(valuePtr)), objResultPtr);
NEXT_INST_F(1, 0, 1);
@@ -6622,7 +6622,7 @@ TEBCresume(
}
{
ForeachInfo *infoPtr;
Tcl_Obj *listPtr, **elements, *tmpPtr;
Tcl_Obj *listPtr, **elements;
ForeachVarList *varListPtr;
int numLists, listLen, numVars;
int listTmpDepth;
@@ -7564,7 +7564,7 @@ TEBCresume(
default:
Tcl_Panic("clockRead instruction with unknown clock#");
}
objResultPtr = Tcl_NewWideIntObj(wval);
TclNewIntObj(objResultPtr, wval);
TRACE_WITH_OBJ(("=> "), objResultPtr);
NEXT_INST_F(2, 0, 1);
}
+12 -5
View File
@@ -587,7 +587,8 @@ Tcl_SplitPath(
* plus the argv pointers and the terminating NULL pointer.
*/
*argvPtr = (const char **)ckalloc((((*argcPtr) + 1) * sizeof(char *)) + size);
*argvPtr = (const char **)ckalloc(
((((*argcPtr) + 1) * sizeof(char *)) + size));
/*
* Position p after the last argv pointer and copy the contents of the
@@ -1237,7 +1238,7 @@ Tcl_GlobObjCmd(
"-directory", "-join", "-nocomplain", "-path", "-tails",
"-types", "--", NULL
};
enum options {
enum globOptionsEnum {
GLOB_DIR, GLOB_JOIN, GLOB_NOCOMPLAIN, GLOB_PATH, GLOB_TAILS,
GLOB_TYPE, GLOB_LAST
};
@@ -1270,7 +1271,7 @@ Tcl_GlobObjCmd(
}
}
switch (index) {
switch ((enum globOptionsEnum) index) {
case GLOB_NOCOMPLAIN: /* -nocomplain */
globFlags |= TCL_GLOBMODE_NO_COMPLAIN;
break;
@@ -1283,7 +1284,10 @@ Tcl_GlobObjCmd(
}
if (dir != PATH_NONE) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"\"-directory\" cannot be used with \"-path\"", -1));
dir == PATH_DIR
? "\"-directory\" may only be used once"
: "\"-directory\" cannot be used with \"-path\"",
-1));
Tcl_SetErrorCode(interp, "TCL", "OPERATION", "GLOB",
"BADOPTIONCOMBINATION", NULL);
return TCL_ERROR;
@@ -1308,7 +1312,10 @@ Tcl_GlobObjCmd(
}
if (dir != PATH_NONE) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"\"-path\" cannot be used with \"-directory\"", -1));
dir == PATH_GENERAL
? "\"-path\" may only be used once"
: "\"-path\" cannot be used with \"-dictionary\"",
-1));
Tcl_SetErrorCode(interp, "TCL", "OPERATION", "GLOB",
"BADOPTIONCOMBINATION", NULL);
return TCL_ERROR;
+7 -7
View File
@@ -1002,7 +1002,7 @@ TclClockOldscanObjCmd(
yyHaveRel = 0;
yyRelMonth = 0; yyRelDay = 0; yyRelSeconds = 0; yyRelPointer = NULL;
dateInfo.messages = Tcl_NewObj();
TclNewObj(dateInfo.messages);
dateInfo.separatrix = "";
Tcl_IncrRefCount(dateInfo.messages);
@@ -1059,8 +1059,8 @@ TclClockOldscanObjCmd(
return TCL_ERROR;
}
result = Tcl_NewObj();
resultElement = Tcl_NewObj();
TclNewObj(result);
TclNewObj(resultElement);
if (yyHaveDate) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyYear));
@@ -1078,7 +1078,7 @@ TclClockOldscanObjCmd(
Tcl_ListObjAppendElement(interp, result, Tcl_NewObj());
}
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveZone) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) -yyTimezone));
@@ -1087,7 +1087,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveRel) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyRelMonth));
@@ -1098,7 +1098,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TcNewObj(resultElement);
if (yyHaveDay && !yyHaveDate) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyDayOrdinal));
@@ -1107,7 +1107,7 @@ TclClockOldscanObjCmd(
}
Tcl_ListObjAppendElement(interp, result, resultElement);
resultElement = Tcl_NewObj();
TclNewObj(resultElement);
if (yyHaveOrdinalMonth) {
Tcl_ListObjAppendElement(interp, resultElement,
Tcl_NewIntObj((int) yyMonthOrdinal));
+2 -2
View File
@@ -287,9 +287,9 @@ static int WillRead(Channel *chanPtr);
#define IsBufferOverflowing(bufPtr) ((bufPtr)->nextAdded>(bufPtr)->bufLength)
#define InsertPoint(bufPtr) ((bufPtr)->buf + (bufPtr)->nextAdded)
#define InsertPoint(bufPtr) (&(bufPtr)->buf[(bufPtr)->nextAdded])
#define RemovePoint(bufPtr) ((bufPtr)->buf + (bufPtr)->nextRemoved)
#define RemovePoint(bufPtr) (&(bufPtr)->buf[(bufPtr)->nextRemoved])
/*
* For working with channel state flag bits.
+5 -5
View File
@@ -888,7 +888,7 @@ Tcl_ExecObjCmd(
static const char *const options[] = {
"-ignorestderr", "-keepnewline", "--", NULL
};
enum options {
enum execOptionsEnum {
EXEC_IGNORESTDERR, EXEC_KEEPNEWLINE, EXEC_LAST
};
@@ -1470,7 +1470,7 @@ Tcl_SocketObjCmd(
"-async", "-myaddr", "-myport", "-reuseaddr", "-reuseport", "-server",
NULL
};
enum socketOptions {
enum socketOptionsEnum {
SKT_ASYNC, SKT_MYADDR, SKT_MYPORT, SKT_REUSEADDR, SKT_REUSEPORT,
SKT_SERVER
};
@@ -1495,7 +1495,7 @@ Tcl_SocketObjCmd(
TCL_EXACT, &optionIndex) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum socketOptions) optionIndex) {
switch ((enum socketOptionsEnum) optionIndex) {
case SKT_ASYNC:
if (server == 1) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
@@ -1806,7 +1806,7 @@ ChanPendingObjCmd(
Tcl_Channel chan;
int index, mode;
static const char *const options[] = {"input", "output", NULL};
enum options {PENDING_INPUT, PENDING_OUTPUT};
enum pendingOptionsEnum {PENDING_INPUT, PENDING_OUTPUT};
if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "mode channelId");
@@ -1822,7 +1822,7 @@ ChanPendingObjCmd(
return TCL_ERROR;
}
switch ((enum options) index) {
switch ((enum pendingOptionsEnum) index) {
case PENDING_INPUT:
if (!(mode & TCL_READABLE)) {
Tcl_SetObjResult(interp, Tcl_NewWideIntObj(-1));
+12 -9
View File
@@ -1591,7 +1591,7 @@ ReflectSeekWide(
Tcl_Preserve(rcPtr);
offObj = Tcl_NewWideIntObj(offset);
TclNewIntObj(offObj, offset);
baseObj = Tcl_NewStringObj(
(seekMode == SEEK_SET) ? "start" :
(seekMode == SEEK_CUR) ? "current" : "end", -1);
@@ -3052,7 +3052,7 @@ ForwardProc(
TclNewIntObj(toReadObj, paramPtr->input.toRead);
Tcl_IncrRefCount(toReadObj);
Tcl_Preserve(rcPtr);
Tcl_Preserve(rcPtr);
if (InvokeTclMethod(rcPtr, METH_READ, toReadObj, NULL, &resObj)!=TCL_OK){
int code = ErrnoReturn(rcPtr, resObj);
@@ -3127,15 +3127,18 @@ ForwardProc(
}
case ForwardedSeek: {
Tcl_Obj *offObj = Tcl_NewWideIntObj(paramPtr->seek.offset);
Tcl_Obj *baseObj = Tcl_NewStringObj(
(paramPtr->seek.seekMode==SEEK_SET) ? "start" :
(paramPtr->seek.seekMode==SEEK_CUR) ? "current" : "end", -1);
Tcl_Obj *offObj;
Tcl_Obj *baseObj;
Tcl_IncrRefCount(offObj);
Tcl_IncrRefCount(baseObj);
TclNewIntObj(offObj, paramPtr->seek.offset);
baseObj = Tcl_NewStringObj(
(paramPtr->seek.seekMode==SEEK_SET) ? "start" :
(paramPtr->seek.seekMode==SEEK_CUR) ? "current" : "end", -1);
Tcl_Preserve(rcPtr);
Tcl_IncrRefCount(offObj);
Tcl_IncrRefCount(baseObj);
Tcl_Preserve(rcPtr);
if (InvokeTclMethod(rcPtr, METH_SEEK, offObj, baseObj, &resObj)!=TCL_OK){
ForwardSetObjError(paramPtr, resObj);
paramPtr->seek.offset = -1;
+19 -19
View File
@@ -1684,7 +1684,7 @@ Tcl_FSEvalFileEx(
* Tilde-substitution is performed on this
* pathname. */
const char *encodingName) /* Either the name of an encoding or NULL to
use the system encoding. */
use the utf-8 encoding. */
{
int length, result = TCL_ERROR;
Tcl_StatBuf statBuf;
@@ -1722,16 +1722,16 @@ Tcl_FSEvalFileEx(
/*
* If the encoding is specified, set the channel to that encoding.
* Otherwise don't touch it, leaving things up to the system encoding. If
* the encoding is unknown report an error.
* Otherwise use utf-8. If the encoding is unknown report an error.
*/
if (encodingName != NULL) {
if (Tcl_SetChannelOption(interp, chan, "-encoding", encodingName)
!= TCL_OK) {
Tcl_Close(interp,chan);
return result;
}
if (encodingName == NULL) {
encodingName = "utf-8";
}
if (Tcl_SetChannelOption(interp, chan, "-encoding", encodingName)
!= TCL_OK) {
Tcl_Close(interp,chan);
return result;
}
TclNewObj(objPtr);
@@ -1821,7 +1821,7 @@ TclNREvalFile(
* evaluate. Tilde-substitution is performed on
* this pathname. */
const char *encodingName) /* The name of an encoding to use, or NULL to
* use the system encoding. */
* use the utf-8 encoding. */
{
Tcl_StatBuf statBuf;
Tcl_Obj *oldScriptFile, *objPtr;
@@ -1858,16 +1858,16 @@ TclNREvalFile(
/*
* If the encoding is specified, set the channel to that encoding.
* Otherwise don't touch it, leaving things up to the system encoding. If
* the encoding is unknown report an error.
* Otherwise use utf-8. If the encoding is unknown report an error.
*/
if (encodingName != NULL) {
if (Tcl_SetChannelOption(interp, chan, "-encoding", encodingName)
!= TCL_OK) {
Tcl_Close(interp,chan);
return TCL_ERROR;
}
if (encodingName == NULL) {
encodingName = "utf-8";
}
if (Tcl_SetChannelOption(interp, chan, "-encoding", encodingName)
!= TCL_OK) {
Tcl_Close(interp, chan);
return TCL_ERROR;
}
TclNewObj(objPtr);
@@ -3173,7 +3173,7 @@ Tcl_LoadFile(
}
if (fsPtr->loadFileProc != NULL) {
int retVal = ((Tcl_FSLoadFileProc2 *)(void *)(fsPtr->loadFileProc))
retVal = ((Tcl_FSLoadFileProc2 *)(void *)(fsPtr->loadFileProc))
(interp, pathPtr, handlePtr, &unloadProcPtr, flags);
if (retVal == TCL_OK) {
+2 -2
View File
@@ -553,7 +553,7 @@ PrefixMatchObjCmd(
static const char *const matchOptions[] = {
"-error", "-exact", "-message", NULL
};
enum matchOptions {
enum matchOptionsEnum {
PRFMATCH_ERROR, PRFMATCH_EXACT, PRFMATCH_MESSAGE
};
@@ -567,7 +567,7 @@ PrefixMatchObjCmd(
&index) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum matchOptions) index) {
switch ((enum matchOptionsEnum) index) {
case PRFMATCH_EXACT:
flags |= TCL_EXACT;
break;
+5
View File
@@ -1413,4 +1413,9 @@ extern const TclIntStubs *tclIntStubsPtr;
# define Tcl_StaticPackage (tclIntStubsPtr->tclStaticPackage)
#endif
#undef TclGuessPackageName
#ifndef TCL_NO_DEPRECATED
# define TclGuessPackageName(fileName, pkgName) ((void)fileName,(void)pkgName,0)
#endif
#endif /* _TCLINTDECLS */
+25 -14
View File
@@ -619,32 +619,43 @@ NRInterpCmd(
Tcl_Interp *childInterp;
int index;
static const char *const options[] = {
"alias", "aliases", "bgerror", "cancel",
"children", "create", "debug", "delete",
"eval", "exists", "expose", "hide",
"hidden", "issafe", "invokehidden",
"limit", "marktrusted", "recursionlimit",
"share", "slaves", "target", "transfer",
NULL
};
static const char *const optionsNoSlaves[] = {
"alias", "aliases", "bgerror", "cancel",
"children", "create", "debug", "delete",
"eval", "exists", "expose",
"hide", "hidden", "issafe",
"invokehidden", "limit", "marktrusted", "recursionlimit",
"slaves", "share", "target", "transfer",
NULL
"share", "target", "transfer", NULL
};
enum option {
enum interpOptionEnum {
OPT_ALIAS, OPT_ALIASES, OPT_BGERROR, OPT_CANCEL,
OPT_CHILDREN, OPT_CREATE, OPT_DEBUG, OPT_DELETE,
OPT_EVAL, OPT_EXISTS, OPT_EXPOSE,
OPT_HIDE, OPT_HIDDEN, OPT_ISSAFE,
OPT_INVOKEHID, OPT_LIMIT, OPT_MARKTRUSTED,OPT_RECLIMIT,
OPT_SLAVES, OPT_SHARE, OPT_TARGET, OPT_TRANSFER
OPT_EVAL, OPT_EXISTS, OPT_EXPOSE, OPT_HIDE,
OPT_HIDDEN, OPT_ISSAFE, OPT_INVOKEHID,
OPT_LIMIT, OPT_MARKTRUSTED,OPT_RECLIMIT,
OPT_SHARE, OPT_SLAVES, OPT_TARGET, OPT_TRANSFER
};
if (objc < 2) {
Tcl_WrongNumArgs(interp, 1, objv, "cmd ?arg ...?");
return TCL_ERROR;
}
if (Tcl_GetIndexFromObj(interp, objv[1], options, "option", 0,
&index) != TCL_OK) {
if (Tcl_GetIndexFromObj(NULL, objv[1], options,
"option", 0, &index) != TCL_OK) {
/* Don't report the "slaves" option as possibility */
Tcl_GetIndexFromObj(interp, objv[1], optionsNoSlaves,
"option", 0, &index);
return TCL_ERROR;
}
switch ((enum option) index) {
switch ((enum interpOptionEnum)index) {
case OPT_ALIAS: {
Tcl_Interp *parentInterp;
@@ -697,7 +708,7 @@ NRInterpCmd(
static const char *const cancelOptions[] = {
"-unwind", "--", NULL
};
enum option {
enum optionCancelEnum {
OPT_UNWIND, OPT_LAST
};
@@ -712,7 +723,7 @@ NRInterpCmd(
return TCL_ERROR;
}
switch ((enum option) index) {
switch ((enum optionCancelEnum) index) {
case OPT_UNWIND:
/*
* The evaluation stack in the target interp is to be unwound.
@@ -2551,7 +2562,7 @@ NRChildCmd(
"issafe", "invokehidden", "limit", "marktrusted",
"recursionlimit", NULL
};
enum options {
enum childCmdOptionsEnum {
OPT_ALIAS, OPT_ALIASES, OPT_BGERROR, OPT_DEBUG,
OPT_EVAL, OPT_EXPOSE, OPT_HIDE, OPT_HIDDEN,
OPT_ISSAFE, OPT_INVOKEHIDDEN, OPT_LIMIT, OPT_MARKTRUSTED,
@@ -2571,7 +2582,7 @@ NRChildCmd(
return TCL_ERROR;
}
switch ((enum options) index) {
switch ((enum childCmdOptionsEnum) index) {
case OPT_ALIAS:
if (objc > 2) {
if (objc == 3) {
+5 -5
View File
@@ -1309,7 +1309,7 @@ ObjValue(
memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
objv = (Tcl_Obj **)ckalloc(linkPtr->numElems * sizeof(Tcl_Obj *));
for (i=0; i < linkPtr->numElems; i++) {
objv[i] = Tcl_NewWideIntObj(linkPtr->lastValue.wPtr[i]);
TclNewIntObj(objv[i], linkPtr->lastValue.wPtr[i]);
}
resultObj = Tcl_NewListObj(linkPtr->numElems, objv);
ckfree(objv);
@@ -1400,7 +1400,7 @@ ObjValue(
memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
objv = (Tcl_Obj **)ckalloc(linkPtr->numElems * sizeof(Tcl_Obj *));
for (i=0; i < linkPtr->numElems; i++) {
objv[i] = Tcl_NewWideIntObj(linkPtr->lastValue.uiPtr[i]);
TclNewIntObj(objv[i], linkPtr->lastValue.uiPtr[i]);
}
resultObj = Tcl_NewListObj(linkPtr->numElems, objv);
ckfree(objv);
@@ -1414,7 +1414,7 @@ ObjValue(
memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
objv = (Tcl_Obj **)ckalloc(linkPtr->numElems * sizeof(Tcl_Obj *));
for (i=0; i < linkPtr->numElems; i++) {
objv[i] = Tcl_NewWideIntObj(linkPtr->lastValue.lPtr[i]);
TclNewIntObj(objv[i], linkPtr->lastValue.lPtr[i]);
}
resultObj = Tcl_NewListObj(linkPtr->numElems, objv);
ckfree(objv);
@@ -1427,7 +1427,7 @@ ObjValue(
memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
objv = (Tcl_Obj **)ckalloc(linkPtr->numElems * sizeof(Tcl_Obj *));
for (i=0; i < linkPtr->numElems; i++) {
objv[i] = Tcl_NewWideIntObj(linkPtr->lastValue.ulPtr[i]);
TclNewIntObj(objv[i], linkPtr->lastValue.ulPtr[i]);
}
resultObj = Tcl_NewListObj(linkPtr->numElems, objv);
ckfree(objv);
@@ -1454,7 +1454,7 @@ ObjValue(
memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
objv = (Tcl_Obj **)ckalloc(linkPtr->numElems * sizeof(Tcl_Obj *));
for (i=0; i < linkPtr->numElems; i++) {
objv[i] = Tcl_NewWideIntObj((Tcl_WideInt)
TclNewIntObj(objv[i], (Tcl_WideInt)
linkPtr->lastValue.uwPtr[i]);
}
resultObj = Tcl_NewListObj(linkPtr->numElems, objv);
+48 -65
View File
@@ -137,7 +137,7 @@ Tcl_LoadObjCmd(
static const char *const options[] = {
"-global", "-lazy", "--", NULL
};
enum options {
enum loadOptionsEnum {
LOAD_GLOBAL, LOAD_LAZY, LOAD_LAST
};
@@ -150,9 +150,9 @@ Tcl_LoadObjCmd(
return TCL_ERROR;
}
++objv; --objc;
if (LOAD_GLOBAL == (enum options) index) {
if (LOAD_GLOBAL == (enum loadOptionsEnum) index) {
flags |= TCL_LOAD_GLOBAL;
} else if (LOAD_LAZY == (enum options) index) {
} else if (LOAD_LAZY == (enum loadOptionsEnum) index) {
flags |= TCL_LOAD_LAZY;
} else {
break;
@@ -302,60 +302,55 @@ Tcl_LoadObjCmd(
if (packageName != NULL) {
Tcl_DStringAppend(&pkgName, packageName, -1);
} else {
int retc;
Tcl_Obj *splitPtr, *pkgGuessPtr;
int pElements;
const char *pkgGuess;
/*
* Threading note - this call used to be protected by a mutex.
*/
retc = TclGuessPackageName(fullFileName, &pkgName);
if (!retc) {
Tcl_Obj *splitPtr, *pkgGuessPtr;
int pElements;
const char *pkgGuess;
/*
* The platform-specific code couldn't figure out the module
* name. Make a guess by taking the last element of the file
* name, stripping off any leading "lib", and then using all
* of the alphabetic and underline characters that follow
* that.
*/
/*
* The platform-specific code couldn't figure out the module
* name. Make a guess by taking the last element of the file
* name, stripping off any leading "lib", and then using all
* of the alphabetic and underline characters that follow
* that.
*/
splitPtr = Tcl_FSSplitPath(objv[1], &pElements);
Tcl_ListObjIndex(NULL, splitPtr, pElements -1, &pkgGuessPtr);
pkgGuess = Tcl_GetString(pkgGuessPtr);
if ((pkgGuess[0] == 'l') && (pkgGuess[1] == 'i')
&& (pkgGuess[2] == 'b')) {
pkgGuess += 3;
}
#ifdef __CYGWIN__
if ((pkgGuess[0] == 'c') && (pkgGuess[1] == 'y')
&& (pkgGuess[2] == 'g')) {
pkgGuess += 3;
}
#endif /* __CYGWIN__ */
for (p = pkgGuess; *p != 0; p += offset) {
offset = TclUtfToUniChar(p, &ch);
if ((ch > 0x100)
|| !(isalpha(UCHAR(ch)) /* INTL: ISO only */
|| (UCHAR(ch) == '_'))) {
break;
}
}
if (p == pkgGuess) {
Tcl_DecrRefCount(splitPtr);
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"couldn't figure out package name for %s",
fullFileName));
Tcl_SetErrorCode(interp, "TCL", "OPERATION", "LOAD",
"WHATPACKAGE", NULL);
code = TCL_ERROR;
goto done;
}
Tcl_DStringAppend(&pkgName, pkgGuess, p - pkgGuess);
Tcl_DecrRefCount(splitPtr);
splitPtr = Tcl_FSSplitPath(objv[1], &pElements);
Tcl_ListObjIndex(NULL, splitPtr, pElements -1, &pkgGuessPtr);
pkgGuess = Tcl_GetString(pkgGuessPtr);
if ((pkgGuess[0] == 'l') && (pkgGuess[1] == 'i')
&& (pkgGuess[2] == 'b')) {
pkgGuess += 3;
}
#ifdef __CYGWIN__
else if ((pkgGuess[0] == 'c') && (pkgGuess[1] == 'y')
&& (pkgGuess[2] == 'g')) {
pkgGuess += 3;
}
#endif /* __CYGWIN__ */
for (p = pkgGuess; *p != 0; p += offset) {
offset = TclUtfToUniChar(p, &ch);
if ((ch > 0x100)
|| !(isalpha(UCHAR(ch)) /* INTL: ISO only */
|| (UCHAR(ch) == '_'))) {
break;
}
}
if (p == pkgGuess) {
Tcl_DecrRefCount(splitPtr);
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"couldn't figure out package name for %s",
fullFileName));
Tcl_SetErrorCode(interp, "TCL", "OPERATION", "LOAD",
"WHATPACKAGE", NULL);
code = TCL_ERROR;
goto done;
}
Tcl_DStringAppend(&pkgName, pkgGuess, p - pkgGuess);
Tcl_DecrRefCount(splitPtr);
}
/*
@@ -559,7 +554,7 @@ Tcl_UnloadObjCmd(
static const char *const options[] = {
"-nocomplain", "-keeplibrary", "--", NULL
};
enum options {
enum unloadOptionsEnum {
UNLOAD_NOCOMPLAIN, UNLOAD_KEEPLIB, UNLOAD_LAST
};
@@ -584,7 +579,7 @@ Tcl_UnloadObjCmd(
break;
}
}
switch (index) {
switch ((enum unloadOptionsEnum)index) {
case UNLOAD_NOCOMPLAIN: /* -nocomplain */
complain = 0;
break;
@@ -1025,7 +1020,7 @@ Tcl_StaticPackage(
/*
*----------------------------------------------------------------------
*
* TclGetLoadedPackages, TclGetLoadedPackagesEx --
* TclGetLoadedPackagesEx --
*
* This function returns information about all of the files that are
* loaded (either in a particular interpreter, or for all interpreters).
@@ -1043,18 +1038,6 @@ Tcl_StaticPackage(
*----------------------------------------------------------------------
*/
int
TclGetLoadedPackages(
Tcl_Interp *interp, /* Interpreter in which to return information
* or error message. */
const char *targetName) /* Name of target interpreter or NULL. If
* NULL, return info about all interps;
* otherwise, just return info about this
* interpreter. */
{
return TclGetLoadedPackagesEx(interp, targetName, NULL);
}
int
TclGetLoadedPackagesEx(
Tcl_Interp *interp, /* Interpreter in which to return information
-30
View File
@@ -53,36 +53,6 @@ TclpDlopen(
return TCL_ERROR;
}
/*
*----------------------------------------------------------------------
*
* TclGuessPackageName --
*
* If the "load" command is invoked without providing a package name,
* this procedure is invoked to try to figure it out.
*
* Results:
* Always returns 0 to indicate that we couldn't figure out a package
* name; generic code will then try to guess the package from the file
* name. A return value of 1 would have meant that we figured out the
* package name and put it in bufPtr.
*
* Side effects:
* None.
*
*----------------------------------------------------------------------
*/
int
TclGuessPackageName(
const char *fileName, /* Name of file containing package (already
* translated to local form if needed). */
Tcl_DString *bufPtr) /* Initialized empty dstring. Append package
* name to this if possible. */
{
return 0;
}
/*
* These functions are fallbacks if we somehow determine that the platform can
* do loading from memory but the user wishes to disable it. They just report
+2 -2
View File
@@ -43,7 +43,7 @@
# define _tcscmp strcmp
#endif
static inline Tcl_Obj *
static Tcl_Obj *
NewNativeObj(
TCHAR *string)
{
@@ -53,7 +53,7 @@ NewNativeObj(
Tcl_DStringInit(&ds);
Tcl_WCharToUtfDString(string, -1, &ds);
#else
Tcl_ExternalToUtfDString(NULL, (char *) string, -1, &ds);
Tcl_ExternalToUtfDString(NULL, (char *)string, -1, &ds);
#endif
return TclDStringToObj(&ds);
}
+1 -1
View File
@@ -161,7 +161,7 @@ typedef struct PendingObjData {
static PendingObjData pendingObjData;
#define ObjInitDeletionContext(contextPtr) \
PendingObjData *const contextPtr = &pendingObjData
#elif HAVE_FAST_TSD
#elif defined(HAVE_FAST_TSD)
static __thread PendingObjData pendingObjData;
#define ObjInitDeletionContext(contextPtr) \
PendingObjData *const contextPtr = &pendingObjData
+2 -2
View File
@@ -119,7 +119,7 @@ const char tclCharTypeTable[] = {
* Prototypes for local functions defined in this file:
*/
static inline int CommandComplete(const char *script, int numBytes);
static int CommandComplete(const char *script, int numBytes);
static int ParseComment(const char *src, int numBytes,
Tcl_Parse *parsePtr);
static int ParseTokens(const char *src, int numBytes, int mask,
@@ -2396,7 +2396,7 @@ TclSubstTokens(
*----------------------------------------------------------------------
*/
static inline int
static int
CommandComplete(
const char *script, /* Script to check. */
int numBytes) /* Number of bytes in script. */
+3 -3
View File
@@ -1073,7 +1073,7 @@ TclNRPackageObjCmd(
"present", "provide", "require", "unknown", "vcompare",
"versions", "vsatisfies", NULL
};
enum pkgOptions {
enum pkgOptionsEnum {
PKG_FILES, PKG_FORGET, PKG_IFNEEDED, PKG_NAMES, PKG_PREFER,
PKG_PRESENT, PKG_PROVIDE, PKG_REQUIRE, PKG_UNKNOWN, PKG_VCOMPARE,
PKG_VERSIONS, PKG_VSATISFIES
@@ -1099,7 +1099,7 @@ TclNRPackageObjCmd(
&optionIndex) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum pkgOptions) optionIndex) {
switch ((enum pkgOptionsEnum) optionIndex) {
case PKG_FILES: {
PkgFiles *pkgFiles;
@@ -1368,9 +1368,9 @@ TclNRPackageObjCmd(
newObjvPtr, NULL);
return TCL_OK;
} else {
int i, newobjc = objc-3;
Tcl_Obj *const *newobjv = objv + 3;
newobjc = objc - 3;
if (CheckAllRequirements(interp, objc-3, objv+3) != TCL_OK) {
return TCL_ERROR;
}
+4
View File
@@ -35,6 +35,10 @@
#include "tclInt.h"
#ifndef TCL_CFGVAL_ENCODING
# define TCL_CFGVAL_ENCODING "utf-8"
#endif
/*
* Use C preprocessor statements to define the various values for the embedded
* configuration information.
+2 -2
View File
@@ -472,7 +472,7 @@ ProcessStatusObjCmd(
static const char *const switches[] = {
"-wait", "--", NULL
};
enum switches {
enum switchesEnum {
STATUS_WAIT, STATUS_LAST
};
@@ -485,7 +485,7 @@ ProcessStatusObjCmd(
return TCL_ERROR;
}
++objv; --objc;
if (STATUS_WAIT == (enum switches) index) {
if (STATUS_WAIT == (enum switchesEnum) index) {
options = 0;
} else {
break;
+4 -4
View File
@@ -841,19 +841,19 @@ SetupAppendBuffer(
totalSpace = newSpace + iPtr->appendUsed;
if (totalSpace >= iPtr->appendAvl) {
char *newSpace;
char *newSpacePtr;
if (totalSpace < 100) {
totalSpace = 200;
} else {
totalSpace *= 2;
}
newSpace = (char *)ckalloc(totalSpace);
strcpy(newSpace, iPtr->result);
newSpacePtr = (char *)ckalloc(totalSpace);
strcpy(newSpacePtr, iPtr->result);
if (iPtr->appendResult != NULL) {
ckfree(iPtr->appendResult);
}
iPtr->appendResult = newSpace;
iPtr->appendResult = newSpacePtr;
iPtr->appendAvl = totalSpace;
} else if (iPtr->result != iPtr->appendResult) {
strcpy(iPtr->appendResult, iPtr->result);
+9 -9
View File
@@ -716,7 +716,7 @@ Tcl_ScanObjCmd(
switch (ch) {
case 'n':
if (!(flags & SCAN_SUPPRESS)) {
objPtr = Tcl_NewWideIntObj(string - baseString);
TclNewIntObj(objPtr, string - baseString);
Tcl_IncrRefCount(objPtr);
CLANG_ASSERT(objs);
objs[objIndex++] = objPtr;
@@ -879,7 +879,7 @@ Tcl_ScanObjCmd(
offset = TclUtfToUCS4(string, &i);
string += offset;
if (!(flags & SCAN_SUPPRESS)) {
objPtr = Tcl_NewWideIntObj(i);
TclNewIntObj(objPtr, i);
Tcl_IncrRefCount(objPtr);
CLANG_ASSERT(objs);
objs[objIndex++] = objPtr;
@@ -890,7 +890,7 @@ Tcl_ScanObjCmd(
/*
* Scan an unsigned or signed integer.
*/
objPtr = Tcl_NewWideIntObj(0);
TclNewIntObj(objPtr, 0);
Tcl_IncrRefCount(objPtr);
if (width == 0) {
width = ~0;
@@ -937,16 +937,16 @@ Tcl_ScanObjCmd(
} else if (flags & SCAN_BIG) {
if (flags & SCAN_UNSIGNED) {
mp_int big;
int code = Tcl_GetBignumFromObj(interp, objPtr, &big);
int res = Tcl_GetBignumFromObj(interp, objPtr, &big);
if (code == TCL_OK) {
if (res == TCL_OK) {
if (mp_isneg(&big)) {
code = TCL_ERROR;
res = TCL_ERROR;
}
mp_clear(&big);
}
if (code == TCL_ERROR) {
if (res == TCL_ERROR) {
if (objs != NULL) {
ckfree(objs);
}
@@ -1089,7 +1089,7 @@ Tcl_ScanObjCmd(
if (code == TCL_OK) {
if (underflow && (nconversions == 0)) {
if (numVars) {
TclNewIntObj(objPtr, -1);
TclNewIntObj(objPtr, TCL_INDEX_NONE);
} else {
if (objPtr) {
Tcl_SetListObj(objPtr, 0, NULL);
@@ -1098,7 +1098,7 @@ Tcl_ScanObjCmd(
}
}
} else if (numVars) {
objPtr = Tcl_NewWideIntObj(result);
TclNewIntObj(objPtr, result);
}
Tcl_SetObjResult(interp, objPtr);
}
+30 -27
View File
@@ -2178,15 +2178,15 @@ Tcl_AppendFormatToObj(
const char *bytes;
if (useShort) {
pure = Tcl_NewWideIntObj(s);
TclNewIntObj(pure, s);
#ifndef TCL_WIDE_INT_IS_LONG
} else if (useWide) {
pure = Tcl_NewWideIntObj(w);
TclNewIntObj(pure, w);
#endif
} else if (useBig) {
pure = Tcl_NewBignumObj(&big);
} else {
pure = Tcl_NewWideIntObj(l);
TclNewIntObj(pure, l);
}
Tcl_IncrRefCount(pure);
bytes = TclGetStringFromObj(pure, &length);
@@ -2443,10 +2443,10 @@ Tcl_AppendFormatToObj(
goto errorMsg;
}
if (ch == 'A') {
char *p = TclGetString(segment) + 1;
*p = 'x';
p = strchr(p, 'P');
if (p) *p = 'p';
char *q = TclGetString(segment) + 1;
*q = 'x';
q = strchr(q, 'P');
if (q) *q = 'p';
}
break;
}
@@ -2543,8 +2543,9 @@ Tcl_Format(
Tcl_Obj *const objv[])
{
int result;
Tcl_Obj *objPtr = Tcl_NewObj();
Tcl_Obj *objPtr;
TclNewObj(objPtr);
result = Tcl_AppendFormatToObj(interp, objPtr, format, objc, objv);
if (result != TCL_OK) {
Tcl_DecrRefCount(objPtr);
@@ -2572,9 +2573,10 @@ AppendPrintfToObjVA(
va_list argList)
{
int code, objc;
Tcl_Obj **objv, *list = Tcl_NewObj();
Tcl_Obj **objv, *list;
const char *p;
TclNewObj(list);
p = format;
Tcl_IncrRefCount(list);
while (*p != '\0') {
@@ -2788,8 +2790,9 @@ Tcl_ObjPrintf(
...)
{
va_list argList;
Tcl_Obj *objPtr = Tcl_NewObj();
Tcl_Obj *objPtr;
TclNewObj(objPtr);
va_start(argList, format);
AppendPrintfToObjVA(objPtr, format, argList);
va_end(argList);
@@ -3410,7 +3413,7 @@ TclStringCmp(
if (nocase) {
s1 = (char *) Tcl_GetUnicodeFromObj(value1Ptr, &s1len);
s2 = (char *) Tcl_GetUnicodeFromObj(value2Ptr, &s2len);
memCmpFn = (memCmpFn_t)Tcl_UniCharNcasecmp;
memCmpFn = (memCmpFn_t)(void *)Tcl_UniCharNcasecmp;
} else {
s1len = Tcl_GetCharLength(value1Ptr);
s2len = Tcl_GetCharLength(value2Ptr);
@@ -3435,7 +3438,7 @@ TclStringCmp(
s1len *= sizeof(Tcl_UniChar);
s2len *= sizeof(Tcl_UniChar);
} else {
memCmpFn = (memCmpFn_t) Tcl_UniCharNcmp;
memCmpFn = (memCmpFn_t)(void *)Tcl_UniCharNcmp;
}
}
}
@@ -3493,11 +3496,11 @@ TclStringCmp(
*/
if ((reqlength < 0) && !nocase) {
memCmpFn = (memCmpFn_t) TclpUtfNcmp2;
memCmpFn = (memCmpFn_t)(void *)TclpUtfNcmp2;
} else {
s1len = Tcl_NumUtfChars(s1, s1len);
s2len = Tcl_NumUtfChars(s2, s2len);
memCmpFn = (memCmpFn_t)
memCmpFn = (memCmpFn_t)(void *)
(nocase ? Tcl_UtfNcasecmp : Tcl_UtfNcmp);
}
}
@@ -3561,7 +3564,7 @@ TclStringFirst(
int lh, ln = Tcl_GetCharLength(needle);
Tcl_Obj *result;
int value = -1;
Tcl_UniChar *check, *end, *uh, *un;
Tcl_UniChar *checkStr, *endStr, *uh, *un;
if (start < 0) {
start = 0;
@@ -3627,12 +3630,12 @@ TclStringFirst(
/* Don't start the loop if there cannot be a valid answer */
goto firstEnd;
}
end = uh + lh;
endStr = uh + lh;
for (check = uh + start; check + ln <= end; check++) {
if ((*check == *un) && (0 ==
memcmp(check + 1, un + 1, (ln-1) * sizeof(Tcl_UniChar)))) {
value = (check - uh);
for (checkStr = uh + start; checkStr + ln <= endStr; checkStr++) {
if ((*checkStr == *un) && (0 ==
memcmp(checkStr + 1, un + 1, (ln-1) * sizeof(Tcl_UniChar)))) {
value = (checkStr - uh);
goto firstEnd;
}
}
@@ -3668,7 +3671,7 @@ TclStringLast(
int lh, ln = Tcl_GetCharLength(needle);
Tcl_Obj *result;
int value = -1;
Tcl_UniChar *check, *uh, *un;
Tcl_UniChar *checkStr, *uh, *un;
if (ln == 0) {
/*
@@ -3714,14 +3717,14 @@ TclStringLast(
/* Don't start the loop if there cannot be a valid answer */
goto lastEnd;
}
check = uh + last + 1 - ln;
while (check >= uh) {
if ((*check == un[0])
&& (0 == memcmp(check+1, un+1, (ln-1)*sizeof(Tcl_UniChar)))) {
value = (check - uh);
checkStr = uh + last + 1 - ln;
while (checkStr >= uh) {
if ((*checkStr == un[0])
&& (0 == memcmp(checkStr+1, un+1, (ln-1)*sizeof(Tcl_UniChar)))) {
value = (checkStr - uh);
goto lastEnd;
}
check--;
checkStr--;
}
lastEnd:
TclNewIntObj(result, value);
+22
View File
@@ -67,6 +67,8 @@
#undef TclWinNToHS
#undef TclStaticPackage
#undef Tcl_BackgroundError
#undef TclGuessPackageName
#undef TclGetLoadedPackages
#define TclStaticPackage Tcl_StaticPackage
#undef Tcl_UniCharToUtfDString
#undef Tcl_UtfToUniCharDString
@@ -261,8 +263,28 @@ mp_err TclBN_mp_mul_d(const mp_int *a, unsigned int b, mp_int *c) {
# define Tcl_ChannelCloseProc 0
# define Tcl_Close 0
# define Tcl_MacOSXOpenBundleResources 0
# define TclGuessPackageName 0
# define TclGetLoadedPackages 0
#else
#define TclGuessPackageName guessPackageName
static int TclGuessPackageName(
TCL_UNUSED(const char *),
TCL_UNUSED(Tcl_DString *)) {
return 0;
}
#define TclGetLoadedPackages getLoadedPackages
static int TclGetLoadedPackages(
Tcl_Interp *interp, /* Interpreter in which to return information
* or error message. */
const char *targetName) /* Name of target interpreter or NULL. If
* NULL, return info about all interps;
* otherwise, just return info about this
* interpreter. */
{
return TclGetLoadedPackagesEx(interp, targetName, NULL);
}
mp_err TclBN_mp_div_3(const mp_int *a, mp_int *c, unsigned int *d) {
mp_digit d2;
mp_err result = mp_div_d(a, 3, c, &d2);
+4 -10
View File
@@ -3206,7 +3206,7 @@ TestlinkarrayCmd(
static const char *LinkOption[] = {
"update", "remove", "create", NULL
};
enum LinkOption { LINK_UPDATE, LINK_REMOVE, LINK_CREATE };
enum LinkOptionEnum { LINK_UPDATE, LINK_REMOVE, LINK_CREATE };
static const char *LinkType[] = {
"char", "uchar", "short", "ushort", "int", "uint", "long", "ulong",
"wide", "uwide", "float", "double", "string", "char*", "binary", NULL
@@ -3231,7 +3231,7 @@ TestlinkarrayCmd(
&optionIndex) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum LinkOption) optionIndex) {
switch ((enum LinkOptionEnum) optionIndex) {
case LINK_UPDATE:
for (i=2; i<objc; i++) {
Tcl_UpdateLinkedVar(interp, Tcl_GetString(objv[i]));
@@ -3797,7 +3797,7 @@ TestregexpObjCmd(
"-xflags",
"--", NULL
};
enum options {
enum optionsEnum {
REGEXP_INDICES, REGEXP_NOCASE, REGEXP_ABOUT, REGEXP_EXPANDED,
REGEXP_MULTI, REGEXP_NOCROSS, REGEXP_NEWL,
REGEXP_XFLAGS,
@@ -3822,7 +3822,7 @@ TestregexpObjCmd(
&index) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum options) index) {
switch ((enum optionsEnum) index) {
case REGEXP_INDICES:
indices = 1;
break;
@@ -7488,8 +7488,6 @@ TestconcatobjCmd(
"\n\t* (e) concatObj does not have refCount 0", NULL);
}
if (concatPtr == tmpPtr) {
int len;
result = TCL_ERROR;
Tcl_AppendResult(interp, "\n\t* (e) concatObj is not a new obj ",
NULL);
@@ -7520,8 +7518,6 @@ TestconcatobjCmd(
"\n\t* (f) concatObj does not have refCount 0", NULL);
}
if (concatPtr == tmpPtr) {
int len;
result = TCL_ERROR;
Tcl_AppendResult(interp, "\n\t* (f) concatObj is not a new obj ",
NULL);
@@ -7553,8 +7549,6 @@ TestconcatobjCmd(
"\n\t* (g) concatObj does not have refCount 0", NULL);
}
if (concatPtr == tmpPtr) {
int len;
result = TCL_ERROR;
Tcl_AppendResult(interp, "\n\t* (g) concatObj is not a new obj ",
NULL);
+1 -1
View File
@@ -792,7 +792,7 @@ Tcl_AfterObjCmd(
static const char *const afterSubCmds[] = {
"cancel", "idle", "info", NULL
};
enum afterSubCmds {AFTER_CANCEL, AFTER_IDLE, AFTER_INFO};
enum afterSubCmdsEnum {AFTER_CANCEL, AFTER_IDLE, AFTER_INFO};
ThreadSpecificData *tsdPtr = InitTimer();
if (objc < 2) {
+3 -4
View File
@@ -202,7 +202,7 @@ Tcl_TraceObjCmd(
NULL
};
/* 'OLD' options are pre-Tcl-8.4 style */
enum traceOptions {
enum traceOptionsEnum {
TRACE_ADD, TRACE_INFO, TRACE_REMOVE,
#ifndef TCL_REMOVE_OBSOLETE_TRACES
TRACE_OLD_VARIABLE, TRACE_OLD_VDELETE, TRACE_OLD_VINFO
@@ -218,7 +218,7 @@ Tcl_TraceObjCmd(
&optionIndex) != TCL_OK) {
return TCL_ERROR;
}
switch ((enum traceOptions) optionIndex) {
switch ((enum traceOptionsEnum) optionIndex) {
case TRACE_ADD:
case TRACE_REMOVE: {
/*
@@ -1177,7 +1177,7 @@ Tcl_UntraceCommand(
CommandTrace *tracePtr;
CommandTrace *prevPtr;
Command *cmdPtr;
Interp *iPtr = (Interp *) interp;
Interp *iPtr = (Interp *)interp;
ActiveCommandTrace *activePtr;
int hasExecTraces = 0;
@@ -1252,7 +1252,6 @@ Tcl_UntraceCommand(
*/
if (cmdPtr->compileProc != NULL) {
Interp *iPtr = (Interp *) interp;
iPtr->compileEpoch++;
}
}
+2 -2
View File
@@ -3757,7 +3757,7 @@ GetEndOffsetFromObj(
if (*bytes != 'e') {
int numType;
const char *opPtr;
int length, t1 = 0, t2 = 0;
int t1 = 0, t2 = 0;
/* Value doesn't start with "e" */
@@ -3774,7 +3774,7 @@ GetEndOffsetFromObj(
* Quick scan to see if multi-value list is even possible.
* This relies on TclGetString() returning a NUL-terminated string.
*/
if ((TclMaxListLength(TclGetString(objPtr), -1, NULL) > 1)
if ((TclMaxListLength(bytes, -1, NULL) > 1)
/* If it's possible, do the full list parse. */
&& (TCL_OK == Tcl_ListObjLength(NULL, objPtr, &length))
+35 -35
View File
@@ -119,17 +119,17 @@ VarHashNextVar(
* access is denied.
*/
static const char *noSuchVar = "no such variable";
static const char *isArray = "variable is array";
static const char *needArray = "variable isn't array";
static const char *noSuchElement = "no such element in array";
static const char *danglingElement =
static const char NOSUCHVAR[] = "no such variable";
static const char ISARRAY[] = "variable is array";
static const char NEEDARRAY[] = "variable isn't array";
static const char NOSUCHELEMENT[] = "no such element in array";
static const char DANGLINGELEMENT[] =
"upvar refers to element in deleted array";
static const char *danglingVar =
static const char DANGLINGVAR[] =
"upvar refers to variable in deleted namespace";
static const char *badNamespace = "parent namespace doesn't exist";
static const char *missingName = "missing variable name";
static const char *isArrayElement =
static const char BADNAMESPACE[] = "parent namespace doesn't exist";
static const char MISSINGNAME[] = "missing variable name";
static const char ISARRAYELEMENT[] =
"name refers to an element in an array";
/*
@@ -649,7 +649,7 @@ TclObjLookupVarEx(
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, msg,
noSuchVar, -1);
NOSUCHVAR, -1);
Tcl_SetErrorCode(interp, "TCL", "VALUE", "VARNAME", NULL);
}
return NULL;
@@ -674,7 +674,7 @@ TclObjLookupVarEx(
if (part2Ptr != NULL) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, msg,
needArray, -1);
NEEDARRAY, -1);
Tcl_SetErrorCode(interp, "TCL", "VALUE", "VARNAME",
NULL);
}
@@ -939,7 +939,7 @@ TclLookupSimpleVar(
Tcl_Obj *tailPtr;
if (!create) { /* Var wasn't found and not to create it. */
*errMsgPtr = noSuchVar;
*errMsgPtr = NOSUCHVAR;
return NULL;
}
@@ -950,10 +950,10 @@ TclLookupSimpleVar(
TclGetNamespaceForQualName(interp, varName, cxtNsPtr, flags,
&varNsPtr, &dummy1Ptr, &dummy2Ptr, &tail);
if (varNsPtr == NULL) {
*errMsgPtr = badNamespace;
*errMsgPtr = BADNAMESPACE;
return NULL;
} else if (tail == NULL) {
*errMsgPtr = missingName;
*errMsgPtr = MISSINGNAME;
return NULL;
}
if (tail != varName) {
@@ -1010,7 +1010,7 @@ TclLookupSimpleVar(
varPtr = VarHashFindVar(tablePtr, varNamePtr);
}
if (varPtr == NULL) {
*errMsgPtr = noSuchVar;
*errMsgPtr = NOSUCHVAR;
}
}
}
@@ -1088,7 +1088,7 @@ TclLookupArrayElement(
if (!createArray) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, arrayNamePtr, elNamePtr, msg,
noSuchVar, index);
NOSUCHVAR, index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME",
arrayNamePtr?TclGetString(arrayNamePtr):NULL, NULL);
}
@@ -1103,7 +1103,7 @@ TclLookupArrayElement(
if (TclIsVarDeadHash(arrayPtr)) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, arrayNamePtr, elNamePtr, msg,
danglingVar, index);
DANGLINGVAR, index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME",
arrayNamePtr?TclGetString(arrayNamePtr):NULL, NULL);
}
@@ -1113,7 +1113,7 @@ TclLookupArrayElement(
TclInitArrayVar(arrayPtr);
} else if (!TclIsVarArray(arrayPtr)) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, arrayNamePtr, elNamePtr, msg, needArray,
TclObjVarErrMsg(interp, arrayNamePtr, elNamePtr, msg, NEEDARRAY,
index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME",
arrayNamePtr?TclGetString(arrayNamePtr):NULL, NULL);
@@ -1135,7 +1135,7 @@ TclLookupArrayElement(
if (varPtr == NULL) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, arrayNamePtr, elNamePtr, msg,
noSuchElement, index);
NOSUCHELEMENT, index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "ELEMENT",
TclGetString(elNamePtr), NULL);
}
@@ -1485,11 +1485,11 @@ TclPtrGetVarIdx(
if (flags & TCL_LEAVE_ERR_MSG) {
if (TclIsVarUndefined(varPtr) && arrayPtr
&& !TclIsVarUndefined(arrayPtr)) {
msg = noSuchElement;
msg = NOSUCHELEMENT;
} else if (TclIsVarArray(varPtr)) {
msg = isArray;
msg = ISARRAY;
} else {
msg = noSuchVar;
msg = NOSUCHVAR;
}
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "read", msg, index);
}
@@ -2024,11 +2024,11 @@ TclPtrSetVarIdx(
if (flags & TCL_LEAVE_ERR_MSG) {
if (TclIsVarArrayElement(varPtr)) {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "set",
danglingElement, index);
DANGLINGELEMENT, index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "ELEMENT", NULL);
} else {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "set",
danglingVar, index);
DANGLINGVAR, index);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME", NULL);
}
}
@@ -2041,7 +2041,7 @@ TclPtrSetVarIdx(
if (TclIsVarArray(varPtr)) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "set", isArray,index);
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "set", ISARRAY,index);
Tcl_SetErrorCode(interp, "TCL", "WRITE", "ARRAY", NULL);
}
goto earlyError;
@@ -2609,7 +2609,7 @@ TclPtrUnsetVarIdx(
if (result != TCL_OK) {
if (flags & TCL_LEAVE_ERR_MSG) {
TclObjVarErrMsg(interp, part1Ptr, part2Ptr, "unset",
((arrayPtr == NULL) ? noSuchVar : noSuchElement), index);
((arrayPtr == NULL) ? NOSUCHVAR : NOSUCHELEMENT), index);
Tcl_SetErrorCode(interp, "TCL", "UNSET", "VARNAME", NULL);
}
}
@@ -3917,7 +3917,7 @@ ArrayNamesCmd(
static const char *const options[] = {
"-exact", "-glob", "-regexp", NULL
};
enum options { OPT_EXACT, OPT_GLOB, OPT_REGEXP };
enum arrayNamesOptionsEnum { OPT_EXACT, OPT_GLOB, OPT_REGEXP };
Var *varPtr, *varPtr2;
Tcl_Obj *nameObj, *resultObj, *patternObj;
Tcl_HashSearch search;
@@ -3985,7 +3985,7 @@ ArrayNamesCmd(
const char *name = TclGetString(nameObj);
int matched = 0;
switch ((enum options) mode) {
switch ((enum arrayNamesOptionsEnum) mode) {
case OPT_EXACT:
Tcl_Panic("exact matching shouldn't get here");
case OPT_GLOB:
@@ -4104,7 +4104,7 @@ ArraySetCmd(
}
if (arrayPtr) {
CleanupVar(varPtr, arrayPtr);
TclObjVarErrMsg(interp, arrayNameObj, NULL, "set", needArray, -1);
TclObjVarErrMsg(interp, arrayNameObj, NULL, "set", NEEDARRAY, -1);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME",
TclGetString(arrayNameObj), NULL);
return TCL_ERROR;
@@ -4223,7 +4223,7 @@ ArraySetCmd(
*/
TclObjVarErrMsg(interp, arrayNameObj, NULL, "array set",
needArray, -1);
NEEDARRAY, -1);
Tcl_SetErrorCode(interp, "TCL", "WRITE", "ARRAY", NULL);
return TCL_ERROR;
}
@@ -5124,7 +5124,7 @@ Tcl_VariableObjCmd(
*/
TclObjVarErrMsg(interp, varNamePtr, NULL, "define",
isArrayElement, -1);
ISARRAYELEMENT, -1);
Tcl_SetErrorCode(interp, "TCL", "UPVAR", "LOCAL_ELEMENT", NULL);
return TCL_ERROR;
}
@@ -6635,7 +6635,7 @@ ArrayDefaultCmd(
static const char *const options[] = {
"get", "set", "exists", "unset", NULL
};
enum options { OPT_GET, OPT_SET, OPT_EXISTS, OPT_UNSET };
enum arrayDefaultOptionsEnum { OPT_GET, OPT_SET, OPT_EXISTS, OPT_UNSET };
Tcl_Obj *arrayNameObj, *defaultValueObj;
Var *varPtr, *arrayPtr;
int isArray, option;
@@ -6659,7 +6659,7 @@ ArrayDefaultCmd(
return TCL_ERROR;
}
switch (option) {
switch ((enum arrayDefaultOptionsEnum)option) {
case OPT_GET:
if (objc != 3) {
Tcl_WrongNumArgs(interp, 2, objv, "arrayName");
@@ -6702,7 +6702,7 @@ ArrayDefaultCmd(
CleanupVar(varPtr, arrayPtr);
TclObjVarErrMsg(interp, arrayNameObj, NULL, "array default set",
needArray, -1);
NEEDARRAY, -1);
Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "VARNAME",
TclGetString(arrayNameObj), NULL);
return TCL_ERROR;
@@ -6713,7 +6713,7 @@ ArrayDefaultCmd(
*/
TclObjVarErrMsg(interp, arrayNameObj, NULL, "array default set",
needArray, -1);
NEEDARRAY, -1);
Tcl_SetErrorCode(interp, "TCL", "WRITE", "ARRAY", NULL);
return TCL_ERROR;
}
+3 -3
View File
@@ -4485,13 +4485,13 @@ ZipFSFileAttrsGetProc(
}
switch (index) {
case 0:
*objPtrRef = Tcl_NewWideIntObj(z->numBytes);
TclNewIntObj(*objPtrRef, z->numBytes);
break;
case 1:
*objPtrRef = Tcl_NewWideIntObj(z->numCompressedBytes);
TclNewIntObj(*objPtrRef, z->numCompressedBytes);
break;
case 2:
*objPtrRef = Tcl_NewWideIntObj(z->offset);
TclNewIntObj(*objPtrRef, z->offset);
break;
case 3:
*objPtrRef = Tcl_NewStringObj(z->zipFilePtr->mountPoint,
+3 -3
View File
@@ -2398,7 +2398,7 @@ ZlibPushSubcmd(
"-dictionary", "-header", "-level", "-limit", NULL
};
const char *const *pushOptions = pushDecompressOptions;
enum pushOptions {poDictionary, poHeader, poLevel, poLimit};
enum pushOptionsEnum {poDictionary, poHeader, poLevel, poLimit};
Tcl_Obj *headerObj = NULL, *compDictObj = NULL;
int limit = DEFAULT_BUFFER_SIZE, dummy;
@@ -2480,7 +2480,7 @@ ZlibPushSubcmd(
Tcl_SetErrorCode(interp, "TCL", "ZIP", "NOVAL", NULL);
return TCL_ERROR;
}
switch ((enum pushOptions) option) {
switch ((enum pushOptionsEnum) option) {
case poHeader:
headerObj = objv[i];
if (Tcl_DictObjSize(interp, headerObj, &dummy) != TCL_OK) {
@@ -3945,7 +3945,7 @@ TclZlibInit(
cfg[0].key = "zlibVersion";
cfg[0].value = zlibVersion();
cfg[1].key = NULL;
Tcl_RegisterConfig(interp, "zlib", cfg, "iso8859-1");
Tcl_RegisterConfig(interp, "zlib", cfg, "utf-8");
/*
* Allow command type introspection to do something sensible with streams.
+1 -1
View File
@@ -3314,7 +3314,7 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
"time zone \":$fileName\" not valid"
}
try {
source -encoding utf-8 [file join $DataDir $fileName]
source [file join $DataDir $fileName]
} on error {} {
return -code error \
-errorcode [list CLOCK badTimeZone :$fileName] \
+1 -1
View File
@@ -1,3 +1,3 @@
if {![package vsatisfies [package provide Tcl] 8.5-]} return
if {[info sharedlibextension] != ".dll"} return
package ifneeded dde 1.4.3 [list load [file join $dir tcldde14.dll] dde]
package ifneeded dde 1.4.3 [list load [file join $dir tcldde14.dll] Dde]
+3 -3
View File
@@ -746,6 +746,7 @@ proc http::geturl {url args} {
-strict boolean
-timeout integer
-validate boolean
-headers dict
}
set state(charset) $defaultCharset
set options {
@@ -759,9 +760,8 @@ proc http::geturl {url args} {
foreach {flag value} $args {
if {[regexp -- $pat $flag]} {
# Validate numbers
if {
[info exists type($flag)] &&
![string is $type($flag) -strict $value]
if {($flag eq "-headers") ? [catch {dict size $value}] :
([info exists type($flag)] && ![string is $type($flag) -strict $value])
} {
unset $token
return -code error \
+1 -1
View File
@@ -112,7 +112,7 @@ if {[interp issafe]} {
foreach cmd {add format scan} {
proc ::tcl::clock::$cmd args {
variable TclLibDir
source -encoding utf-8 [file join $TclLibDir clock.tcl]
source [file join $TclLibDir clock.tcl]
return [uplevel 1 [info level 0]]
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
if {![package vsatisfies [package provide Tcl] 8.5-]} return
if {[info sharedlibextension] != ".dll"} return
package ifneeded registry 1.3.5 \
[list load [file join $dir tclreg13.dll] registry]
[list load [file join $dir tclreg13.dll] Registry]
+2 -5
View File
@@ -937,7 +937,7 @@ proc ::safe::AliasSource {child args} {
}
} else {
set at 0
set encoding {}
set encoding utf-8
}
if {$argc != 1} {
set msg "wrong # args: should be \"source ?-encoding E? fileName\""
@@ -980,10 +980,7 @@ proc ::safe::AliasSource {child args} {
set replacementMsg "script error"
set code [catch {
set f [open $realfile]
fconfigure $f -eofchar \032
if {$encoding ne ""} {
fconfigure $f -encoding $encoding
}
fconfigure $f -encoding $encoding -eofchar \032
set contents [read $f]
close $f
::interp eval $child [list info script $file]
+1 -1
View File
@@ -267,7 +267,7 @@ proc ::tcl::tm::UnknownHandler {original name args} {
# of the package file is the last element in the list.
package ifneeded $pkgname $pkgversion \
"[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]"
"[::list package provide $pkgname $pkgversion];[::list source $file]"
# We abort in this unknown handler only if we got a
# satisfying candidate for the requested package.
+1 -1
View File
@@ -2,7 +2,7 @@
set TZData(:Africa/Algiers) {
{-9223372036854775808 732 0 LMT}
{-2486679072 561 0 PMT}
{-2486592732 561 0 PMT}
{-1855958961 0 0 WET}
{-1689814800 3600 1 WEST}
{-1680397200 0 0 WET}
+10 -10
View File
@@ -66,7 +66,7 @@ set TZData(:Africa/Casablanca) {
{1648346400 0 1 +01}
{1651975200 3600 0 +01}
{1679191200 0 1 +01}
{1682215200 3600 0 +01}
{1682820000 3600 0 +01}
{1710036000 0 1 +01}
{1713060000 3600 0 +01}
{1740276000 0 1 +01}
@@ -82,7 +82,7 @@ set TZData(:Africa/Casablanca) {
{1893290400 0 1 +01}
{1896919200 3600 0 +01}
{1924135200 0 1 +01}
{1927159200 3600 0 +01}
{1927764000 3600 0 +01}
{1954980000 0 1 +01}
{1958004000 3600 0 +01}
{1985220000 0 1 +01}
@@ -98,7 +98,7 @@ set TZData(:Africa/Casablanca) {
{2138234400 0 1 +01}
{2141863200 3600 0 +01}
{2169079200 0 1 +01}
{2172103200 3600 0 +01}
{2172708000 3600 0 +01}
{2199924000 0 1 +01}
{2202948000 3600 0 +01}
{2230164000 0 1 +01}
@@ -114,7 +114,7 @@ set TZData(:Africa/Casablanca) {
{2383178400 0 1 +01}
{2386807200 3600 0 +01}
{2414023200 0 1 +01}
{2417047200 3600 0 +01}
{2417652000 3600 0 +01}
{2444868000 0 1 +01}
{2447892000 3600 0 +01}
{2475108000 0 1 +01}
@@ -130,7 +130,7 @@ set TZData(:Africa/Casablanca) {
{2628122400 0 1 +01}
{2631751200 3600 0 +01}
{2658967200 0 1 +01}
{2661991200 3600 0 +01}
{2662596000 3600 0 +01}
{2689812000 0 1 +01}
{2692836000 3600 0 +01}
{2720052000 0 1 +01}
@@ -146,7 +146,7 @@ set TZData(:Africa/Casablanca) {
{2873066400 0 1 +01}
{2876695200 3600 0 +01}
{2903911200 0 1 +01}
{2906935200 3600 0 +01}
{2907540000 3600 0 +01}
{2934756000 0 1 +01}
{2937780000 3600 0 +01}
{2964996000 0 1 +01}
@@ -162,7 +162,7 @@ set TZData(:Africa/Casablanca) {
{3118010400 0 1 +01}
{3121639200 3600 0 +01}
{3148855200 0 1 +01}
{3151879200 3600 0 +01}
{3152484000 3600 0 +01}
{3179700000 0 1 +01}
{3182724000 3600 0 +01}
{3209940000 0 1 +01}
@@ -178,7 +178,7 @@ set TZData(:Africa/Casablanca) {
{3362954400 0 1 +01}
{3366583200 3600 0 +01}
{3393799200 0 1 +01}
{3396823200 3600 0 +01}
{3397428000 3600 0 +01}
{3424644000 0 1 +01}
{3427668000 3600 0 +01}
{3454884000 0 1 +01}
@@ -188,13 +188,13 @@ set TZData(:Africa/Casablanca) {
{3515968800 0 1 +01}
{3519597600 3600 0 +01}
{3546813600 0 1 +01}
{3549837600 3600 0 +01}
{3550442400 3600 0 +01}
{3577658400 0 1 +01}
{3580682400 3600 0 +01}
{3607898400 0 1 +01}
{3611527200 3600 0 +01}
{3638743200 0 1 +01}
{3641767200 3600 0 +01}
{3642372000 3600 0 +01}
{3669588000 0 1 +01}
{3672612000 3600 0 +01}
{3699828000 0 1 +01}
+10 -10
View File
@@ -55,7 +55,7 @@ set TZData(:Africa/El_Aaiun) {
{1648346400 0 1 +01}
{1651975200 3600 0 +01}
{1679191200 0 1 +01}
{1682215200 3600 0 +01}
{1682820000 3600 0 +01}
{1710036000 0 1 +01}
{1713060000 3600 0 +01}
{1740276000 0 1 +01}
@@ -71,7 +71,7 @@ set TZData(:Africa/El_Aaiun) {
{1893290400 0 1 +01}
{1896919200 3600 0 +01}
{1924135200 0 1 +01}
{1927159200 3600 0 +01}
{1927764000 3600 0 +01}
{1954980000 0 1 +01}
{1958004000 3600 0 +01}
{1985220000 0 1 +01}
@@ -87,7 +87,7 @@ set TZData(:Africa/El_Aaiun) {
{2138234400 0 1 +01}
{2141863200 3600 0 +01}
{2169079200 0 1 +01}
{2172103200 3600 0 +01}
{2172708000 3600 0 +01}
{2199924000 0 1 +01}
{2202948000 3600 0 +01}
{2230164000 0 1 +01}
@@ -103,7 +103,7 @@ set TZData(:Africa/El_Aaiun) {
{2383178400 0 1 +01}
{2386807200 3600 0 +01}
{2414023200 0 1 +01}
{2417047200 3600 0 +01}
{2417652000 3600 0 +01}
{2444868000 0 1 +01}
{2447892000 3600 0 +01}
{2475108000 0 1 +01}
@@ -119,7 +119,7 @@ set TZData(:Africa/El_Aaiun) {
{2628122400 0 1 +01}
{2631751200 3600 0 +01}
{2658967200 0 1 +01}
{2661991200 3600 0 +01}
{2662596000 3600 0 +01}
{2689812000 0 1 +01}
{2692836000 3600 0 +01}
{2720052000 0 1 +01}
@@ -135,7 +135,7 @@ set TZData(:Africa/El_Aaiun) {
{2873066400 0 1 +01}
{2876695200 3600 0 +01}
{2903911200 0 1 +01}
{2906935200 3600 0 +01}
{2907540000 3600 0 +01}
{2934756000 0 1 +01}
{2937780000 3600 0 +01}
{2964996000 0 1 +01}
@@ -151,7 +151,7 @@ set TZData(:Africa/El_Aaiun) {
{3118010400 0 1 +01}
{3121639200 3600 0 +01}
{3148855200 0 1 +01}
{3151879200 3600 0 +01}
{3152484000 3600 0 +01}
{3179700000 0 1 +01}
{3182724000 3600 0 +01}
{3209940000 0 1 +01}
@@ -167,7 +167,7 @@ set TZData(:Africa/El_Aaiun) {
{3362954400 0 1 +01}
{3366583200 3600 0 +01}
{3393799200 0 1 +01}
{3396823200 3600 0 +01}
{3397428000 3600 0 +01}
{3424644000 0 1 +01}
{3427668000 3600 0 +01}
{3454884000 0 1 +01}
@@ -177,13 +177,13 @@ set TZData(:Africa/El_Aaiun) {
{3515968800 0 1 +01}
{3519597600 3600 0 +01}
{3546813600 0 1 +01}
{3549837600 3600 0 +01}
{3550442400 3600 0 +01}
{3577658400 0 1 +01}
{3580682400 3600 0 +01}
{3607898400 0 1 +01}
{3611527200 3600 0 +01}
{3638743200 0 1 +01}
{3641767200 3600 0 +01}
{3642372000 3600 0 +01}
{3669588000 0 1 +01}
{3672612000 3600 0 +01}
{3699828000 0 1 +01}
+2 -1
View File
@@ -93,5 +93,6 @@ set TZData(:America/Dawson) {
{1541322000 -28800 0 PST}
{1552212000 -25200 1 PDT}
{1572771600 -28800 0 PST}
{1583661600 -25200 0 MST}
{1583661600 -25200 1 PDT}
{1604217600 -25200 0 MST}
}
+2 -1
View File
@@ -93,5 +93,6 @@ set TZData(:America/Whitehorse) {
{1541322000 -28800 0 PST}
{1552212000 -25200 1 PDT}
{1572771600 -28800 0 PST}
{1583661600 -25200 0 MST}
{1583661600 -25200 1 PDT}
{1604217600 -25200 0 MST}
}
+5
View File
@@ -9,4 +9,9 @@ set TZData(:Antarctica/Casey) {
{1329843600 28800 0 +08}
{1477065600 39600 0 +11}
{1520701200 28800 0 +08}
{1538856000 39600 0 +11}
{1552752000 28800 0 +08}
{1570129200 39600 0 +11}
{1583596800 28800 0 +08}
{1601740860 39600 0 +11}
}
+180 -1
View File
@@ -93,5 +93,184 @@ set TZData(:Antarctica/Macquarie) {
{1223136000 39600 1 AEDT}
{1238860800 36000 0 AEST}
{1254585600 39600 1 AEDT}
{1270310400 39600 0 +11}
{1262264400 39600 1 AEDT}
{1293800400 39600 0 AEST}
{1301760000 36000 0 AEST}
{1317484800 39600 1 AEDT}
{1333209600 36000 0 AEST}
{1349539200 39600 1 AEDT}
{1365264000 36000 0 AEST}
{1380988800 39600 1 AEDT}
{1396713600 36000 0 AEST}
{1412438400 39600 1 AEDT}
{1428163200 36000 0 AEST}
{1443888000 39600 1 AEDT}
{1459612800 36000 0 AEST}
{1475337600 39600 1 AEDT}
{1491062400 36000 0 AEST}
{1506787200 39600 1 AEDT}
{1522512000 36000 0 AEST}
{1538841600 39600 1 AEDT}
{1554566400 36000 0 AEST}
{1570291200 39600 1 AEDT}
{1586016000 36000 0 AEST}
{1601740800 39600 1 AEDT}
{1617465600 36000 0 AEST}
{1633190400 39600 1 AEDT}
{1648915200 36000 0 AEST}
{1664640000 39600 1 AEDT}
{1680364800 36000 0 AEST}
{1696089600 39600 1 AEDT}
{1712419200 36000 0 AEST}
{1728144000 39600 1 AEDT}
{1743868800 36000 0 AEST}
{1759593600 39600 1 AEDT}
{1775318400 36000 0 AEST}
{1791043200 39600 1 AEDT}
{1806768000 36000 0 AEST}
{1822492800 39600 1 AEDT}
{1838217600 36000 0 AEST}
{1853942400 39600 1 AEDT}
{1869667200 36000 0 AEST}
{1885996800 39600 1 AEDT}
{1901721600 36000 0 AEST}
{1917446400 39600 1 AEDT}
{1933171200 36000 0 AEST}
{1948896000 39600 1 AEDT}
{1964620800 36000 0 AEST}
{1980345600 39600 1 AEDT}
{1996070400 36000 0 AEST}
{2011795200 39600 1 AEDT}
{2027520000 36000 0 AEST}
{2043244800 39600 1 AEDT}
{2058969600 36000 0 AEST}
{2075299200 39600 1 AEDT}
{2091024000 36000 0 AEST}
{2106748800 39600 1 AEDT}
{2122473600 36000 0 AEST}
{2138198400 39600 1 AEDT}
{2153923200 36000 0 AEST}
{2169648000 39600 1 AEDT}
{2185372800 36000 0 AEST}
{2201097600 39600 1 AEDT}
{2216822400 36000 0 AEST}
{2233152000 39600 1 AEDT}
{2248876800 36000 0 AEST}
{2264601600 39600 1 AEDT}
{2280326400 36000 0 AEST}
{2296051200 39600 1 AEDT}
{2311776000 36000 0 AEST}
{2327500800 39600 1 AEDT}
{2343225600 36000 0 AEST}
{2358950400 39600 1 AEDT}
{2374675200 36000 0 AEST}
{2390400000 39600 1 AEDT}
{2406124800 36000 0 AEST}
{2422454400 39600 1 AEDT}
{2438179200 36000 0 AEST}
{2453904000 39600 1 AEDT}
{2469628800 36000 0 AEST}
{2485353600 39600 1 AEDT}
{2501078400 36000 0 AEST}
{2516803200 39600 1 AEDT}
{2532528000 36000 0 AEST}
{2548252800 39600 1 AEDT}
{2563977600 36000 0 AEST}
{2579702400 39600 1 AEDT}
{2596032000 36000 0 AEST}
{2611756800 39600 1 AEDT}
{2627481600 36000 0 AEST}
{2643206400 39600 1 AEDT}
{2658931200 36000 0 AEST}
{2674656000 39600 1 AEDT}
{2690380800 36000 0 AEST}
{2706105600 39600 1 AEDT}
{2721830400 36000 0 AEST}
{2737555200 39600 1 AEDT}
{2753280000 36000 0 AEST}
{2769609600 39600 1 AEDT}
{2785334400 36000 0 AEST}
{2801059200 39600 1 AEDT}
{2816784000 36000 0 AEST}
{2832508800 39600 1 AEDT}
{2848233600 36000 0 AEST}
{2863958400 39600 1 AEDT}
{2879683200 36000 0 AEST}
{2895408000 39600 1 AEDT}
{2911132800 36000 0 AEST}
{2926857600 39600 1 AEDT}
{2942582400 36000 0 AEST}
{2958912000 39600 1 AEDT}
{2974636800 36000 0 AEST}
{2990361600 39600 1 AEDT}
{3006086400 36000 0 AEST}
{3021811200 39600 1 AEDT}
{3037536000 36000 0 AEST}
{3053260800 39600 1 AEDT}
{3068985600 36000 0 AEST}
{3084710400 39600 1 AEDT}
{3100435200 36000 0 AEST}
{3116764800 39600 1 AEDT}
{3132489600 36000 0 AEST}
{3148214400 39600 1 AEDT}
{3163939200 36000 0 AEST}
{3179664000 39600 1 AEDT}
{3195388800 36000 0 AEST}
{3211113600 39600 1 AEDT}
{3226838400 36000 0 AEST}
{3242563200 39600 1 AEDT}
{3258288000 36000 0 AEST}
{3274012800 39600 1 AEDT}
{3289737600 36000 0 AEST}
{3306067200 39600 1 AEDT}
{3321792000 36000 0 AEST}
{3337516800 39600 1 AEDT}
{3353241600 36000 0 AEST}
{3368966400 39600 1 AEDT}
{3384691200 36000 0 AEST}
{3400416000 39600 1 AEDT}
{3416140800 36000 0 AEST}
{3431865600 39600 1 AEDT}
{3447590400 36000 0 AEST}
{3463315200 39600 1 AEDT}
{3479644800 36000 0 AEST}
{3495369600 39600 1 AEDT}
{3511094400 36000 0 AEST}
{3526819200 39600 1 AEDT}
{3542544000 36000 0 AEST}
{3558268800 39600 1 AEDT}
{3573993600 36000 0 AEST}
{3589718400 39600 1 AEDT}
{3605443200 36000 0 AEST}
{3621168000 39600 1 AEDT}
{3636892800 36000 0 AEST}
{3653222400 39600 1 AEDT}
{3668947200 36000 0 AEST}
{3684672000 39600 1 AEDT}
{3700396800 36000 0 AEST}
{3716121600 39600 1 AEDT}
{3731846400 36000 0 AEST}
{3747571200 39600 1 AEDT}
{3763296000 36000 0 AEST}
{3779020800 39600 1 AEDT}
{3794745600 36000 0 AEST}
{3810470400 39600 1 AEDT}
{3826195200 36000 0 AEST}
{3842524800 39600 1 AEDT}
{3858249600 36000 0 AEST}
{3873974400 39600 1 AEDT}
{3889699200 36000 0 AEST}
{3905424000 39600 1 AEDT}
{3921148800 36000 0 AEST}
{3936873600 39600 1 AEDT}
{3952598400 36000 0 AEST}
{3968323200 39600 1 AEDT}
{3984048000 36000 0 AEST}
{4000377600 39600 1 AEDT}
{4016102400 36000 0 AEST}
{4031827200 39600 1 AEDT}
{4047552000 36000 0 AEST}
{4063276800 39600 1 AEDT}
{4079001600 36000 0 AEST}
{4094726400 39600 1 AEDT}
}
+94 -94
View File
@@ -110,7 +110,7 @@ set TZData(:Asia/Gaza) {
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
{1445551200 7200 0 EET}
{1458946800 10800 1 EEST}
{1477692000 7200 0 EET}
{1490396400 10800 1 EEST}
@@ -118,165 +118,165 @@ set TZData(:Asia/Gaza) {
{1521846000 10800 1 EEST}
{1540591200 7200 0 EET}
{1553810400 10800 1 EEST}
{1572040800 7200 0 EET}
{1585260000 10800 1 EEST}
{1604095200 7200 0 EET}
{1616709600 10800 1 EEST}
{1572037200 7200 0 EET}
{1585346400 10800 1 EEST}
{1603490400 7200 0 EET}
{1616796000 10800 1 EEST}
{1635544800 7200 0 EET}
{1648159200 10800 1 EEST}
{1648245600 10800 1 EEST}
{1666994400 7200 0 EET}
{1680213600 10800 1 EEST}
{1679695200 10800 1 EEST}
{1698444000 7200 0 EET}
{1711663200 10800 1 EEST}
{1711749600 10800 1 EEST}
{1729893600 7200 0 EET}
{1743112800 10800 1 EEST}
{1743199200 10800 1 EEST}
{1761343200 7200 0 EET}
{1774562400 10800 1 EEST}
{1793397600 7200 0 EET}
{1806012000 10800 1 EEST}
{1774648800 10800 1 EEST}
{1792792800 7200 0 EET}
{1806098400 10800 1 EEST}
{1824847200 7200 0 EET}
{1838066400 10800 1 EEST}
{1837548000 10800 1 EEST}
{1856296800 7200 0 EET}
{1869516000 10800 1 EEST}
{1868997600 10800 1 EEST}
{1887746400 7200 0 EET}
{1900965600 10800 1 EEST}
{1901052000 10800 1 EEST}
{1919196000 7200 0 EET}
{1932415200 10800 1 EEST}
{1932501600 10800 1 EEST}
{1950645600 7200 0 EET}
{1963864800 10800 1 EEST}
{1963951200 10800 1 EEST}
{1982700000 7200 0 EET}
{1995314400 10800 1 EEST}
{1995400800 10800 1 EEST}
{2014149600 7200 0 EET}
{2027368800 10800 1 EEST}
{2026850400 10800 1 EEST}
{2045599200 7200 0 EET}
{2058818400 10800 1 EEST}
{2058300000 10800 1 EEST}
{2077048800 7200 0 EET}
{2090268000 10800 1 EEST}
{2090354400 10800 1 EEST}
{2108498400 7200 0 EET}
{2121717600 10800 1 EEST}
{2140552800 7200 0 EET}
{2153167200 10800 1 EEST}
{2121804000 10800 1 EEST}
{2139948000 7200 0 EET}
{2153253600 10800 1 EEST}
{2172002400 7200 0 EET}
{2184616800 10800 1 EEST}
{2184703200 10800 1 EEST}
{2203452000 7200 0 EET}
{2216671200 10800 1 EEST}
{2216152800 10800 1 EEST}
{2234901600 7200 0 EET}
{2248120800 10800 1 EEST}
{2248207200 10800 1 EEST}
{2266351200 7200 0 EET}
{2279570400 10800 1 EEST}
{2279656800 10800 1 EEST}
{2297800800 7200 0 EET}
{2311020000 10800 1 EEST}
{2329855200 7200 0 EET}
{2342469600 10800 1 EEST}
{2311106400 10800 1 EEST}
{2329250400 7200 0 EET}
{2342556000 10800 1 EEST}
{2361304800 7200 0 EET}
{2374524000 10800 1 EEST}
{2374005600 10800 1 EEST}
{2392754400 7200 0 EET}
{2405973600 10800 1 EEST}
{2405455200 10800 1 EEST}
{2424204000 7200 0 EET}
{2437423200 10800 1 EEST}
{2437509600 10800 1 EEST}
{2455653600 7200 0 EET}
{2468872800 10800 1 EEST}
{2487708000 7200 0 EET}
{2500322400 10800 1 EEST}
{2468959200 10800 1 EEST}
{2487103200 7200 0 EET}
{2500408800 10800 1 EEST}
{2519157600 7200 0 EET}
{2531772000 10800 1 EEST}
{2531858400 10800 1 EEST}
{2550607200 7200 0 EET}
{2563826400 10800 1 EEST}
{2563308000 10800 1 EEST}
{2582056800 7200 0 EET}
{2595276000 10800 1 EEST}
{2595362400 10800 1 EEST}
{2613506400 7200 0 EET}
{2626725600 10800 1 EEST}
{2626812000 10800 1 EEST}
{2644956000 7200 0 EET}
{2658175200 10800 1 EEST}
{2677010400 7200 0 EET}
{2689624800 10800 1 EEST}
{2658261600 10800 1 EEST}
{2676405600 7200 0 EET}
{2689711200 10800 1 EEST}
{2708460000 7200 0 EET}
{2721679200 10800 1 EEST}
{2721160800 10800 1 EEST}
{2739909600 7200 0 EET}
{2753128800 10800 1 EEST}
{2752610400 10800 1 EEST}
{2771359200 7200 0 EET}
{2784578400 10800 1 EEST}
{2784664800 10800 1 EEST}
{2802808800 7200 0 EET}
{2816028000 10800 1 EEST}
{2816114400 10800 1 EEST}
{2834258400 7200 0 EET}
{2847477600 10800 1 EEST}
{2847564000 10800 1 EEST}
{2866312800 7200 0 EET}
{2878927200 10800 1 EEST}
{2879013600 10800 1 EEST}
{2897762400 7200 0 EET}
{2910981600 10800 1 EEST}
{2910463200 10800 1 EEST}
{2929212000 7200 0 EET}
{2942431200 10800 1 EEST}
{2941912800 10800 1 EEST}
{2960661600 7200 0 EET}
{2973880800 10800 1 EEST}
{2973967200 10800 1 EEST}
{2992111200 7200 0 EET}
{3005330400 10800 1 EEST}
{3024165600 7200 0 EET}
{3036780000 10800 1 EEST}
{3005416800 10800 1 EEST}
{3023560800 7200 0 EET}
{3036866400 10800 1 EEST}
{3055615200 7200 0 EET}
{3068229600 10800 1 EEST}
{3068316000 10800 1 EEST}
{3087064800 7200 0 EET}
{3100284000 10800 1 EEST}
{3099765600 10800 1 EEST}
{3118514400 7200 0 EET}
{3131733600 10800 1 EEST}
{3131820000 10800 1 EEST}
{3149964000 7200 0 EET}
{3163183200 10800 1 EEST}
{3163269600 10800 1 EEST}
{3181413600 7200 0 EET}
{3194632800 10800 1 EEST}
{3213468000 7200 0 EET}
{3226082400 10800 1 EEST}
{3194719200 10800 1 EEST}
{3212863200 7200 0 EET}
{3226168800 10800 1 EEST}
{3244917600 7200 0 EET}
{3258136800 10800 1 EEST}
{3257618400 10800 1 EEST}
{3276367200 7200 0 EET}
{3289586400 10800 1 EEST}
{3289068000 10800 1 EEST}
{3307816800 7200 0 EET}
{3321036000 10800 1 EEST}
{3321122400 10800 1 EEST}
{3339266400 7200 0 EET}
{3352485600 10800 1 EEST}
{3371320800 7200 0 EET}
{3383935200 10800 1 EEST}
{3352572000 10800 1 EEST}
{3370716000 7200 0 EET}
{3384021600 10800 1 EEST}
{3402770400 7200 0 EET}
{3415384800 10800 1 EEST}
{3415471200 10800 1 EEST}
{3434220000 7200 0 EET}
{3447439200 10800 1 EEST}
{3446920800 10800 1 EEST}
{3465669600 7200 0 EET}
{3478888800 10800 1 EEST}
{3478975200 10800 1 EEST}
{3497119200 7200 0 EET}
{3510338400 10800 1 EEST}
{3510424800 10800 1 EEST}
{3528568800 7200 0 EET}
{3541788000 10800 1 EEST}
{3560623200 7200 0 EET}
{3573237600 10800 1 EEST}
{3541874400 10800 1 EEST}
{3560018400 7200 0 EET}
{3573324000 10800 1 EEST}
{3592072800 7200 0 EET}
{3605292000 10800 1 EEST}
{3604773600 10800 1 EEST}
{3623522400 7200 0 EET}
{3636741600 10800 1 EEST}
{3636223200 10800 1 EEST}
{3654972000 7200 0 EET}
{3668191200 10800 1 EEST}
{3668277600 10800 1 EEST}
{3686421600 7200 0 EET}
{3699640800 10800 1 EEST}
{3699727200 10800 1 EEST}
{3717871200 7200 0 EET}
{3731090400 10800 1 EEST}
{3731176800 10800 1 EEST}
{3749925600 7200 0 EET}
{3762540000 10800 1 EEST}
{3762626400 10800 1 EEST}
{3781375200 7200 0 EET}
{3794594400 10800 1 EEST}
{3794076000 10800 1 EEST}
{3812824800 7200 0 EET}
{3826044000 10800 1 EEST}
{3825525600 10800 1 EEST}
{3844274400 7200 0 EET}
{3857493600 10800 1 EEST}
{3857580000 10800 1 EEST}
{3875724000 7200 0 EET}
{3888943200 10800 1 EEST}
{3907778400 7200 0 EET}
{3920392800 10800 1 EEST}
{3889029600 10800 1 EEST}
{3907173600 7200 0 EET}
{3920479200 10800 1 EEST}
{3939228000 7200 0 EET}
{3951842400 10800 1 EEST}
{3951928800 10800 1 EEST}
{3970677600 7200 0 EET}
{3983896800 10800 1 EEST}
{3983378400 10800 1 EEST}
{4002127200 7200 0 EET}
{4015346400 10800 1 EEST}
{4015432800 10800 1 EEST}
{4033576800 7200 0 EET}
{4046796000 10800 1 EEST}
{4046882400 10800 1 EEST}
{4065026400 7200 0 EET}
{4078245600 10800 1 EEST}
{4097080800 7200 0 EET}
{4078332000 10800 1 EEST}
{4096476000 7200 0 EET}
}
+94 -94
View File
@@ -109,7 +109,7 @@ set TZData(:Asia/Hebron) {
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
{1445547600 7200 0 EET}
{1445551200 7200 0 EET}
{1458946800 10800 1 EEST}
{1477692000 7200 0 EET}
{1490396400 10800 1 EEST}
@@ -117,165 +117,165 @@ set TZData(:Asia/Hebron) {
{1521846000 10800 1 EEST}
{1540591200 7200 0 EET}
{1553810400 10800 1 EEST}
{1572040800 7200 0 EET}
{1585260000 10800 1 EEST}
{1604095200 7200 0 EET}
{1616709600 10800 1 EEST}
{1572037200 7200 0 EET}
{1585346400 10800 1 EEST}
{1603490400 7200 0 EET}
{1616796000 10800 1 EEST}
{1635544800 7200 0 EET}
{1648159200 10800 1 EEST}
{1648245600 10800 1 EEST}
{1666994400 7200 0 EET}
{1680213600 10800 1 EEST}
{1679695200 10800 1 EEST}
{1698444000 7200 0 EET}
{1711663200 10800 1 EEST}
{1711749600 10800 1 EEST}
{1729893600 7200 0 EET}
{1743112800 10800 1 EEST}
{1743199200 10800 1 EEST}
{1761343200 7200 0 EET}
{1774562400 10800 1 EEST}
{1793397600 7200 0 EET}
{1806012000 10800 1 EEST}
{1774648800 10800 1 EEST}
{1792792800 7200 0 EET}
{1806098400 10800 1 EEST}
{1824847200 7200 0 EET}
{1838066400 10800 1 EEST}
{1837548000 10800 1 EEST}
{1856296800 7200 0 EET}
{1869516000 10800 1 EEST}
{1868997600 10800 1 EEST}
{1887746400 7200 0 EET}
{1900965600 10800 1 EEST}
{1901052000 10800 1 EEST}
{1919196000 7200 0 EET}
{1932415200 10800 1 EEST}
{1932501600 10800 1 EEST}
{1950645600 7200 0 EET}
{1963864800 10800 1 EEST}
{1963951200 10800 1 EEST}
{1982700000 7200 0 EET}
{1995314400 10800 1 EEST}
{1995400800 10800 1 EEST}
{2014149600 7200 0 EET}
{2027368800 10800 1 EEST}
{2026850400 10800 1 EEST}
{2045599200 7200 0 EET}
{2058818400 10800 1 EEST}
{2058300000 10800 1 EEST}
{2077048800 7200 0 EET}
{2090268000 10800 1 EEST}
{2090354400 10800 1 EEST}
{2108498400 7200 0 EET}
{2121717600 10800 1 EEST}
{2140552800 7200 0 EET}
{2153167200 10800 1 EEST}
{2121804000 10800 1 EEST}
{2139948000 7200 0 EET}
{2153253600 10800 1 EEST}
{2172002400 7200 0 EET}
{2184616800 10800 1 EEST}
{2184703200 10800 1 EEST}
{2203452000 7200 0 EET}
{2216671200 10800 1 EEST}
{2216152800 10800 1 EEST}
{2234901600 7200 0 EET}
{2248120800 10800 1 EEST}
{2248207200 10800 1 EEST}
{2266351200 7200 0 EET}
{2279570400 10800 1 EEST}
{2279656800 10800 1 EEST}
{2297800800 7200 0 EET}
{2311020000 10800 1 EEST}
{2329855200 7200 0 EET}
{2342469600 10800 1 EEST}
{2311106400 10800 1 EEST}
{2329250400 7200 0 EET}
{2342556000 10800 1 EEST}
{2361304800 7200 0 EET}
{2374524000 10800 1 EEST}
{2374005600 10800 1 EEST}
{2392754400 7200 0 EET}
{2405973600 10800 1 EEST}
{2405455200 10800 1 EEST}
{2424204000 7200 0 EET}
{2437423200 10800 1 EEST}
{2437509600 10800 1 EEST}
{2455653600 7200 0 EET}
{2468872800 10800 1 EEST}
{2487708000 7200 0 EET}
{2500322400 10800 1 EEST}
{2468959200 10800 1 EEST}
{2487103200 7200 0 EET}
{2500408800 10800 1 EEST}
{2519157600 7200 0 EET}
{2531772000 10800 1 EEST}
{2531858400 10800 1 EEST}
{2550607200 7200 0 EET}
{2563826400 10800 1 EEST}
{2563308000 10800 1 EEST}
{2582056800 7200 0 EET}
{2595276000 10800 1 EEST}
{2595362400 10800 1 EEST}
{2613506400 7200 0 EET}
{2626725600 10800 1 EEST}
{2626812000 10800 1 EEST}
{2644956000 7200 0 EET}
{2658175200 10800 1 EEST}
{2677010400 7200 0 EET}
{2689624800 10800 1 EEST}
{2658261600 10800 1 EEST}
{2676405600 7200 0 EET}
{2689711200 10800 1 EEST}
{2708460000 7200 0 EET}
{2721679200 10800 1 EEST}
{2721160800 10800 1 EEST}
{2739909600 7200 0 EET}
{2753128800 10800 1 EEST}
{2752610400 10800 1 EEST}
{2771359200 7200 0 EET}
{2784578400 10800 1 EEST}
{2784664800 10800 1 EEST}
{2802808800 7200 0 EET}
{2816028000 10800 1 EEST}
{2816114400 10800 1 EEST}
{2834258400 7200 0 EET}
{2847477600 10800 1 EEST}
{2847564000 10800 1 EEST}
{2866312800 7200 0 EET}
{2878927200 10800 1 EEST}
{2879013600 10800 1 EEST}
{2897762400 7200 0 EET}
{2910981600 10800 1 EEST}
{2910463200 10800 1 EEST}
{2929212000 7200 0 EET}
{2942431200 10800 1 EEST}
{2941912800 10800 1 EEST}
{2960661600 7200 0 EET}
{2973880800 10800 1 EEST}
{2973967200 10800 1 EEST}
{2992111200 7200 0 EET}
{3005330400 10800 1 EEST}
{3024165600 7200 0 EET}
{3036780000 10800 1 EEST}
{3005416800 10800 1 EEST}
{3023560800 7200 0 EET}
{3036866400 10800 1 EEST}
{3055615200 7200 0 EET}
{3068229600 10800 1 EEST}
{3068316000 10800 1 EEST}
{3087064800 7200 0 EET}
{3100284000 10800 1 EEST}
{3099765600 10800 1 EEST}
{3118514400 7200 0 EET}
{3131733600 10800 1 EEST}
{3131820000 10800 1 EEST}
{3149964000 7200 0 EET}
{3163183200 10800 1 EEST}
{3163269600 10800 1 EEST}
{3181413600 7200 0 EET}
{3194632800 10800 1 EEST}
{3213468000 7200 0 EET}
{3226082400 10800 1 EEST}
{3194719200 10800 1 EEST}
{3212863200 7200 0 EET}
{3226168800 10800 1 EEST}
{3244917600 7200 0 EET}
{3258136800 10800 1 EEST}
{3257618400 10800 1 EEST}
{3276367200 7200 0 EET}
{3289586400 10800 1 EEST}
{3289068000 10800 1 EEST}
{3307816800 7200 0 EET}
{3321036000 10800 1 EEST}
{3321122400 10800 1 EEST}
{3339266400 7200 0 EET}
{3352485600 10800 1 EEST}
{3371320800 7200 0 EET}
{3383935200 10800 1 EEST}
{3352572000 10800 1 EEST}
{3370716000 7200 0 EET}
{3384021600 10800 1 EEST}
{3402770400 7200 0 EET}
{3415384800 10800 1 EEST}
{3415471200 10800 1 EEST}
{3434220000 7200 0 EET}
{3447439200 10800 1 EEST}
{3446920800 10800 1 EEST}
{3465669600 7200 0 EET}
{3478888800 10800 1 EEST}
{3478975200 10800 1 EEST}
{3497119200 7200 0 EET}
{3510338400 10800 1 EEST}
{3510424800 10800 1 EEST}
{3528568800 7200 0 EET}
{3541788000 10800 1 EEST}
{3560623200 7200 0 EET}
{3573237600 10800 1 EEST}
{3541874400 10800 1 EEST}
{3560018400 7200 0 EET}
{3573324000 10800 1 EEST}
{3592072800 7200 0 EET}
{3605292000 10800 1 EEST}
{3604773600 10800 1 EEST}
{3623522400 7200 0 EET}
{3636741600 10800 1 EEST}
{3636223200 10800 1 EEST}
{3654972000 7200 0 EET}
{3668191200 10800 1 EEST}
{3668277600 10800 1 EEST}
{3686421600 7200 0 EET}
{3699640800 10800 1 EEST}
{3699727200 10800 1 EEST}
{3717871200 7200 0 EET}
{3731090400 10800 1 EEST}
{3731176800 10800 1 EEST}
{3749925600 7200 0 EET}
{3762540000 10800 1 EEST}
{3762626400 10800 1 EEST}
{3781375200 7200 0 EET}
{3794594400 10800 1 EEST}
{3794076000 10800 1 EEST}
{3812824800 7200 0 EET}
{3826044000 10800 1 EEST}
{3825525600 10800 1 EEST}
{3844274400 7200 0 EET}
{3857493600 10800 1 EEST}
{3857580000 10800 1 EEST}
{3875724000 7200 0 EET}
{3888943200 10800 1 EEST}
{3907778400 7200 0 EET}
{3920392800 10800 1 EEST}
{3889029600 10800 1 EEST}
{3907173600 7200 0 EET}
{3920479200 10800 1 EEST}
{3939228000 7200 0 EET}
{3951842400 10800 1 EEST}
{3951928800 10800 1 EEST}
{3970677600 7200 0 EET}
{3983896800 10800 1 EEST}
{3983378400 10800 1 EEST}
{4002127200 7200 0 EET}
{4015346400 10800 1 EEST}
{4015432800 10800 1 EEST}
{4033576800 7200 0 EET}
{4046796000 10800 1 EEST}
{4046882400 10800 1 EEST}
{4065026400 7200 0 EET}
{4078245600 10800 1 EEST}
{4097080800 7200 0 EET}
{4078332000 10800 1 EEST}
{4096476000 7200 0 EET}
}
+23 -22
View File
@@ -2,17 +2,19 @@
set TZData(:Europe/Budapest) {
{-9223372036854775808 4580 0 LMT}
{-2500938980 3600 0 CET}
{-2498260580 3600 0 CET}
{-1693706400 7200 1 CEST}
{-1680483600 3600 0 CET}
{-1663455600 7200 1 CEST}
{-1650150000 3600 0 CET}
{-1640998800 3600 0 CET}
{-1633212000 7200 1 CEST}
{-1632006000 7200 1 CEST}
{-1618700400 3600 0 CET}
{-1600466400 7200 1 CEST}
{-1581202800 3600 0 CET}
{-906771600 3600 0 CET}
{-1600470000 7200 1 CEST}
{-1587250800 3600 0 CET}
{-1569711600 7200 1 CEST}
{-1555196400 3600 0 CET}
{-906775200 3600 0 CET}
{-857257200 3600 0 CET}
{-844556400 7200 1 CEST}
{-828226800 3600 0 CET}
@@ -20,33 +22,32 @@ set TZData(:Europe/Budapest) {
{-796777200 3600 0 CET}
{-788922000 3600 0 CET}
{-778471200 7200 1 CEST}
{-762660000 3600 0 CET}
{-762656400 3600 0 CET}
{-749689200 7200 1 CEST}
{-733359600 3600 0 CET}
{-733276800 3600 0 CET}
{-717634800 7200 1 CEST}
{-701910000 3600 0 CET}
{-686185200 7200 1 CEST}
{-670460400 3600 0 CET}
{-654130800 7200 1 CEST}
{-639010800 3600 0 CET}
{-621990000 7200 1 CEST}
{-605660400 3600 0 CET}
{-492656400 7200 1 CEST}
{-481168800 3600 0 CET}
{-461120400 7200 1 CEST}
{-449632800 3600 0 CET}
{-428547600 7200 1 CEST}
{-418269600 3600 0 CET}
{-397094400 7200 1 CEST}
{-461199600 7200 1 CEST}
{-449708400 3600 0 CET}
{-428540400 7200 1 CEST}
{-418258800 3600 0 CET}
{-397090800 7200 1 CEST}
{-386809200 3600 0 CET}
{323827200 7200 1 CEST}
{338950800 3600 0 CET}
{354675600 7200 1 CEST}
{370400400 3600 0 CET}
{386125200 7200 1 CEST}
{401850000 3600 0 CET}
{417574800 7200 1 CEST}
{433299600 3600 0 CET}
{323823600 7200 1 CEST}
{338943600 3600 0 CET}
{354668400 7200 1 CEST}
{370393200 3600 0 CET}
{386118000 7200 1 CEST}
{401842800 3600 0 CET}
{417567600 7200 1 CEST}
{433292400 3600 0 CET}
{441759600 3600 0 CET}
{449024400 7200 1 CEST}
{465354000 3600 0 CET}
{481078800 7200 1 CEST}
+2 -2
View File
@@ -2,8 +2,8 @@
set TZData(:Europe/Monaco) {
{-9223372036854775808 1772 0 LMT}
{-2486680172 561 0 PMT}
{-1855958961 0 0 WET}
{-2448318572 561 0 PMT}
{-1854403761 0 0 WET}
{-1689814800 3600 1 WEST}
{-1680397200 0 0 WET}
{-1665363600 3600 1 WEST}
+2 -2
View File
@@ -2,8 +2,8 @@
set TZData(:Europe/Paris) {
{-9223372036854775808 561 0 LMT}
{-2486678901 561 0 PMT}
{-1855958901 0 0 WET}
{-2486592561 561 0 PMT}
{-1855958961 0 0 WET}
{-1689814800 3600 1 WEST}
{-1680397200 0 0 WET}
{-1665363600 3600 1 WEST}
+1 -1
View File
@@ -29,7 +29,7 @@ set TZData(:Pacific/Fiji) {
{1547301600 43200 0 +12}
{1573308000 46800 1 +12}
{1578751200 43200 0 +12}
{1604757600 46800 1 +12}
{1608386400 46800 1 +12}
{1610805600 43200 0 +12}
{1636812000 46800 1 +12}
{1642255200 43200 0 +12}
+13 -1
View File
@@ -32,6 +32,18 @@ MANDIR ?= ${PREFIX}/man
# set to non-empty value to install manpages in addition to html help:
INSTALL_MANPAGES ?=
# Checks and overrides for subframework builds
ifeq (${SUBFRAMEWORK},1)
ifeq (${DYLIB_INSTALL_DIR},)
@echo "Cannot install subframework with empty DYLIB_INSTALL_DIR !" && false
endif
ifeq (${DESTDIR},)
@echo "Cannot install subframework with empty DESTDIR !" && false
endif
override BUILD_DIR = ${DESTDIR}/build
override INSTALL_PATH = /Frameworks
endif
#-------------------------------------------------------------------------------------------------------
# meta targets
@@ -76,7 +88,7 @@ space := ${empty} ${empty}
objdir = $(subst ${space},\ ,${OBJ_DIR})
develop_make_args := BUILD_STYLE=Development CONFIGURE_ARGS=--enable-symbols
deploy_make_args := BUILD_STYLE=Deployment INSTALL_TARGET=install-strip \
deploy_make_args := BUILD_STYLE=Deployment INSTALL_TARGET=install \
EXTRA_CFLAGS=-DNDEBUG
embedded_make_args := EMBEDDED_BUILD=1
install_make_args := INSTALL_BUILD=1
+10
View File
@@ -165,3 +165,13 @@ If you only want to build and install the debug or optimized build, use the
For example, to build and install only the optimized versions:
make -C tcl${ver}/macosx deploy
sudo make -C tcl${ver}/macosx install-deploy
- To build a Tcl.framework for use as a subframework in another framework, use the
install-embedded target and set SUBFRAMEWORK=1. Set the DYLIB_INSTALL_DIR
variable to the path which should be the install_name path of the Tcl library, set
the DESTDIR variable to the pathname of a staging directory where the framework
will be written . For example, running this command in the Tcl source directory:
make -C macosx install-embedded SUBFRAMEWORK=1 DESTDIR=/tmp/tcl \
DYLIB_INSTALL_DIR=/Library/Frameworks/Some.framework/Versions/X.Y/Frameworks/Tcl.framework
will produce a Tcl.framework intended for installing as a subframework of
Some.framework. The framework will be found in /tmp/tcl/Frameworks/
+1 -1
View File
@@ -19,7 +19,7 @@ GCC_NO_COMMON_BLOCKS = YES
GCC_DYNAMIC_NO_PIC = YES
GCC_VERSION = 4.2
GCC = gcc-$(GCC_VERSION)
WARNING_CFLAGS = -Wall -Wwrite-strings -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-value -Winit-self -Wpointer-arith -Wcast-align -Wdisabled-optimization -Winline $(WARNING_CFLAGS)
WARNING_CFLAGS = -Wall -Wextra -Wshadow -Wwrite-strings -Wpointer-arith -Wc++-compat -Wdeclaration-after-statement -Winit-self -Wcast-align -Wdisabled-optimization -Winline $(WARNING_CFLAGS)
BINDIR = $(PREFIX)/bin
CFLAGS = $(CFLAGS)
CPPFLAGS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) $(CPPFLAGS)
+2 -2
View File
@@ -192,11 +192,11 @@ TclMacOSXGetFileAttribute(
OSSwapBigToHostInt32(finder->type));
break;
case MACOSX_HIDDEN_ATTRIBUTE:
*attributePtrPtr = Tcl_NewWideIntObj(
TclNewIntObj(*attributePtrPtr,
(finder->fdFlags & kFinfoIsInvisible) != 0);
break;
case MACOSX_RSRCLENGTH_ATTRIBUTE:
*attributePtrPtr = Tcl_NewWideIntObj(*rsrcForkSize);
TclNewIntObj(*attributePtrPtr, *rsrcForkSize);
break;
}
return TCL_OK;
+2 -2
View File
@@ -32,7 +32,7 @@ test append-1.3 {append command} {
test append-2.1 {long appends} {
set x ""
for {set i 0} {$i < 1000} {set i [expr $i+1]} {
for {set i 0} {$i < 1000} {incr i} {
append x "foobar "
}
set y "foobar"
@@ -158,7 +158,7 @@ test append-5.1 {long lappends} -setup {
if {$l != $size} {
return "length mismatch: should have been $size, was $l"
}
for {set i 0} {$i < $size} {set i [expr $i+1]} {
for {set i 0} {$i < $size} {incr i} {
set j [lindex $var $i]
if {$j ne "item $i"} {
return "element $i should have been \"item $i\", was \"$j\""
+2 -2
View File
@@ -41,7 +41,7 @@ test appendComp-1.3 {append command} {
test appendComp-2.1 {long appends} {
proc foo {} {
set x ""
for {set i 0} {$i < 1000} {set i [expr $i+1]} {
for {set i 0} {$i < 1000} {incr i} {
append x "foobar "
}
set y "foobar"
@@ -223,7 +223,7 @@ test appendComp-5.1 {long lappends} -setup {
}
} -body {
set x ""
for {set i 0} {$i < 300} {set i [expr $i+1]} {
for {set i 0} {$i < 300} {incr i} {
lappend x "item $i"
}
check $x 300
+1 -1
View File
@@ -25,7 +25,7 @@ testConstraint memory [llength [info commands memory]]
# Tests for wrong number of arguments
test apply-1.1 {too few arguments} -returnCodes error -body {
test apply-1.1 {not enough arguments} -returnCodes error -body {
apply
} -result {wrong # args: should be "apply lambdaExpr ?arg ...?"}
+2 -2
View File
@@ -40,8 +40,8 @@ namespace import -force blt::*
# Should be able to handle "proc" definitions, even if they are preceded by
# white space.
proc normal {x y} {return [expr $x+$y]}
proc indented {x y} {return [expr $x+$y]}
proc normal {x y} {return [expr {$x+$y}]}
proc indented {x y} {return [expr {$x+$y}]}
#
# Should be able to handle proc declarations within namespaces, even if they
+1 -1
View File
@@ -674,7 +674,7 @@ proc l3 {} {
# Do all tests once byte compiled and once with direct string evaluation
foreach noComp {0 1} {
if $noComp {
if {$noComp} {
interp alias {} run {} testevalex
set constraints testevalex
} else {
+10 -10
View File
@@ -3050,7 +3050,7 @@ test chan-io-30.13 {Tcl_Write crlf on block boundary, Tcl_Read auto} -setup {
string length [chan read $f]
} -cleanup {
chan close $f
} -result [expr 700*15+1]
} -result [expr {700*15 + 1}]
test chan-io-30.14 {Tcl_Write crlf on block boundary, Tcl_Read crlf} -setup {
file delete $path(test1)
} -body {
@@ -3067,7 +3067,7 @@ test chan-io-30.14 {Tcl_Write crlf on block boundary, Tcl_Read crlf} -setup {
string length [chan read $f]
} -cleanup {
chan close $f
} -result [expr 700*15+1]
} -result [expr {700*15 + 1}]
test chan-io-30.15 {Tcl_Write mixed, Tcl_Read auto} -setup {
file delete $path(test1)
} -body {
@@ -3909,7 +3909,7 @@ test chan-io-31.31 {Tcl_Write crlf on block boundary, Tcl_Gets crlf} -setup {
}
chan close $f
string length $c
} -result [expr 700*15+1]
} -result [expr {700*15 + 1}]
test chan-io-31.32 {Tcl_Write crlf on block boundary, Tcl_Gets auto} -setup {
file delete $path(test1)
set c ""
@@ -3929,7 +3929,7 @@ test chan-io-31.32 {Tcl_Write crlf on block boundary, Tcl_Gets auto} -setup {
}
chan close $f
string length $c
} -result [expr 700*15+1]
} -result [expr {700*15 + 1}]
# Test Tcl_Read and buffering.
@@ -5340,7 +5340,7 @@ test chan-io-40.2 {POSIX open access modes: CREAT} -setup {
} -constraints {unix} -body {
set f [open $path(test3) {WRONLY CREAT} 0600]
file stat $path(test3) stats
set x [format "%#o" [expr $stats(mode)&0o777]]
set x [format "%#o" [expr {$stats(mode) & 0o777}]]
chan puts $f "line 1"
chan close $f
set f [open $path(test3) r]
@@ -5354,7 +5354,7 @@ test chan-io-40.3 {POSIX open access modes: CREAT} -setup {
# This test only works if your umask is 2, like ouster's.
chan close [open $path(test3) {WRONLY CREAT}]
file stat $path(test3) stats
format "%#o" [expr $stats(mode)&0o777]
format "%#o" [expr {$stats(mode) & 0o777}]
} -result [format %#5o [expr {0o666 & ~ $umaskValue}]]
test chan-io-40.4 {POSIX open access modes: CREAT} -setup {
file delete $path(test3)
@@ -6721,7 +6721,7 @@ test chan-io-52.6 {TclCopyChannel} -setup {
set f2 [open $path(test1) w]
chan configure $f1 -translation lf -blocking 0
chan configure $f2 -translation lf -blocking 0
set s0 [chan copy $f1 $f2 -size [expr [file size $thisScript] + 5]]
set s0 [chan copy $f1 $f2 -size [expr {[file size $thisScript] + 5}]]
set result [list [chan configure $f1 -blocking] [chan configure $f2 -blocking]]
chan close $f1
chan close $f2
@@ -6963,7 +6963,7 @@ test chan-io-53.5 {CopyData: error during chan copy} {socket fcopy} {
chan close $listen ;# This means the socket open never really succeeds
chan copy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
if ![info exists fcopyTestDone] {
if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone] ;# The error occurs here in the b.g.
}
chan close $in
@@ -6983,7 +6983,7 @@ test chan-io-53.6 {CopyData: error during chan copy} -setup {
set out [open $path(test1) w]
chan copy $in $out -command [namespace code FcopyTestDone]
variable fcopyTestDone
if ![info exists fcopyTestDone] {
if {![info exists fcopyTestDone]} {
vwait [namespace which -variable fcopyTestDone]
}
return $fcopyTestDone ;# 0 for plain end of file
@@ -7036,7 +7036,7 @@ test chan-io-53.7 {CopyData: Flooding chan copy from pipe} -setup {
vwait [namespace which -variable fcopyTestDone]
}
# -1=error 0=script error N=number of bytes
expr ($fcopyTestDone == 0) ? $fcopyTestCount : -1
expr {($fcopyTestDone == 0) ? $fcopyTestCount : -1}
} -cleanup {
catch {chan close $in}
chan close $out
+3 -3
View File
@@ -35436,7 +35436,7 @@ test clock-32.1 {scan/format across the Gregorian change} {
# clock clicks
test clock-33.1 {clock clicks tests} {
expr [clock clicks]+1
expr {[clock clicks] + 1}
concat {}
} {}
test clock-33.2 {clock clicks tests} {
@@ -35449,7 +35449,7 @@ test clock-33.3 {clock clicks tests} {
list [catch {clock clicks foo} msg] $msg
} {1 {bad option "foo": must be -milliseconds or -microseconds}}
test clock-33.4 {clock clicks tests} {
expr [clock clicks -milliseconds]+1
expr {[clock clicks -milliseconds] + 1}
concat {}
} {}
test clock-33.4a {clock milliseconds} {
@@ -35905,7 +35905,7 @@ test clock-34.68 {clock scan tests (merid and TZ)} {
# clock seconds
test clock-35.1 {clock seconds tests} {
expr [clock seconds]+1
expr {[clock seconds] + 1}
concat {}
} {}
test clock-35.2 {clock seconds tests} {
+4 -3
View File
@@ -30,6 +30,7 @@ testConstraint linkDirectory [expr {
($::tcl_platform(osVersion) >= 5.0
&& [lindex [file system [temporaryDirectory]] 1] eq "NTFS")
}]
testConstraint notWine [expr {$::tcl_platform(platform) ne "windows" || ![info exists ::env(TRAVIS_OS_NAME)] || ![string match linux $::env(TRAVIS_OS_NAME)]}]
global env
set cmdAHwd [pwd]
@@ -1092,7 +1093,7 @@ test cmdAH-23.4 {Tcl_FileObjCmd: lstat} -setup {
unset -nocomplain stat
} -constraints {unix nonPortable} -body {
file lstat $linkfile stat
list $stat(nlink) [expr $stat(mode)&0777] $stat(type)
list $stat(nlink) [expr {$stat(mode) & 0o777}] $stat(type)
} -result {1 511 link}
test cmdAH-23.5 {Tcl_FileObjCmd: lstat errors} {nonPortable} {
list [catch {file lstat _bogus_ stat} msg] [string tolower $msg] \
@@ -1348,7 +1349,7 @@ test cmdAH-25.2.1 {Tcl_FileObjCmd: owned} -constraints unix -setup {
test cmdAH-25.3 {Tcl_FileObjCmd: owned} {unix notRoot} {
file owned /
} 0
test cmdAH-25.3.1 {Tcl_FileObjCmd: owned} -constraints win -body {
test cmdAH-25.3.1 {Tcl_FileObjCmd: owned} -constraints {win notWine} -body {
if {[info exists env(SystemRoot)]} {
file owned $env(SystemRoot)
} else {
@@ -1538,7 +1539,7 @@ test cmdAH-29.4 {Tcl_FileObjCmd: type} -constraints {unix} -setup {
} -cleanup {
file delete $linkfile
} -result link
test cmdAH-29.4.1 {Tcl_FileObjCmd: type} -constraints {linkDirectory} -setup {
test cmdAH-29.4.1 {Tcl_FileObjCmd: type} -constraints {linkDirectory notWine} -setup {
set tempdir [makeDirectory temp]
} -body {
set linkdir [file join [temporaryDirectory] link.dir]
+1 -1
View File
@@ -514,7 +514,7 @@ test cmdIL-5.5 {lsort with list style index and sharing} -body {
foreach e $l {lappend n [list [expr {rand()}] $e]}
lindex [lsort -real -index $l $n] 1 1
}
expr srand(1)
expr {srand(1)}
test_lsort 0
} -result 0 -cleanup {
rename test_lsort ""
+3 -3
View File
@@ -578,13 +578,13 @@ test compExpr-old-15.3 {CompileMathFuncCall: too many arguments} -body {
test compExpr-old-15.4 {CompileMathFuncCall: ')' found before last required arg} -body {
catch {expr sin()} msg
set ::errorInfo
} -match glob -result {too few arguments for math function*
} -match glob -result {not enough arguments for math function*
while *ing
"expr sin()"}
test compExpr-old-15.5 {CompileMathFuncCall: too few arguments} -body {
test compExpr-old-15.5 {CompileMathFuncCall: not enough arguments} -body {
catch {expr pow(1)} msg
set ::errorInfo
} -match glob -result {too few arguments for math function*
} -match glob -result {not enough arguments for math function*
while *ing
"expr pow(1)"}
test compExpr-old-15.6 {CompileMathFuncCall: missing ')'} -body {
+40 -4
View File
@@ -308,16 +308,16 @@ test compExpr-4.9 {CompileCondExpr procedure, error in "false" clause} {
} {0 15}
test compExpr-5.1 {CompileMathFuncCall procedure, math function found} {
format %.6g [expr atan2(1.0, 2.0)]
format %.6g [expr {atan2(1.0, 2.0)}]
} 0.463648
test compExpr-5.2 {CompileMathFuncCall procedure, math function not found} -body {
expr {do_it()}
} -returnCodes error -match glob -result {* "*do_it"}
test compExpr-5.5 {CompileMathFuncCall procedure, too few arguments} -body {
test compExpr-5.5 {CompileMathFuncCall procedure, not enough arguments} -body {
expr {atan2(1.0)}
} -returnCodes error -match glob -result {too few arguments for math function*}
} -returnCodes error -match glob -result {not enough arguments for math function*}
test compExpr-5.6 {CompileMathFuncCall procedure, complex argument} {
format %.6g [expr pow(2.1, 27.5-(24.4*(5%2)))]
format %.6g [expr {pow(2.1, 27.5-(24.4*(5%2)))}]
} 9.97424
test compExpr-5.7 {CompileMathFuncCall procedure, error in argument} -body {
expr {sinh(2.*)}
@@ -371,10 +371,46 @@ test compExpr-7.2 {[Bug 1869989]: expr parser memleak} -constraints memory -setu
unset end i tmp
rename getbytes {}
} -result 0
proc extract {opcodes descriptor} {
set instructions [dict values [dict get $descriptor instructions]]
return [lmap i $instructions {
if {[lindex $i 0] in $opcodes} {string cat $i} else continue
}]
}
test compExpr-8.1 {TIP 582: expression comments} -setup {} -body {
extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
$abc
# + $def
+ $ghi
}}]
} -result {loadStk loadStk add}
test compExpr-8.2 {TIP 582: expression comments} -setup {} -body {
extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
$abc
# + $def
# + $ghi }}]
} -result loadStk
test compExpr-8.3 {TIP 582: expression comments} -setup {} -body {
extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
$abc
# + $def\
+ $ghi
}}]
} -result loadStk
test compExpr-8.4 {TIP 582: expression comments} -setup {} -body {
extract {loadStk add} [tcl::unsupported::getbytecode script {expr {
$abc
# + $def\\
+ $ghi
}}]
} -result {loadStk loadStk add}
# cleanup
catch {unset a}
catch {unset b}
catch {rename extract ""}
::tcltest::cleanupTests
return
+4 -4
View File
@@ -204,7 +204,7 @@ test compile-4.1 {TclCompileForCmd: command substituted test expression} {
set i 0
set j 0
# Should be "forever"
for {} [expr $i < 3] {} {
for {} [expr {$i < 3}] {} {
set j [incr i]
if {$j > 3} break
}
@@ -278,7 +278,7 @@ test compile-7.1 {TclCompileWhileCmd: command substituted test expression} {
set i 0
set j 0
# Should be "forever"
while [expr $i < 3] {
while [expr {$i < 3}] {
set j [incr i]
if {$j > 3} break
}
@@ -337,7 +337,7 @@ test compile-11.6 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
apply {{} { set r [list foobar] ; incr}}
} -returnCodes error -result {wrong # args: should be "incr varName ?increment?"}
test compile-11.7 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
apply {{} { set r [list foobar] ; expr !a }}
apply {{} { set r [list foobar] ; expr [concat !a] }}
} -returnCodes error -match glob -result *
test compile-11.8 {Tcl_Append*: ensure Tcl_ResetResult is used properly} -body {
apply {{} { set r [list foobar] ; expr {!a} }}
@@ -566,7 +566,7 @@ test compile-15.5 {proper TCL_RETURN code from [return]} {
# Do all tests once byte compiled and once with direct string evaluation
foreach noComp {0 1} {
if $noComp {
if {$noComp} {
interp alias {} run {} testevalex
set constraints testevalex
} else {
+3 -1
View File
@@ -104,7 +104,9 @@ variable keep {
SHLIB_PATH SYSTEMDRIVE SYSTEMROOT DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH
DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING
__CF_USER_TEXT_ENCODING SECURITYSESSIONID LANG WINDIR TERM
CommonProgramFiles ProgramFiles CommonProgramW6432 ProgramW6432
CommonProgramFiles CommonProgramFiles(x86) ProgramFiles
ProgramFiles(x86) CommonProgramW6432 ProgramW6432
WINECONFIGDIR WINEDATADIR WINEDLLDIR0 WINEHOMEDIR
}
variable printenvScript [makeFile [string map [list @keep@ [list $keep]] {
+15 -15
View File
@@ -821,49 +821,49 @@ test execute-7.10 {Wide int handling in INST_MOD} {
expr {((wide(1)<<60)-1) % 0x400000000}
} 17179869183
test execute-7.11 {Wide int handling in INST_LSHIFT} {
expr wide(42)<<30
expr {wide(42) << 30}
} 45097156608
test execute-7.12 {Wide int handling in INST_LSHIFT} {
expr 12345678901<<3
expr {12345678901 << 3}
} 98765431208
test execute-7.13 {Wide int handling in INST_RSHIFT} {
expr 0x543210febcda9876>>7
expr {0x543210febcda9876 >> 7}
} 47397893236700464
test execute-7.14 {Wide int handling in INST_RSHIFT} {
expr wide(0x9876543210febcda)>>7
expr {wide(0x9876543210febcda) >> 7}
} -58286587177206407
test execute-7.15 {Wide int handling in INST_BITOR} {
expr wide(0x9876543210febcda) | 0x543210febcda9876
expr {wide(0x9876543210febcda) | 0x543210febcda9876}
} -2560765885044310786
test execute-7.16 {Wide int handling in INST_BITXOR} {
expr wide(0x9876543210febcda) ^ 0x543210febcda9876
expr {wide(0x9876543210febcda) ^ 0x543210febcda9876}
} -3727778945703861076
test execute-7.17 {Wide int handling in INST_BITAND} {
expr wide(0x9876543210febcda) & 0x543210febcda9876
expr {wide(0x9876543210febcda) & 0x543210febcda9876}
} 1167013060659550290
test execute-7.18 {Wide int handling in INST_ADD} {
expr wide(0x7fffffff)+wide(0x7fffffff)
expr {wide(0x7fffffff) + wide(0x7fffffff)}
} 4294967294
test execute-7.19 {Wide int handling in INST_ADD} {
expr 0x7fffffff+wide(0x7fffffff)
expr {0x7fffffff + wide(0x7fffffff)}
} 4294967294
test execute-7.20 {Wide int handling in INST_ADD} {
expr wide(0x7fffffff)+0x7fffffff
expr {wide(0x7fffffff) + 0x7fffffff}
} 4294967294
test execute-7.21 {Wide int handling in INST_ADD} {
expr double(0x7fffffff)+wide(0x7fffffff)
expr {double(0x7fffffff) + wide(0x7fffffff)}
} 4294967294.0
test execute-7.22 {Wide int handling in INST_ADD} {
expr wide(0x7fffffff)+double(0x7fffffff)
expr {wide(0x7fffffff) + double(0x7fffffff)}
} 4294967294.0
test execute-7.23 {Wide int handling in INST_SUB} {
expr 0x123456789a-0x20406080a
expr {0x123456789a - 0x20406080a}
} 69530054800
test execute-7.24 {Wide int handling in INST_MULT} {
expr 0x123456789a*193
expr {0x123456789a * 193}
} 15090186251290
test execute-7.25 {Wide int handling in INST_DIV} {
expr 0x123456789a/193
expr {0x123456789a / 193}
} 405116546
test execute-7.26 {Wide int handling in INST_UPLUS} {
set x 0x123456871234568
+5 -5
View File
@@ -524,7 +524,7 @@ test expr-old-26.10b {error conditions} ieeeFloatingPoint {
list [catch {expr 2.0/0.0} msg] $msg
} {0 Inf}
test expr-old-26.11 {error conditions} -body {
expr 2#
expr 2`
} -returnCodes error -match glob -result *
test expr-old-26.12 {error conditions} -body {
expr a.b
@@ -852,7 +852,7 @@ test expr-old-32.46 {math functions in expressions} -body {
} -match glob -result {1 {too many arguments for math function*}}
test expr-old-32.47 {math functions in expressions} -body {
list [catch {expr srand()} msg] $msg
} -match glob -result {1 {too few arguments for math function*}}
} -match glob -result {1 {not enough arguments for math function*}}
test expr-old-32.48 {math functions in expressions} -body {
expr srand(3.79)
} -returnCodes error -match glob -result *
@@ -909,7 +909,7 @@ test expr-old-34.6 {errors in math functions} -body {
} -returnCodes error -match glob -result *
test expr-old-34.7 {errors in math functions} -body {
list [catch {expr hypot(1.0)} msg] $msg
} -match glob -result {1 {too few arguments for math function*}}
} -match glob -result {1 {not enough arguments for math function*}}
test expr-old-34.8 {errors in math functions} -body {
list [catch {expr hypot(1.0, 2.0, 3.0)} msg] $msg
} -match glob -result {1 {too many arguments for math function*}}
@@ -1150,7 +1150,7 @@ test expr-old-40.2 {min math function} -body {
} -result 0.0
test expr-old-40.3 {min math function} -body {
expr {min()}
} -returnCodes error -result {too few arguments for math function "min"}
} -returnCodes error -result {not enough arguments for math function "min"}
test expr-old-40.4 {min math function} -body {
expr {min(wide(-1) << 30, 4.5, -10)}
} -result [expr {wide(-1) << 30}]
@@ -1175,7 +1175,7 @@ test expr-old-41.2 {max math function} -body {
} -result 0.0
test expr-old-41.3 {max math function} -body {
expr {max()}
} -returnCodes error -result {too few arguments for math function "max"}
} -returnCodes error -result {not enough arguments for math function "max"}
test expr-old-41.4 {max math function} -body {
expr {max(wide(1) << 30, 4.5, -10)}
} -result [expr {wide(1) << 30}]
+67 -6
View File
@@ -685,13 +685,13 @@ test expr-15.3 {CompileMathFuncCall: too many arguments} -body {
test expr-15.4 {CompileMathFuncCall: ')' found before last required arg} -body {
catch {expr sin()} msg
set ::errorInfo
} -match glob -result {too few arguments for math function*
} -match glob -result {not enough arguments for math function*
while *ing
"expr sin()"}
test expr-15.5 {CompileMathFuncCall: too few arguments} -body {
test expr-15.5 {CompileMathFuncCall: not enough arguments} -body {
catch {expr pow(1)} msg
set ::errorInfo
} -match glob -result {too few arguments for math function*
} -match glob -result {not enough arguments for math function*
while *ing
"expr pow(1)"}
test expr-15.6 {CompileMathFuncCall: missing ')'} -body {
@@ -7251,7 +7251,7 @@ test expr-52.1 {
foreach func {isfinite isinf isnan isnormal issubnormal} {
test expr-53.1.$func {float classification: basic arg handling} -body {
expr ${func}()
} -returnCodes error -result "too few arguments for math function \"$func\""
} -returnCodes error -result "not enough arguments for math function \"$func\""
test expr-53.2.$func {float classification: basic arg handling} -body {
expr ${func}(1,2)
} -returnCodes error -result "too many arguments for math function \"$func\""
@@ -7346,10 +7346,10 @@ test expr-59.12 {float classification: fpclassify} -returnCodes error -body {
test expr-60.1 {float classification: basic arg handling} -body {
expr isunordered()
} -returnCodes error -result {too few arguments for math function "isunordered"}
} -returnCodes error -result {not enough arguments for math function "isunordered"}
test expr-60.2 {float classification: basic arg handling} -body {
expr isunordered(1)
} -returnCodes error -result {too few arguments for math function "isunordered"}
} -returnCodes error -result {not enough arguments for math function "isunordered"}
test expr-60.3 {float classification: basic arg handling} -body {
expr {isunordered(1, 2, 3)}
} -returnCodes error -result {too many arguments for math function "isunordered"}
@@ -7384,6 +7384,67 @@ foreach v1 $values r1 $results {
}
}
unset -nocomplain values results ctr
test expr-62.1 {TIP 582: comments} -body {
expr {1 # + 2}
} -result 1
test expr-62.2 {TIP 582: comments} -body {
expr "1 #\n+ 2"
} -result 3
test expr-62.3 {TIP 582: comments} -setup {
set ctr 0
} -body {
expr {
# This is a demonstration of a comment
1 + 2 + 3
# and another comment
+ 4 + 5
# + [incr ctr]
+ [incr ctr]
}
} -result 16
# Buggy because line breaks aren't tracked inside expressions at all
test expr-62.4 {TIP 582: comments don't hide line breaks} -setup {
proc getline {} {
dict get [info frame -1] line
}
set base [getline]
} -constraints knownBug -body {
expr {
0
# a comment
+ [getline] - $base
}
} -cleanup {
rename getline ""
} -result 5
test expr-62.5 {TIP 582: comments don't splice tokens} {
set a False
expr {$a#don't splice
ne#don't splice
false}
} 1
test expr-62.6 {TIP 582: comments don't splice tokens} {
expr {0x2#don't splice
ne#don't splice
2}
} 1
test expr-62.7 {TIP 582: comments can go inside function calls} {
expr {max(1,# comment
2)}
} 2
test expr-62.8 {TIP 582: comments can go inside function calls} {
expr {max(1# comment
,2)}
} 2
test expr-62.9 {TIP 582: comments can go inside function calls} {
expr {max(# comment
1,2)}
} 2
test expr-62.10 {TIP 582: comments can go inside function calls} {
expr {max# comment
(1,2)}
} 2
# cleanup
unset -nocomplain a
+21 -20
View File
@@ -41,6 +41,7 @@ if {[testConstraint win]} {
testConstraint reg 1
}
}
testConstraint notWine [expr {$::tcl_platform(platform) ne "windows" || ![info exists ::env(TRAVIS_OS_NAME)] || ![string match linux $::env(TRAVIS_OS_NAME)]}]
set tmpspace /tmp;# default value
# Find a group that exists on this Unix system, or else skip tests that
@@ -416,7 +417,7 @@ test fCmd-5.4 {TclFileDeleteCmd: multiple files} -constraints notRoot -setup {
} -cleanup {cleanup} -result {1 1 1 0 0 0}
test fCmd-5.5 {TclFileDeleteCmd: stop at first error} -setup {
cleanup
} -constraints {notRoot unixOrWin} -body {
} -constraints {notRoot unixOrWin notWine} -body {
createfile tf1
createfile tf2
file mkdir td1
@@ -563,7 +564,7 @@ test fCmd-6.15 {CopyRenameOneFile: TclpRenameFile succeeds} -setup {
} -result 1
test fCmd-6.16 {CopyRenameOneFile: TclpCopyRenameOneFile fails} -setup {
cleanup
} -constraints {notRoot} -body {
} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2]
createfile [file join td1 td2 tf1]
file mkdir td2
@@ -572,12 +573,12 @@ test fCmd-6.16 {CopyRenameOneFile: TclpCopyRenameOneFile fails} -setup {
[subst {error renaming "td2" to "[file join td1 td2]": file *}]
test fCmd-6.17 {CopyRenameOneFile: errno == EINVAL} -setup {
cleanup
} -constraints {notRoot} -returnCodes error -body {
} -constraints {notRoot notWine} -returnCodes error -body {
file rename -force $root tf1
} -result [subst {error renaming "$root" to "tf1": trying to rename a volume or move a directory into itself}]
test fCmd-6.18 {CopyRenameOneFile: errno != EXDEV} -setup {
cleanup
} -constraints {notRoot} -body {
} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2]
createfile [file join td1 td2 tf1]
file mkdir td2
@@ -811,7 +812,7 @@ test fCmd-9.4.b {file rename: comprehensive: dir to new name} -setup {
} -result {{td3 td4} 1 0}
test fCmd-9.5 {file rename: comprehensive: file to self} -setup {
cleanup
} -constraints {notRoot testchmod} -body {
} -constraints {notRoot testchmod notWine} -body {
createfile tf1 tf1
createfile tf2 tf2
testchmod 0o444 tf2
@@ -841,7 +842,7 @@ test fCmd-9.6.b {file rename: comprehensive: dir to self} -setup {
} -result {{td1 td2} 1 0}
test fCmd-9.7 {file rename: comprehensive: file to existing file} -setup {
cleanup
} -constraints {notRoot testchmod} -body {
} -constraints {notRoot testchmod notWine} -body {
createfile tf1
createfile tf2
createfile tfs1
@@ -902,7 +903,7 @@ test fCmd-9.8 {file rename: comprehensive: dir to empty dir} -setup {
# Test can hit EEXIST or EBUSY, depending on underlying filesystem
test fCmd-9.9 {file rename: comprehensive: dir to non-empty dir} -setup {
cleanup
} -constraints {notRoot testchmod} -body {
} -constraints {notRoot testchmod notWine} -body {
file mkdir tds1
file mkdir tds2
file mkdir [file join tdd1 tds1 xxx]
@@ -966,14 +967,14 @@ test fCmd-9.12 {file rename: comprehensive: target exists} -setup {
# Test can hit EEXIST or EBUSY, depending on underlying filesystem
test fCmd-9.13 {file rename: comprehensive: can't overwrite target} -setup {
cleanup
} -constraints {notRoot} -body {
} -constraints {notRoot notWine} -body {
file mkdir [file join td1 td2] [file join td2 td1 td4]
file rename -force td1 td2
} -returnCodes error -match glob -result \
[subst {error renaming "td1" to "[file join td2 td1]": file *}]
test fCmd-9.14 {file rename: comprehensive: dir into self} -setup {
cleanup
} -constraints {notRoot} -body {
} -constraints {notRoot notWine} -body {
file mkdir td1
list [glob td*] [list [catch {file rename td1 td1} msg] $msg]
} -result [subst {td1 {1 {error renaming "td1" to "[file join td1 td1]": trying to rename a volume or move a directory into itself}}}]
@@ -1068,7 +1069,7 @@ test fCmd-10.3.1 {file copy: comprehensive: dir to new name} -setup {
} -result [list {td1 td2 td3 td4} [file join td3 tdx] [file join td4 tdy] 1 1]
test fCmd-10.4 {file copy: comprehensive: file to existing file} -setup {
cleanup
} -constraints {notRoot testchmod} -body {
} -constraints {notRoot testchmod notWine} -body {
createfile tf1
createfile tf2
createfile tfs1
@@ -2401,7 +2402,7 @@ test fCmd-28.10.1 {file link: linking to nonexistent path} -setup {
test fCmd-28.11 {file link: success with directory} -setup {
cd [temporaryDirectory]
file delete -force abc.link
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
} -cleanup {
cd [workingDirectory]
@@ -2409,7 +2410,7 @@ test fCmd-28.11 {file link: success with directory} -setup {
test fCmd-28.12 {file link: cd into a link} -setup {
cd [temporaryDirectory]
file delete -force abc.link
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
set orig [pwd]
cd abc.link
@@ -2435,7 +2436,7 @@ test fCmd-28.12 {file link: cd into a link} -setup {
file delete -force abc.link
cd [workingDirectory]
} -result ok
test fCmd-28.13 {file link} -constraints {linkDirectory} -setup {
test fCmd-28.13 {file link} -constraints {linkDirectory notWine} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
} -body {
@@ -2469,7 +2470,7 @@ test fCmd-28.15.1 {file link: copies link not dir} -setup {
test fCmd-28.15.2 {file link: copies link not dir} -setup {
cd [temporaryDirectory]
file delete -force abc.link
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
file copy abc.link abc2.link
list [file type abc2.link] [file tail [file link abc2.link]]
@@ -2490,7 +2491,7 @@ cd [workingDirectory]
test fCmd-28.16 {file link: glob inside link} -setup {
cd [temporaryDirectory]
file delete -force abc.link
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
file link abc.link abc.dir
lsort [glob -dir abc.link -tails *]
} -cleanup {
@@ -2500,13 +2501,13 @@ test fCmd-28.16 {file link: glob inside link} -setup {
test fCmd-28.17 {file link: glob -type l} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
glob -dir [pwd] -type l -tails abc*
} -cleanup {
file delete -force abc.link
cd [workingDirectory]
} -result {abc.link}
test fCmd-28.18 {file link: glob -type d} -constraints linkDirectory -setup {
test fCmd-28.18 {file link: glob -type d} -constraints {linkDirectory notWine} -setup {
cd [temporaryDirectory]
file link abc.link abc.dir
} -body {
@@ -2517,7 +2518,7 @@ test fCmd-28.18 {file link: glob -type d} -constraints linkDirectory -setup {
} -result [lsort [list abc.link abc.dir abc2.dir]]
test fCmd-28.19 {file link: relative paths} -setup {
cd [temporaryDirectory]
} -constraints {win linkDirectory} -body {
} -constraints {win linkDirectory notWine} -body {
file mkdir d1/d2/d3
file link d1/l2 d1/d2
} -cleanup {
@@ -2575,12 +2576,12 @@ test fCmd-30.1 {file writable on 'My Documents'} -setup {
} -constraints {win reg} -body {
file writable $mydocsname
} -result 1
test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {win} -body {
test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {win notWine} -body {
expr {[info exists env(USERPROFILE)]
&& [file exists $env(USERPROFILE)/NTUSER.DAT]
&& [file readable $env(USERPROFILE)/NTUSER.DAT]}
} -result {1}
test fCmd-30.3 {file readable on 'pagefile.sys'} -constraints {win} -body {
test fCmd-30.3 {file readable on 'pagefile.sys'} -constraints {win notWine} -body {
set r {}
if {[info exists env(SystemDrive)]} {
set path $env(SystemDrive)/pagefile.sys
+25 -18
View File
@@ -31,6 +31,7 @@ if {[testConstraint win]} {
testConstraint symbolicLinkFile 0
testConstraint sharedCdrive [expr {![catch {cd //[info hostname]/c}]}]
}
testConstraint notWine [expr {$::tcl_platform(platform) ne "windows" || ![info exists ::env(TRAVIS_OS_NAME)] || ![string match linux $::env(TRAVIS_OS_NAME)]}]
# This match compares the first two words of the result. If the wanted result
# is "equal", then this is successful if the words are equal. If the wanted
# result is "not equal", then this is successful if the words are different.
@@ -789,7 +790,7 @@ test filename-11.17 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.17.1 {Tcl_GlobCmd} {win} {
test filename-11.17.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -directory $globname *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -800,7 +801,7 @@ test filename-11.17.1 {Tcl_GlobCmd} {win} {
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.17.2 {Tcl_GlobCmd} -setup {
set dir [pwd]
} -constraints {notRoot linkDirectory} -body {
} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -813,7 +814,7 @@ test filename-11.17.2 {Tcl_GlobCmd} -setup {
# Simpler version of the above test to illustrate a given bug.
test filename-11.17.3 {Tcl_GlobCmd} -setup {
set dir [pwd]
} -constraints {notRoot linkDirectory} -body {
} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -828,7 +829,7 @@ test filename-11.17.3 {Tcl_GlobCmd} -setup {
# Make sure the bugfix isn't too simple. We don't want to break 'glob -type l'
test filename-11.17.4 {Tcl_GlobCmd} -setup {
set dir [pwd]
} -constraints {notRoot linkDirectory} -body {
} -constraints {notRoot linkDirectory notWine} -body {
cd $globname
file link -symbolic link a1
cd $dir
@@ -846,7 +847,7 @@ test filename-11.17.6 {Tcl_GlobCmd} {
[list "weird name.c" x,z1.c x1.c y1.c z1.c]]]
test filename-11.17.7 {Tcl_GlobCmd: broken link and glob -l} -setup {
set dir [pwd]
} -constraints {linkDirectory} -body {
} -constraints {linkDirectory notWine} -body {
cd $globname
file mkdir nonexistent
file link -symbolic link nonexistent
@@ -878,7 +879,7 @@ test filename-11.18 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.18.1 {Tcl_GlobCmd} {win} {
test filename-11.18.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -path $globname/ *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -895,7 +896,7 @@ test filename-11.19 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.19.1 {Tcl_GlobCmd} {win} {
test filename-11.19.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -join -path [string range $globname 0 5] * *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -904,7 +905,7 @@ test filename-11.19.1 {Tcl_GlobCmd} {win} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.20 {Tcl_GlobCmd} {
test filename-11.20 {Tcl_GlobCmd} notWine {
lsort [glob -type d -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
@@ -934,7 +935,7 @@ test filename-11.22 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.22.1 {Tcl_GlobCmd} {win} {
test filename-11.22.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -dir $globname *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -951,7 +952,7 @@ test filename-11.23 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.23.1 {Tcl_GlobCmd} {win} {
test filename-11.23.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -path $globname/ *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -968,7 +969,7 @@ test filename-11.24 {Tcl_GlobCmd} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.24.1 {Tcl_GlobCmd} {win} {
test filename-11.24.1 {Tcl_GlobCmd} {win notWine} {
lsort [glob -join -path [string range $globname 0 5] * *]
} [lsort [list [file join $globname a1] [file join $globname a2]\
[file join $globname .1]\
@@ -977,17 +978,17 @@ test filename-11.24.1 {Tcl_GlobCmd} {win} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-11.25 {Tcl_GlobCmd} {
test filename-11.25 {Tcl_GlobCmd} notWine {
lsort [glob -type d -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
[file join $globname a3]]]
test filename-11.25.1 {Tcl_GlobCmd} {
test filename-11.25.1 {Tcl_GlobCmd} notWine {
lsort [glob -type {d r} -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
[file join $globname a3]]]
test filename-11.25.2 {Tcl_GlobCmd} {
test filename-11.25.2 {Tcl_GlobCmd} notWine {
lsort [glob -type {d r w} -dir $globname *]
} [lsort [list [file join $globname a1]\
[file join $globname a2]\
@@ -1084,6 +1085,12 @@ test filename-11.48 {Tcl_GlobCmd} -returnCodes error -body {
test filename-11.49 {Tcl_GlobCmd} -returnCodes error -body {
glob -types abcde -path foo -join * *
} -result {bad argument to "-types": abcde}
test filename-11.50 {Tcl_GlobCmd} -returnCodes error -body {
glob -path hello -path salut *
} -result {"-path" may only be used once}
test filename-11.51 {Tcl_GlobCmd} -returnCodes error -body {
glob -dir hello -dir salut *
} -result {"-directory" may only be used once}
file rename $horribleglobname globTest
file delete -force $tildeglobname
@@ -1225,10 +1232,10 @@ test filename-14.5 {asterisks, question marks, and brackets} -setup {
test filename-14.7 {asterisks, question marks, and brackets} {unix} {
lsort [glob globTest/*]
} {globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.7.1 {asterisks, question marks, and brackets} {win} {
test filename-14.7.1 {asterisks, question marks, and brackets} {win notWine} {
lsort [glob globTest/*]
} {globTest/.1 globTest/a1 globTest/a2 globTest/a3 {globTest/weird name.c} globTest/x,z1.c globTest/x1.c globTest/y1.c globTest/z1.c}
test filename-14.9 {asterisks, question marks, and brackets} {unixOrWin} {
test filename-14.9 {asterisks, question marks, and brackets} {unixOrWin notWine} {
lsort [glob globTest/.*]
} {globTest/. globTest/.. globTest/.1}
test filename-14.11 {asterisks, question marks, and brackets} {unixOrWin} {
@@ -1237,7 +1244,7 @@ test filename-14.11 {asterisks, question marks, and brackets} {unixOrWin} {
test filename-14.13 {asterisks, question marks, and brackets} {unixOrWin} {
lsort [glob {globTest/[xyab]1.*}]
} {globTest/x1.c globTest/y1.c}
test filename-14.15 {asterisks, question marks, and brackets} {unixOrWin} {
test filename-14.15 {asterisks, question marks, and brackets} {unixOrWin notWine} {
lsort [glob globTest/*/]
} {globTest/a1/ globTest/a2/ globTest/a3/}
test filename-14.17 {asterisks, question marks, and brackets} -setup {
@@ -1277,7 +1284,7 @@ test filename-14.25 {type specific globbing} {unix} {
[file join $globname x,z1.c]\
[file join $globname x1.c]\
[file join $globname y1.c] [file join $globname z1.c]]]
test filename-14.25.1 {type specific globbing} {win} {
test filename-14.25.1 {type specific globbing} {win notWine} {
lsort [glob -dir globTest -types f *]
} [lsort [list \
[file join $globname .1]\
+7 -7
View File
@@ -22,23 +22,23 @@ if {"::tcltest" ni [namespace children]} {
catch {unset a i}
test for-old-1.1 {for tests} {
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
for {set i 1} {$i<6} {incr i} {
set a [concat $a $i]
}
set a
} {1 2 3 4 5}
test for-old-1.2 {for tests} {
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
if $i==4 continue
for {set i 1} {$i<6} {incr i} {
if {$i==4} continue
set a [concat $a $i]
}
set a
} {1 2 3 5}
test for-old-1.3 {for tests} {
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]} {
if $i==4 break
for {set i 1} {$i<6} {incr i} {
if {$i==4} break
set a [concat $a $i]
}
set a
@@ -55,12 +55,12 @@ test for-old-1.7 {for tests} {
} {wrong # args: should be "for start test next command"}
test for-old-1.8 {for tests} {
set a {xyz}
for {set i 1} {$i<6} {set i [expr $i+1]} {}
for {set i 1} {$i<6} {incr i} {}
set a
} xyz
test for-old-1.9 {for tests} {
set a {}
for {set i 1} {$i<6} {set i [expr $i+1]; if $i==4 break} {
for {set i 1} {$i<6} {incr i; if {$i==4} break} {
set a [concat $a $i]
}
set a

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