Compare commits

..
1821 Commits
Author SHA1 Message Date
dkf 8841ba90ee Use C enums instead of clusters of #defines 2021-04-17 23:26:50 +00:00
jan.nijtmans 8f67ae04ad Merge 8.6 2021-04-16 13:16:25 +00:00
jan.nijtmans baa813085d Document Tcl_GetMemoryInfo() and Tcl_MainEx()/Tcl_MainExW(). Backported from [063d44b0beea237e] (Thanks, Harald!) 2021-04-16 13:14:55 +00:00
jan.nijtmans e06feb86b1 Document Tcl_GetMemoryInfo(). Backported from [063d44b0beea237e] (Thanks, Harald!) 2021-04-16 12:58:47 +00:00
jan.nijtmans 3ec8472d74 Revert [e59df7e9a3]: after a better look, the original code respected the expectation better and doesn't force appendObjPtr to Unicode, so it was actually better 2021-04-15 12:43:36 +00:00
jan.nijtmans 8a0a2779c2 Merge 8.6 2021-04-15 09:09:19 +00:00
jan.nijtmans 1c6fae0193 Fix [85d1fa7d07]: Duplicate file extension check in [file executable] on Windows 2021-04-15 09:08:23 +00:00
jan.nijtmans 871fc208e1 Fix [85d1fa7d07]: Duplicate file extension check in [file executable] on Windows. It looks like checking for "ps1" is a mistake. 2021-04-15 09:06:13 +00:00
jan.nijtmans 374f5c6e1a Restore expectation of callers to Tcl_AppendObjToObj that the appendObj never shimmers 2021-04-15 06:37:56 +00:00
dgp fc702f65d2 merge 8.6 2021-04-14 19:19:44 +00:00
jan.nijtmans 60169c7187 Restore expectation for Tcl_AppendObjToObj() 2021-04-14 19:15:52 +00:00
dgp 9cb33ddcc5 merge 8.5; adapt fix for 8.6 2021-04-14 18:58:54 +00:00
dgp c942ef369b [26649439c7] EIAS bug in [concat] 2021-04-14 18:39:12 +00:00
dgp bf055cc0d8 Bug fix 2021-04-14 18:37:35 +00:00
dgp 32a76688f6 Test demonstrating bug [26649439c7]. 2021-04-14 18:23:07 +00:00
jan.nijtmans ccfe3f47fd Complete fix for [7f1162a867]. Re-enable compilation of "string cat" (TclCompileStringCatCmd), since it now works again. 2021-04-14 08:14:23 +00:00
pooryorick c993263332 Remove unnecessary reference counting. 2021-04-13 22:44:04 +00:00
jan.nijtmans 28ddee7d18 Merge-mark 8.6. Missing/superflouous testConstraint 2021-04-13 13:48:53 +00:00
jan.nijtmans 0b6db319f0 Update to latest "rules.vc" 2021-04-13 13:44:33 +00:00
jan.nijtmans 845442b102 Merge 8.7 2021-04-13 11:51:58 +00:00
jan.nijtmans c89d776dce Fix testcase utf-1.18 2021-04-13 11:51:16 +00:00
jan.nijtmans 09b6123a09 Merge 8.6. More missing ::tcltest::loadTestedCommands 2021-04-13 10:16:31 +00:00
jan.nijtmans 06464aa3be Missing ::tcltest::loadTestedCommands 2021-04-13 10:01:37 +00:00
jan.nijtmans f23820c00b Missing ::tcltest::loadTestedCommands 2021-04-13 09:13:58 +00:00
jan.nijtmans 87508b74e0 missing constraint 2021-04-13 08:20:54 +00:00
jan.nijtmans 16ddac314c eol-spacing 2021-04-13 08:15:50 +00:00
jan.nijtmans 9f61e10cf9 Unbreak build 2021-04-13 08:05:45 +00:00
dkf a396843006 Zero out memory allocated on stack 2021-04-12 19:12:29 +00:00
jan.nijtmans c614920819 Fix [f566e1c817]: macOS: -DTCL_NO_DEPRECATED 2021-04-12 15:33:08 +00:00
jan.nijtmans 051a1473cb Merge-mark 2021-04-12 10:06:11 +00:00
jan.nijtmans 571eeda5cf Merge 8.5 2021-04-12 10:05:31 +00:00
jan.nijtmans cf9fc355f8 Backport utf testcase tweaks from 8.7. No change for ucs-2 2021-04-12 10:04:46 +00:00
jan.nijtmans 7deb6f2082 Fix [7f1162a867]. Don't compile "string cat" any more, since there still is a bug in it, demonstrated by utf-1.18 testcase 2021-04-12 09:26:27 +00:00
jan.nijtmans b1e4f0fa23 Merge 8.7 2021-04-09 15:35:17 +00:00
jan.nijtmans c318d73bd3 Document that Tcl 8.7 no longer uses a (modified) CESU-8 as internal format, but a (modified) WTF-8. 2021-04-09 15:32:25 +00:00
jan.nijtmans 459073607d Fix TclStringCat() functions. This makes allmost all testcases pass, one left to go: utf-1.18 2021-04-09 13:01:19 +00:00
jan.nijtmans 0d7132ebb2 Rename macro to ISCONTINUATION() 2021-04-09 10:57:36 +00:00
jan.nijtmans 2e06c053b4 new macro ISCONTBYTEORLOWERSURROGATE() 2021-04-09 09:14:10 +00:00
jan.nijtmans 4f93205802 Fix append-3.4, append-3.7 and utf-1.18 testcases 2021-04-09 07:33:40 +00:00
jan.nijtmans 023286a7fd Merge 8.7 2021-04-09 06:37:14 +00:00
jan.nijtmans 7bb103b64e More test-cases, involving \xC0 \x80 2021-04-09 06:36:45 +00:00
jan.nijtmans 3ed1f7b055 Remove TclpCreateFileHandler/TclpDeleteFileHandler on windows. The linker should complain when even trying to create something calling those functions. 2021-04-08 12:29:49 +00:00
jan.nijtmans 67e4ed2290 TIP #598: export TclWinConvertError 2021-04-08 12:22:16 +00:00
jan.nijtmans e287e35105 Fix compiler warning when using select notifier 2021-04-08 11:36:19 +00:00
jan.nijtmans 0b8bd54063 Merge 8.6 2021-04-08 08:47:18 +00:00
jan.nijtmans a463bf5525 Backport dde 1.4.4 from Tcl 8.7. Doesn't conflict with installed Tcl 9.0 version of dde any more.
(don't bother doing this for the "registry" extension, because the Tcl 8.7+ version installs in a different directory)
2021-04-08 08:45:12 +00:00
jan.nijtmans 6c72d33ef1 Make "registry" and "dde" dll's for 8.x and 9.0 installable in the same directory. See TIP #595 2021-04-08 07:56:45 +00:00
jan.nijtmans ee577ebd90 There is no "eq" command any more 2021-04-07 12:38:56 +00:00
jan.nijtmans 2b508d7964 Merge fork 2021-04-07 12:30:56 +00:00
jan.nijtmans 0dcddf9cf0 More test-cases showing the bug 2021-04-07 12:30:33 +00:00
jan.nijtmans 79fd04384a A few more Package -> Library renamings (testcases only) 2021-04-07 11:50:03 +00:00
jan.nijtmans 6792b8a53c A few missing renamings 2021-04-07 10:44:29 +00:00
jan.nijtmans 06813163a8 TIP #595 (for Tcl 8.7) part 1: just rename Tcl_StaticPackage to Tcl_StaticLibrary, Tcl_PackageInitProc to Tcl_LibraryInitProc and Tcl_PackageUnloadProc to Tcl_LibraryUnloadProc. Adapt documentation, mentioning that the old names are now deprecated. 2021-04-07 09:55:24 +00:00
jan.nijtmans a1ab68d1ea Revert previous commit, and add comments why it's wrong. 2021-04-07 09:01:55 +00:00
pooryorick 83025a44e0 Replace simple refCount decrement with the proper decrementing function. 2021-04-05 21:07:00 +00:00
jan.nijtmans 85d1500c50 tclZipfs.c:1857:33: warning: request for implicit conversion from ‘void *’ to ‘char *’ not permitted in C++ [-Wc++-compat] 2021-04-05 17:58:13 +00:00
jan.nijtmans 15b5f31caf Rename exported symbol "Tcl_StaticPackage" to "Tcl_StaticLibrary". Still undocumented, to be formalized by TIP #595. Tcl_StaticPackage() still works the same 2021-04-04 16:56:26 +00:00
jan.nijtmans 226bb13f4e Fix [https://github.com/tcltk/tcl/runs/2263266926|failing test-cases] with --enable-symbols=mem build by reverting the series of commits that caused the memory-leak 2021-04-04 14:31:43 +00:00
pooryorick 7f4cc308f3 Update code comments. 2021-04-03 17:58:03 +00:00
pooryorick 42c960506d Changes to code comments. 2021-04-03 13:20:14 +00:00
pooryorick 970479b4ee When a namesapce is deleted delete all namespaces under it before making any
modifictions to it.
2021-04-03 12:48:54 +00:00
pooryorick 55f8e3ac01 Remove suspected inadvertent copypasta from test. 2021-04-03 12:36:10 +00:00
pooryorick c494f8045e Use TclCleanupCommandMacro instead of just decrementing the reference count. 2021-04-03 12:33:58 +00:00
pooryorick 756e0c234a OO cleanup fix that passes test 11.7. 2021-04-03 12:33:00 +00:00
pooryorick 1c4c352fe9 New test for OO cleanup: routine for object gets deleted before namespace deletion
is complete.
2021-04-03 12:17:40 +00:00
dkf 743881d3ce Clean up the notifier code to not spread the hooks quite so widely 2021-04-03 11:09:47 +00:00
dkf 3628bed3ba Don't do double definition; code was moved to tclInt.h previously. 2021-04-02 18:41:36 +00:00
jan.nijtmans d1bd0f28ef Merge 8.6 2021-04-01 10:19:56 +00:00
jan.nijtmans e5991250e0 Follow-up to [15c7b4f93e]: "Implement TCL_ENCODING_STOPONERROR flag for UtfToUtf encoder/decoder". Only do this check when pureNullMode == 0, otherwise we violate EIAS. 2021-04-01 09:47:33 +00:00
dkf 55bb44b8be Forgot a place to #ifndef out 2021-04-01 08:18:38 +00:00
dkf 5ca6887e66 Don't define Tcl_CreateFileHandler or Tcl_DeleteFileHandler on Windows. 2021-03-31 10:45:40 +00:00
dkf 4c25696376 merge core-8-branch 2021-03-31 10:38:25 +00:00
jan.nijtmans 9406745440 Add 3 undocumented #defines. To be formalized by TIP #595 (currently being voted on) 2021-03-31 10:09:32 +00:00
jan.nijtmans 9b5af56932 RFE 4b4830eb54: reflected channel truncate method 2021-03-30 16:30:31 +00:00
dkf 107f7173d2 Improve documentation for exec and open, especially in relation to binary pipelines 2021-03-30 10:17:09 +00:00
dkf 73953be8b1 Improve documentation for exec and open, especially in relation to binary pipelines 2021-03-30 10:14:20 +00:00
dkf 63f4be3aa2 Improve documentation for exec and open, especially in relation to binary pipelines 2021-03-30 09:03:19 +00:00
dkf 2dab8fa488 Refactoring, ahoy 2021-03-30 08:22:26 +00:00
jan.nijtmans 1f1f43fcd2 Thanks to TIP #587, convert many escapes in the testcases into the actual (UTF-8) character. 2021-03-30 07:11:18 +00:00
jan.nijtmans c8617b374b merge-mark 2021-03-30 06:12:18 +00:00
jan.nijtmans 9eb5b14a3c remove useless save/restore 2021-03-30 06:10:23 +00:00
jan.nijtmans 79b9ab1039 Change TCL_ENCODING_EXTERNAL flag into TCL_ENCODING_MODIFIED, but with opposite meaning. Simplify code. 2021-03-28 20:09:51 +00:00
jan.nijtmans 6c6a470c2b Rename MODULESCOPE TclGetLoadedPackagesEx() to TclGetLoadedLibraries() 2021-03-22 17:07:01 +00:00
jan.nijtmans 3b6d7d6119 merge-mark 2021-03-22 10:08:10 +00:00
jan.nijtmans 0f632bd1c5 Merge 8.5 2021-03-22 10:06:36 +00:00
jan.nijtmans d63f456a83 Fix incorrect comment: underscore ('_') is allowed in a packageName 2021-03-22 10:04:12 +00:00
jan.nijtmans 9e6945739a Rename internal variables, making it more clear that tclLoad.c is not part of Tcl's "package" mechanism. 2021-03-22 10:00:06 +00:00
dkf c49b98fa6b Start of doing a clean up of the notifier code.
This originated as trying to stop macOS builds from doing silly warnings during
a static build, but I noticed that there were common patterns that belong in
generic code instead of being repeated in each of the platform-specific pieces.
2021-03-21 13:07:15 +00:00
jan.nijtmans 8a9eba41a2 merge-mark 2021-03-21 09:30:06 +00:00
jan.nijtmans dd9f3c1246 Implement TCL_ENCODING_STOPONERROR flag for UtfToUtf encoder/decoder. Backported from 8.7 2021-03-21 09:27:07 +00:00
jan.nijtmans 4e90ccc6db Fix [0221b993a1]: Tcl command [update idletasks] doesn't skip main loop in Tcl_DoOneEvent 2021-03-19 14:55:25 +00:00
jan.nijtmans d5479489aa Fully implement TCL_ENCODING_STOPONERROR flag for Utf2Utf encoder/decoder. 2021-03-19 12:58:41 +00:00
jan.nijtmans c39345b47a Merge 8.6 2021-03-19 10:49:13 +00:00
jan.nijtmans fff5060d94 Change Tcl_StaticPackage's "pkgName" argument to "prefix" and improve documentation, describing better what this argument does. 2021-03-19 09:20:26 +00:00
dkf f2cb38dda9 Handle the encoding of filenames in ZIPs correctly. (This is awful. The awful isn't Tcl's fault. Terrible spec...) 2021-03-18 21:35:09 +00:00
dkf e6d6e2962d Delete some useless code. Was only place where we fed an uncontrolled value to %f, and it was actually a conversion we didn't need to do at all. 2021-03-18 21:17:46 +00:00
jan.nijtmans 80af639d39 Merge 8.6 2021-03-18 14:49:01 +00:00
jan.nijtmans 8390478dbf Fix [8663689908]. Final documentation fix, implementation was already fixed earlier. 2021-03-18 14:46:57 +00:00
jan.nijtmans 2b7eb65f53 Suggested fix for [0221b993a1]: Tcl command [update idletasks] doesn't skip main loop in Tcl_DoOneEvent 2021-03-18 13:20:47 +00:00
jan.nijtmans 260c7e595a Merge 8.6 2021-03-18 12:07:38 +00:00
jan.nijtmans a3ae9d7e57 Fix [2860859e84]: Misleading description in README file 2021-03-18 12:05:56 +00:00
jan.nijtmans 8df980fc3e Merge 8.6 2021-03-18 09:51:49 +00:00
jan.nijtmans 3aa4b20ea8 Remove incorrect/useless comment 2021-03-18 09:36:27 +00:00
jan.nijtmans 6da553ec22 Proposed implementation of RFE [4b4830eb54] 2021-03-18 09:26:03 +00:00
jan.nijtmans c84e03a7a8 More simplification of UtfToUtfProc(). Get rid of wrapper functions UtfIntToUtfExtProc/UtfExtToUtfIntProc. This can be handled by additional flags. 2021-03-18 09:12:18 +00:00
jan.nijtmans 4b3814f752 Simplify UtfToUtfProc() and UtfToUtf16Proc(): Using TclUtfToUCS4() internally means that we don't have to keep track of internal state any more (Tcl_EncodingState)
Also, add (HMODULE) cast (back) in tclZipfs.c
2021-03-17 15:01:54 +00:00
jan.nijtmans 15849c859a Fix MSVC build 2021-03-17 08:50:28 +00:00
dkf 90040e0573 More cleaning up of zipfs
Don't put straight binary data in a Tcl string, and other better API uses.
2021-03-16 20:45:39 +00:00
jan.nijtmans 0013597b33 Fix gcc warnings 2021-03-16 09:16:39 +00:00
jan.nijtmans c54d29df06 Tweak usage of TCL_NO_DEPRECATED 2021-03-15 13:17:54 +00:00
jan.nijtmans 6e657cfb83 Implement TIP #575: Switchable Tcl_UtfCharComplete()/Tcl_UtfNext()/Tcl_UtfPrev() 2021-03-15 11:52:09 +00:00
dkf 57bf9fe12f More refactoring to reduce the choked-up complexity of tclZipfs.c 2021-03-15 09:52:02 +00:00
dkf 1f2858fefd Flipped a test 2021-03-14 20:53:39 +00:00
jan.nijtmans 2d6586915f merge-mark 2021-03-14 18:28:47 +00:00
jan.nijtmans a132514652 Merge 8.5 2021-03-14 16:13:44 +00:00
jan.nijtmans b0e0d4b618 Document that Tcl_UtfCharComplete() can (now) be used to protect Tcl_UtfNext() calls against overflow, if the string being handled is not NULL-terminated. 2021-03-14 16:12:25 +00:00
dkf 58fb98d8a9 More on making tclZipfs.c comprehensible. Refactoring to the rescue! 2021-03-14 15:26:44 +00:00
jan.nijtmans be3426d527 merge-mark 2021-03-11 12:20:11 +00:00
jan.nijtmans 2ea2ef0609 Backport Tcl_UtfCharComplete() functionality from 8.6 for TCL_UTF_MAX>3. This makes Tcl_UtfCharComplete() usable to protect Tcl_UtfNext() calls for overflow. No change for TCL_UTF_MAX=3 (default build) 2021-03-11 12:19:14 +00:00
jan.nijtmans d0443e229f Merge 8.6 2021-03-10 16:16:08 +00:00
jan.nijtmans f223db50fd Repair Tcl_UniCharNcasecmp() in the same way as Tcl_UniCharNcmp() for fix [4c591fa487]. Also put back minor optimization for big-endian machines removed in the previous commit 2021-03-10 16:12:01 +00:00
jan.nijtmans 07c6dc0d49 Merge 8.6 2021-03-10 15:47:34 +00:00
jan.nijtmans 0834bb4547 Fix [4c591fa487]: [string compare] EIAS violation 2021-03-10 15:39:15 +00:00
jan.nijtmans 50b24193de Compatibility tweak wrt 8.6 2021-03-09 15:38:06 +00:00
jan.nijtmans a2b56f4c74 TclWinConvertError -> Tcl_WinConvertError 2021-03-09 15:28:40 +00:00
jan.nijtmans 0255b9c343 Merge 8.7 2021-03-09 15:13:08 +00:00
jan.nijtmans 764ef9b409 Merge 8.6 2021-03-09 09:19:25 +00:00
jan.nijtmans 8aca3246ab Fix [8419c55e2c]: Tclsh read loop does not handle EINTR 2021-03-09 09:14:04 +00:00
jan.nijtmans c197ddb3b2 Merge 8.6. Remove end-of-line spacing 2021-03-09 08:37:47 +00:00
jan.nijtmans 3b584dd13f Remove end-of-line spacing 2021-03-09 08:36:11 +00:00
dkf 25bbbbf3ee Fix SEGV in zipfs mounting, and try to make that code more comprehensible 2021-03-08 16:53:51 +00:00
dkf b9bc37e2b8 Added some tests for [zipfs lmkimg] 2021-03-07 18:42:27 +00:00
dkf a1d8e47ea7 Document that [zipfs mkimg] strips an existing ZIP. We ought to merge instead, but we don't yet. 2021-03-06 16:28:43 +00:00
jan.nijtmans dd7f073e8b Merge 8.6 2021-03-04 16:10:29 +00:00
jan.nijtmans a085ffdd43 In man2html, use consistant color-names (6-char, uppercase), encoding (utf-8) and translation (lf) independant from platform 2021-03-04 15:53:15 +00:00
jan.nijtmans 063e006111 Merge 8.6 2021-03-04 10:36:23 +00:00
jan.nijtmans 19bfe564de Merge 8.5. Add unused stub table entries 2021-03-04 10:22:40 +00:00
jan.nijtmans 3f89004e37 Add some more unused entries to the stub table, keeping up with the table size increase of higher Tcl versions 2021-03-04 09:53:10 +00:00
jan.nijtmans bebf0454f6 cleanup genStubs.tcl, e.g. "==" -> "eq" and "!=" -> "ne". No change in output 2021-03-04 09:42:47 +00:00
jan.nijtmans 4355668c80 Merge 8.6. Basically re-number testcases so they align with the 8.6 test-cases 2021-03-03 15:06:08 +00:00
jan.nijtmans 5a2a021cd4 Merge 8.5. Just split some testcases 2021-03-03 14:44:03 +00:00
jan.nijtmans 6433d6a30b Backport improvements in UTF-8 handling for Tcl_UtfPrev/Tcl_UtfNext from 8.7 (through 8.6). No change for TCL_UTF_MAX=3. Adapt test-cases accordingly 2021-03-03 14:31:37 +00:00
jan.nijtmans ae9d23eae8 Merge 8.6 2021-03-02 10:59:25 +00:00
jan.nijtmans 773a30a541 Using 0xFC00 is more readable here than ~0x3FF. It's sufficient becauwe ch1 and ch2 are only 16-bit. Backported from 8.7 2021-03-02 10:53:30 +00:00
jan.nijtmans 895a4597bc Merge 8.6 2021-03-02 10:38:36 +00:00
jan.nijtmans b697c844ad Backport some UTF-8-related changed from 8.7 to 8.6, only for TCL_UTF_MAX > 3. No change for TCL_UTF_MAX=3.
Also adapt test-cases accordingly, and add comments why the changes were done.
2021-03-02 10:10:54 +00:00
oehhar 7c54d7ca1d Ticket [87082587c4]: typo in msgcat man page 2021-02-27 11:21:34 +00:00
oehhar 1ac55b7d3f Ticket [87082587c4]: typo in msgcat man page 2021-02-27 11:19:28 +00:00
jan.nijtmans 6293939296 Further internal variable upgrade from long -> size_t 2021-02-26 14:52:14 +00:00
jan.nijtmans a97e3eef6d Increase some (internal) variables from int/long to long/size_t. On the way to allow bigger blocks in the threaded allocator 2021-02-26 13:18:50 +00:00
jan.nijtmans d134d35fef Fix "make checkstubs": A few more MODULE_SCOPE libtommath functions 2021-02-24 11:56:53 +00:00
jan.nijtmans e5153a8d0c Fix typo, eliminate type-cast 2021-02-24 08:58:15 +00:00
jan.nijtmans 5c8ce61f79 Merge 8.6. Fix Cygwin compile 2021-02-23 13:30:01 +00:00
jan.nijtmans 4723df2a35 Merge 8.5 2021-02-23 13:03:28 +00:00
jan.nijtmans c0f6db4b81 Revise buffer-sizes used in GetModuleFileNameW() calls. Available buffer-size reported to GetModuleFileNameW() was not always accurate 2021-02-23 12:34:58 +00:00
jan.nijtmans 06ea55d820 Simplify implementation on Cygwin: No need to use CFG_RUNTIME_BINDIR any more 2021-02-23 10:08:46 +00:00
jan.nijtmans eb9f949b2c Merge 8.6 2021-02-23 07:39:34 +00:00
jan.nijtmans 8242d1a544 Use _wgetenv() in stead of getenv() on Windows: The wide environment is not always well-synchonized with the locale environment. Problem detected on the sebres-8-6-clock-speedup-cr2, but this branch only exposed the bug, it did not cause it. 2021-02-23 07:23:29 +00:00
jan.nijtmans e3afa12420 Merge 8.6 2021-02-19 07:20:52 +00:00
jan.nijtmans 7bfe776283 Fix [7c64aa5e1a]: Another uninitialized-variable bug in BRE-mode parsing. Thanks to Tom Lane for the bug-report and the fix 2021-02-19 07:20:06 +00:00
jan.nijtmans bdd6e3f4df Fix [7c64aa5e1a]: Another uninitialized-variable bug in BRE-mode parsing. Thanks to Tom Lane for the bug-report and the fix. 2021-02-19 07:18:13 +00:00
jan.nijtmans 185b0d1493 Merge 8.7 2021-02-18 12:35:44 +00:00
jan.nijtmans 345894cae9 Protect "interp limit" command better for allowed range in -millis and -seconds values 2021-02-18 12:01:44 +00:00
jan.nijtmans f4032799de Merge 8.6 2021-02-18 08:46:21 +00:00
jan.nijtmans 957890bf54 Two new testcases for abs() 2021-02-18 08:32:28 +00:00
jan.nijtmans f2c4a32d7f Performance optimization in TzsetIfNecessary() function. Cherry-picked from sebres-8-6-clock-speedup-cr2 branch 2021-02-18 07:55:08 +00:00
jan.nijtmans cf0af45b5a merge-mark 2021-02-17 18:51:12 +00:00
jan.nijtmans 042e9a4f8a Backport 3 additional test-cases from 8.6 for TCL_UTF_MAX>3 2021-02-17 18:48:47 +00:00
jan.nijtmans 28d58d74b0 Fix abs(-9223372036854775808) special-case on platforms where sizeof(Tcl_WideInt) > sizeof(int64_t). Theoretical, yes, but at least add a testcase for this (expr-38.14) 2021-02-17 16:16:19 +00:00
jan.nijtmans 6067ce5573 Fix compiler warning on non-intel CPU's 2021-02-17 15:44:24 +00:00
jan.nijtmans 39a8b9813a Multi-arch only works on MacOS-11 2021-02-17 13:07:18 +00:00
jan.nijtmans 467337387f Don't pack tcl_library/registry/pkgIndex in zip-file on UNIX 2021-02-17 09:41:46 +00:00
jan.nijtmans 6ee6cd1ae4 Fix "make dist" on UNIX, broken due to TIP #590 2021-02-17 08:50:17 +00:00
jan.nijtmans b3d34ad317 Another TIP #430 fix for cygwin: libtcl8.7.dll is installed in /usr/bin, not in /usr/lib as on other platforms 2021-02-17 08:35:44 +00:00
jan.nijtmans 499e962572 Don't try to use ln when creating libtcl.vfs on windows: It doesn't work for encodings or msg-files (anything on a deeper level) when zipping (at least not on cygwin) 2021-02-17 08:32:53 +00:00
jan.nijtmans 0b9b440ce0 Attempt to produce double-arch (x86_64 and arm) binary for MacOS 2021-02-16 13:59:08 +00:00
jan.nijtmans 8844e2789a Merge 8.7 2021-02-16 12:17:49 +00:00
jan.nijtmans 532506ea20 merge-mark 2021-02-16 12:10:00 +00:00
jan.nijtmans 5fd34b8806 Fix bug in previous commit: Don't update stringPtr->numChars when doing a "string reverse", because TclUtfToUCS4() doesn't count surrogate pairs as 2 2021-02-16 12:07:42 +00:00
jan.nijtmans bb836a3071 Merge 8.6 2021-02-16 12:00:21 +00:00
jan.nijtmans 999decddb3 Fix [22324bcbd]: string reverse is broken for Emoji. Thanks to Chrisian Werner for bug report and POC patch. 2021-02-16 11:11:23 +00:00
jan.nijtmans 3001f87063 Remove unnecessary end-of-line spacing in test-cases 2021-02-16 11:05:18 +00:00
jan.nijtmans 94c40f8b71 Merge 8.7 2021-02-16 09:11:54 +00:00
jan.nijtmans 635b0327a6 merge-mark 2021-02-16 09:03:59 +00:00
jan.nijtmans 4b639c1ec5 Fix Tcl_UtfPrev expected testcases for TCL_UTF_MAX>3 2021-02-16 09:00:14 +00:00
jan.nijtmans 5dc64243f3 Merge 8.6 2021-02-16 08:30:17 +00:00
jan.nijtmans d97e25b2ad Fix Tcl_UtfPrev for TCL_UTF_MAX>3, so it can jump back over Emoji. Backported from 8.7, no change for TCL_UTF_MAX=3.
This way, the previous fix can be slightly more simplified, and working for TCL_UTF_MAX>3 too.
2021-02-16 08:10:34 +00:00
culler 3eb07e538c Switch to version 1.3 of macher for the onefiledist 2021-02-15 17:06:47 +00:00
jan.nijtmans cb794e731c Merge 8.6 2021-02-15 16:20:40 +00:00
jan.nijtmans c6e348a28b Fix [d43f96c1a8]: string trimright is broken for Emoji 2021-02-15 16:13:15 +00:00
jan.nijtmans b4660a7ff9 Remove unused variable in win32 static build 2021-02-15 15:41:55 +00:00
jan.nijtmans 3bbf07a495 Merge 8.6 2021-02-15 12:42:09 +00:00
jan.nijtmans 13b1a0635f More testcases from Christian Werner, regarding "string reverse" with Emoji. Those testcases fail in all Tcl 8.6.x releases. 2021-02-15 12:35:33 +00:00
jan.nijtmans 90565904aa Merge 8.7 2021-02-15 12:08:17 +00:00
jan.nijtmans 73745cbfbf Enhance new testscases for compiled/interpreted mode 2021-02-15 08:18:22 +00:00
jan.nijtmans ab91723185 Add testcases from Christian Werner, regarding "string trim" with Emoji 2021-02-15 08:07:42 +00:00
jan.nijtmans 5eba4fa4d7 Add testcases, contributed by Christian Werner. Two of them fail, so still some work to do. [d43f96c1a8] 2021-02-15 07:48:54 +00:00
jan.nijtmans 0d7614dd81 Missing semicolon in UNIX Makefile 2021-02-15 07:47:33 +00:00
jan.nijtmans 6fcd32ac08 "macher" output should be executable 2021-02-15 07:31:08 +00:00
jan.nijtmans 73277b178e Use Marc Culler's "macher" utility for the onefiledist MacOSX builds. Only for non-framework builds. 2021-02-12 17:27:11 +00:00
culler 21d34a1956 The syntax error was caused by Aquamacs inserting tabs into the YAML file. 2021-02-12 14:57:10 +00:00
jan.nijtmans 7b662b613d Syntax error in yaml-file 2021-02-12 11:12:09 +00:00
jan.nijtmans 42e3415106 Fix warning about unused symbol on --disable-shared build 2021-02-12 08:21:46 +00:00
culler 840ba03059 macher 1.1 -> 1.2 (bug fixes) and account for new append syntax. 2021-02-12 01:46:21 +00:00
jan.nijtmans 89fa1f862f macher 1.0 -> 1.1 2021-02-11 17:19:38 +00:00
jan.nijtmans c1a56eb2d1 Experiment: Integrate culler's "macher" tool. Only for thin binaries 2021-02-11 16:30:11 +00:00
culler a4bf99fa2c Add CFLAGS to the github actions to build fat binaries on macOS. 2021-02-11 15:12:40 +00:00
jan.nijtmans dfd4a2e5c1 Missing #endif 2021-02-10 13:12:42 +00:00
jan.nijtmans c0cb466a86 Make TIP #430 work on cygwin. Simplify some makefiles 2021-02-10 12:56:47 +00:00
jan.nijtmans 24128f43df Backport win/rules.vc from 8.7 2021-02-10 10:44:52 +00:00
jan.nijtmans ea4e2c5432 Fix pkgconfig-1.1 testcase for static builds 2021-02-10 08:52:08 +00:00
jan.nijtmans d12eee4a39 Fix various aspects in TIP #430 implementation. Should now work for Tk too (together with some fixes in Tk). zip-file is no longer installed separately, but attached to either tclsh (in a static build) or libtcl8.7.so (in a shared build) 2021-02-10 08:25:56 +00:00
jan.nijtmans 2ba1ef3db1 In a static build, don't pack dde/registry in zip-file. In shared build, pack dde/registry dll's in zip-file. Rename zip-file 2021-02-10 08:11:29 +00:00
jan.nijtmans 6e603480b3 Only set dllfile,runtime key info when doing a shared build 2021-02-09 16:43:57 +00:00
jan.nijtmans aeeb808b30 ZIPFS_BUILD=1 only needs to be set once 2021-02-09 14:16:11 +00:00
jan.nijtmans 0043160893 Handle the situation that ::${basename}::pkgconfig does not have bindir/libdir,runtime keys: Either get those from Tcl, or from [info nameofexecutable] 2021-02-09 13:34:26 +00:00
jan.nijtmans af4a77f3e3 Change TCL_ZIP_FILE name, just using dots in stead of underscores 2021-02-09 12:07:09 +00:00
jan.nijtmans 5740a9e3d2 Add --disable-zipfs flag to GNUmakefile 2021-02-09 07:34:01 +00:00
jan.nijtmans ebf4c78ed8 Attempt to fix the last TIP #430 bits, needed to make it work for Tk (and other external packages) 2021-02-08 18:23:40 +00:00
jan.nijtmans 8395974e1b Merge-mark 2021-02-08 15:59:24 +00:00
jan.nijtmans 6f3b0bd108 Bugfix in TIP #430 implementation: tcl_findLibrary should use the same zip-file naming as the configure scripts do 2021-02-08 15:51:46 +00:00
jan.nijtmans b142586b21 Fix "auto.tcl" indenting 2021-02-08 15:25:55 +00:00
jan.nijtmans 32dc9b67a9 Merge 8.6 2021-02-08 10:46:58 +00:00
jan.nijtmans 6efc470726 Merge 8.5 2021-02-08 10:11:38 +00:00
jan.nijtmans fa2bb177eb Makefile cleanup: Remove *.zip and *.vfs files/directories as part of "make clean", which might be a leftover of a previous Tcl 8.7 build in this directory 2021-02-08 09:21:37 +00:00
jan.nijtmans 7104004d57 Merge 8.6 2021-02-05 13:45:51 +00:00
jan.nijtmans fed1ff66dc More implicit type-casts, for better compatibility with C++ 2021-02-05 13:42:40 +00:00
jan.nijtmans d9e28af5f3 Oops 2021-02-05 13:37:26 +00:00
jan.nijtmans 392c7ad8eb Merge 8.6 2021-02-05 11:36:49 +00:00
jan.nijtmans 3a18a03f3d Fix filename-11.45 testcase when there are multiple volumes: This testcase only works for the native file system, which is the lastt one. 2021-02-05 11:34:28 +00:00
jan.nijtmans c09ddd48e3 In a --disable-shared build, attach the zip-file to the executable, so "onfiledist.yml" doesn't need to do that any more 2021-02-04 13:11:37 +00:00
jan.nijtmans 0d69fc832e Fix [03b70c8918]: core-8-branch : trying to build on macOS10.9 linked against XQuartz 2021-02-04 11:11:34 +00:00
jan.nijtmans 6e97fd01b0 Merge 8.6 2021-02-02 08:50:55 +00:00
jan.nijtmans e2c482312c On Big Sur, distingish 11.0, 11.1 and 11.2. platform 1.0.16 -> 1.0.17 2021-02-02 08:46:12 +00:00
jan.nijtmans 00e0788723 On Big Sur, distingish 11.0, 11.1 and 11.2. platform 1.0.16 -> 1.0.17 2021-02-02 08:41:35 +00:00
jan.nijtmans 3aab127556 Undo previous change to unix/configure.ac: It doesn't work 2021-01-29 15:51:28 +00:00
jan.nijtmans 58625c6ba9 Undo previous change to unix/configure.in 2021-01-29 15:45:01 +00:00
jan.nijtmans 2cf339ce3b Merge 8.6 2021-01-29 14:02:43 +00:00
jan.nijtmans 57f9c7dae5 Fix 2 warnings when running "autoconf" (2.69 or 2.70) 2021-01-29 13:45:18 +00:00
jan.nijtmans f6c86d7972 re-generate unix/configure 2021-01-29 09:18:36 +00:00
jan.nijtmans 1fb596128b Fix [113be1991e]: zipfs on mac.
From now on, --enable-framework automatically means --disable-zipfs, since those 2 options can never work together.
2021-01-29 09:15:41 +00:00
jan.nijtmans 2cb77a221b Lowercase package names are recommended now 2021-01-28 15:54:53 +00:00
jan.nijtmans 33b2c94323 Merge 8.6 2021-01-28 11:08:46 +00:00
jan.nijtmans 8d49123e73 Use {} braces in more "expr" expressions. 2021-01-28 10:42:05 +00:00
jan.nijtmans 9c024d9d3b Use "in" operator in stead of "lsearch -exact" when possible 2021-01-28 10:38:44 +00:00
jan.nijtmans 82f2bed5fe Merge 8.6 2021-01-27 10:15:26 +00:00
jan.nijtmans 6b29884385 *.decls files are now in UTF-8. Use "in" operator in stead of "lsearch -exact". 2021-01-27 10:13:51 +00:00
jan.nijtmans 06f42e40b2 Merge 8.6 2021-01-27 09:35:07 +00:00
jan.nijtmans 2ff8145561 When generating stubs, always read *.decls and *Decls.h files in UTF-8. This corrects possible invalid UTF-8. 2021-01-27 09:32:44 +00:00
jan.nijtmans 581d7fccf5 Merge 8.6 2021-01-25 12:26:18 +00:00
jan.nijtmans 05b6284310 Update to tzdata 2021a 2021-01-25 12:25:20 +00:00
jan.nijtmans 2ee9e74ac6 Update to tzdata 2021a 2021-01-25 12:24:07 +00:00
jan.nijtmans ba3f00d403 Make Tcl_GetString() a macro calling Tcl_GetStringFromObj(). Just the same as Tcl_GetUnicode(). 2021-01-25 11:53:59 +00:00
jan.nijtmans f837b2ca92 Fix [f4b0cb2080] by only accepting new syntax when TCL_NO_DEPRECATED is defined 2021-01-25 10:26:22 +00:00
jan.nijtmans 6724e74377 Merge 8.6 2021-01-25 09:16:54 +00:00
jan.nijtmans 29c768d6c9 Merge 8.5 2021-01-25 09:05:45 +00:00
jan.nijtmans 458c3e9cc5 ERROR_ON_FAILURES=1, otherwise failing Linux tests don't result in a failing build 2021-01-25 08:42:27 +00:00
jan.nijtmans 31e49b4c7c Make sure MODULE_SCOPE is always defined correctly, for C++ compilers too 2021-01-25 08:27:22 +00:00
jan.nijtmans 298c9aa866 Fix [http://core.tcl.tk/tk/tktview?name=1712098|1712098]: Tk still needs Tcl source distro, by new export Tcl_MacOSXNotifierAddRunLoopMode() 2021-01-22 14:22:11 +00:00
jan.nijtmans 4612b57a1e Change exported symbol from TclMacOSXNotifierAddRunLoopMode -> Tcl_MacOSXNotifierAddRunLoopMode 2021-01-22 09:24:13 +00:00
jan.nijtmans b02ecd46ec Rebase to core-8-branch 2021-01-22 08:57:44 +00:00
jan.nijtmans f050bae793 Merge 8.6 2021-01-21 16:01:07 +00:00
jan.nijtmans b2cabbf79c Fix [8c025f8f0d]: Run-time error on tcl 8.6.11 32 bits (from cross-compile Centos6.9 64-bits) 2021-01-21 15:56:52 +00:00
jan.nijtmans 14ab9ebc55 Fix [8c025f8f0d]: Run-time error on tcl 8.6.11 32 bits (from cross-compile Centos6.9 64-bits) 2021-01-21 15:54:02 +00:00
jan.nijtmans 298a0ffc19 Merge 8.6 2021-01-21 15:46:16 +00:00
jan.nijtmans ea1fdc511d Fix [https://core.tcl-lang.org/thread/tktview?name=98ae20f0f5|98ae20f0f5]: Type mismatch in TclIntStubs 2021-01-21 15:42:11 +00:00
jan.nijtmans 207a4b3122 Fix [https://core.tcl-lang.org/thread/info/98ae20f0f5|98ae20f0f5] by no longer compile the stub library using LTO (even if CFLAGS enables LTO) 2021-01-21 15:31:28 +00:00
jan.nijtmans 2b394dc55d Close fork 2021-01-21 12:43:40 +00:00
jan.nijtmans ab2df51726 Close fork 2021-01-21 12:40:08 +00:00
msi e9dfa3ed3c Improve [file attributes] documentation 2021-01-20 22:35:57 +00:00
msi ca8cef9587 Improve [file attributes] documentation 2021-01-20 22:31:34 +00:00
msi 0befd21328 Improve [file attributes] documentation further 2021-01-20 22:28:30 +00:00
msi f0e85a15a0 Improve [file attributes] documentation 2021-01-20 22:23:59 +00:00
msi 80c04f15f3 Fix line width in [file attributes] documentation 2021-01-20 22:18:48 +00:00
msi b633ee636f Improve punctuation and wording in [file attributes] documentation 2021-01-20 21:57:38 +00:00
jan.nijtmans cbe4ab7b6a merge-mark 2021-01-20 16:23:03 +00:00
jan.nijtmans f6f8bdc72d Make tclCkalloc.c and tclExecute warning-free on Windows when compiled with --enable-memory=(mem|all). 2021-01-20 16:19:21 +00:00
jan.nijtmans a096c64c32 Fix potential endless loop in "stats" command (only enable in debug-build) 2021-01-20 14:13:15 +00:00
jan.nijtmans a9f031fc1a Don't use LTO for any stub libraries: It's asking for trouble when an extension is compiled with different CFLAGS as the stub library. 2021-01-20 10:57:44 +00:00
jan.nijtmans 2e5746d60c Possible fix (workaround) for [8c025f8f0d]: Run-time error on tcl 8.6.11 32 bits (from cross-compile Centos6.9 64-bits).
Since autoconf-2.59 has limited support for cross-compilation, a better fix has to wait for Tcl 8.7 (which uses autoconf-2.70)
2021-01-20 08:52:10 +00:00
jan.nijtmans 850c978dcc Merge fork 2021-01-20 07:49:39 +00:00
jan.nijtmans 5a3587a3ad Close fork 2021-01-20 07:47:26 +00:00
msi 3345a310b6 Improve clarity of [file attributes] documentation 2021-01-19 20:14:11 +00:00
msi 9038dae6fe Improve clarity of [file attributes] documentation 2021-01-19 20:11:32 +00:00
msi 817e391ddb Improve clarity of [file attributes] documentation 2021-01-19 20:07:54 +00:00
msi 011e7c1e5f Fix missing backslash 2021-01-19 19:51:55 +00:00
msi 040818e1db Improve description of Unix options for [file attributes] (Pt. 2) 2021-01-19 19:41:31 +00:00
msi 7a3766376f Create new branch named "msi-core-8-5-branch" 2021-01-19 16:53:24 +00:00
jan.nijtmans f387d58e76 Merge 8.6 2021-01-19 13:20:39 +00:00
jan.nijtmans afe025dc93 Don't worry about Windows 3.1 any more. 2021-01-19 13:16:05 +00:00
jan.nijtmans 81e7dac314 Document that Tcl_GetByteArrayFromObj accepts a size_t *lengthPtr as well (TIP #481) 2021-01-19 07:50:29 +00:00
jan.nijtmans dbd3f823aa Bugfix for TIP #587 implementation: Always use -eofchar "\032 {}" and _NOT_ -eofchar \032, otherwise there's the risk that ^Z is appended too the open channel. See [5bfe3de008], we don't want to open that can of worms again! 2021-01-15 14:58:03 +00:00
jan.nijtmans 78d6e8f34c Fix [ff658e10fc]: tip 551 in 8.7a4 0b1111_1111 not working. Also fix some indenting in code 2021-01-15 10:52:26 +00:00
jan.nijtmans a7bc79bffb Experiment: Fix [https://core.tcl-lang.org/thread/tktview?name=98ae20f0f5|98ae20f0f5]. Works for any extension using this construct, not only Thread 2021-01-15 09:47:36 +00:00
jan.nijtmans 0cd0d2191b Starting with TIP #514, we know exactly what [largest_int] is. So, make use of that in "string.test" 2021-01-14 16:46:00 +00:00
jan.nijtmans 071381e984 Add mp_unpack() to the libtommath stub table, so this function is available to extensions (and to Tcl itself, but not used yet) 2021-01-13 15:37:21 +00:00
jan.nijtmans 5f79368eaf Merge 8.6 2021-01-13 10:48:37 +00:00
jan.nijtmans aa7bf1b2e1 Fix [b89209f5cd]: compilation error Windows 10 / Visual Studio 2019 2021-01-13 10:42:58 +00:00
jan.nijtmans 370b557389 Fix [b89209f5cd]: compilation error Windows 10 / Visual Studio 2019 2021-01-13 10:38:56 +00:00
jan.nijtmans 711adf15f9 Bring documentation in line with *.decls files 2021-01-12 17:11:52 +00:00
jan.nijtmans a14063d19a Make tclStrToD.c compile on systems without inttypes.h 2021-01-11 16:01:36 +00:00
jan.nijtmans 7ff4e84af2 Merge 8.6 2021-01-11 11:52:01 +00:00
jan.nijtmans 60ca614740 Fix [1dab713a38]: Uninitialized-variable use while parsing '*' in BRE-mode regexps 2021-01-11 11:41:54 +00:00
jan.nijtmans 473d9adddc Fix [1dab713a38]: Uninitialized-variable use while parsing '*' in BRE-mode regexps 2021-01-11 11:39:12 +00:00
jan.nijtmans 089b997044 TIP #481 implementation: Tcl_GetStringFromObj() with size_t length parameter 2021-01-11 08:33:04 +00:00
jan.nijtmans b61dbff448 Make Tcl independent from exact definition of TCL_LL_MODIFIER. In tclStrToD.c we need an _exact_ 64-bit type, _at least_ 64-bit is not good enough here. 2021-01-11 08:23:48 +00:00
msi 4e3cd053db Improve description of Unix options for [file attributes] (Pt. 1) 2021-01-08 20:07:09 +00:00
msi 70da19ccf0 Improve description of Unix options for [file attributes] (Pt. 1) 2021-01-08 20:05:35 +00:00
msi 4206bf2818 Improve description of Unix options for [file attributes] (Pt. 1) 2021-01-08 19:55:51 +00:00
msi a9c9e46669 Fix consistency and grammar in re_syntax.n 2021-01-08 17:15:35 +00:00
msi 3edc49c702 Fix consistency and grammar in re_syntax.n 2021-01-08 16:16:39 +00:00
jan.nijtmans 0872562c80 TIP #592 implememtation: Stop support for Windows XP, Server 2003, Vista, Server 2008 2021-01-08 14:45:53 +00:00
jan.nijtmans f09dcac785 Omit -Wdeclaration-after-statement from CFLAGS: No longer needed since we stopped support for MSVC 6++
Change Tcl_WideInt -> long long in various places: Tcl_WideInt could be a 128-bit type, we don't want that everywhere.
2021-01-08 09:37:25 +00:00
jan.nijtmans 6b7dec8d6a define UWIDE_MAX and friends in terms of Tcl_WideUInt/Tcl_WideInt, since we cannot be sure that Tcl_WideInt == long long 2021-01-07 15:31:52 +00:00
jan.nijtmans ad4c7a03b7 Revise UWIDE_MAX and friends 2021-01-07 14:45:40 +00:00
jan.nijtmans 76fd53b302 Merge 8.7. Don't bother BorlandC, LCC and WatcomC any more, since they (probably) cannot handle Windows 7 API anyway. 2021-01-07 13:42:14 +00:00
jan.nijtmans 7a36f11216 Merge 8.6 2021-01-07 12:31:24 +00:00
jan.nijtmans fed0f920e1 Fix mingw-w64 compiler warnings when using __USE_MINGW_ANSI_STDIO=1. Not recommended, but it should work. See: [https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/|gnu printf] 2021-01-07 12:14:55 +00:00
jan.nijtmans 4f237d732e Fix warnings when __USE_MINGW_ANSI_STDIO=1 2021-01-07 10:55:39 +00:00
jan.nijtmans 1227eed18e No need any more for -D_ATL_XP_TARGETING=1 2021-01-07 10:13:24 +00:00
jan.nijtmans a21daf36ae Merge 8.7 2021-01-07 07:37:36 +00:00
msi 2a2321bf6a Fix consistency and grammar in re_syntax.n 2021-01-06 19:43:35 +00:00
jan.nijtmans 5c3f6b06b7 Merge 8.6 2021-01-06 15:48:43 +00:00
jan.nijtmans 3005927df1 Eliminate obsolete AC_HAVE_HEADERS and two more AC_TRY_COMPILE constructs. Some formatting 2021-01-06 15:39:18 +00:00
jan.nijtmans 0a38e523d3 tcltest -> 2.5.4. Version change should have been done at this commit: [95852bc2ed0e2c11] 2021-01-06 10:31:27 +00:00
jan.nijtmans f39dee95d7 TIP #590 follow-up: Restore 2nd 'load' argument in dde/registry pkgIndex.tcl. Otherwise those pkgIndex.tcl files no longer work in a Tcl 8.6 environment.
dde -> 1.4.4, registry -> 1.3.6 (to stop all confusion about the difference to Tcl 8.6.11)
2021-01-06 09:26:30 +00:00
dkf 124e36102e Fix unclear language in re_syntax. [2da4c23916] 2021-01-05 20:35:25 +00:00
dkf fb6da59e2f Fix unclear language in re_syntax. [2da4c23916] 2021-01-05 20:34:35 +00:00
dkf 279c0829fc Fix unclear language in re_syntax. [2da4c23916] 2021-01-05 20:33:49 +00:00
jan.nijtmans 3b7c040233 Merge 8.6: Add 4 processor-types to Win32/Cygwin. "platform" -> 1.0.16 2021-01-05 17:06:14 +00:00
jan.nijtmans c040d037ef Merge 8.5: Add 4 processor-types to Win32/Cygwin. "platform" -> 1.0.16 2021-01-05 17:02:19 +00:00
jan.nijtmans 2f9727a745 Add 4 processor-types to Win32/Cygwin. On Cygwin, don't bother tcl_platform[os], since "Windows NT" is the only one supported. "platform" -> 1.0.16 2021-01-05 16:55:44 +00:00
jan.nijtmans b24275a7c4 Merge 8.6 2021-01-05 14:43:26 +00:00
jan.nijtmans 9f96f3816e Merge 8.5 2021-01-05 14:27:27 +00:00
jan.nijtmans edb8fe7c9b #undef PACKAGE_VERSION in tclConfig.h too, since Tcl and Tk don't necessary have the same version. 2021-01-05 14:24:00 +00:00
jan.nijtmans ab6f3aa7a8 Merge 8.6 2021-01-05 10:29:13 +00:00
jan.nijtmans f8e1773f67 More elimination of (obsolete) AC_TRY_COMPILE 2021-01-05 10:19:03 +00:00
jan.nijtmans 89dbd5cedd Merge 8.6 2021-01-05 09:19:51 +00:00
jan.nijtmans 21e01ee4e5 Merge 8.5. Restore use of AC_HEADER_STDC in win/configure.in: Wait for 8.7 to make that change 2021-01-05 08:23:07 +00:00
jan.nijtmans cc3b85771e Require at least autoconf-2.59 for tools/configure 2021-01-05 08:15:01 +00:00
jan.nijtmans fd512f5f94 Eliminate (obsolete) use of AC_TRY_LINK in */configure.in. Still generates the same */configure scripts with autoconf-2.59. 2021-01-05 08:06:28 +00:00
jan.nijtmans 67639babd5 Merge 8.6 2021-01-04 16:46:25 +00:00
jan.nijtmans 1a457f040a Roll-back part of [4dfa9000e1]: This isn't used for Tcl, but breaks some extensions (like tkImg) 2021-01-04 16:45:36 +00:00
jan.nijtmans 906b33b772 Merge-mark 2021-01-04 16:32:39 +00:00
jan.nijtmans a27098cb71 AC_HELP_STRING -> AS_HELP_STRING 2021-01-04 15:37:02 +00:00
jan.nijtmans dd56627191 Fix [c376607b22]: Tcl 8.6: Extended plane character does not encode correctly to UTF-16 with TCL_UTF_MAX==5 2021-01-04 15:06:34 +00:00
jan.nijtmans 29b5516f5f Merge 8.6 2021-01-04 14:34:18 +00:00
jan.nijtmans ab7b060df7 No longer use deprecated syntax for AC_INIT/AC_OUTPUT. (almost) no change in generated configure scripts 2021-01-04 14:24:13 +00:00
jan.nijtmans 4789e8e063 Merge-mark 2021-01-04 10:01:20 +00:00
jan.nijtmans a29e5ccac3 re-generate win/configure 2021-01-04 09:51:53 +00:00
jan.nijtmans dcebb038ed re-generate win/configure 2021-01-04 09:40:19 +00:00
jan.nijtmans 50199a5302 Merge 8.7 2021-01-04 07:54:50 +00:00
jan.nijtmans 89653c15cf Merge 8.7 2021-01-04 07:48:36 +00:00
dgp 7dd3bef5d3 merge 8.6 2021-01-02 22:53:43 +00:00
dgp c86e9e2b45 merge release 2021-01-02 22:34:55 +00:00
dgp 17b5b3e020 [e7eb94e8d1] typo fix in changes. Each ambiguous hash still identifies only
one ticket, which is good enough.
2020-12-30 18:23:08 +00:00
jan.nijtmans 6d547b0c2c merge-mark 2020-12-29 22:23:30 +00:00
jan.nijtmans ee9004c35f Fix [43d371ac19]: Usage of exit() without including <stdlib.h> in unix/configure 2020-12-29 22:22:26 +00:00
jan.nijtmans 0a3a1a075a Fix [43d371ac19]: Usage of exit() without including <stdlib.h> in unix/configure 2020-12-29 22:21:20 +00:00
dgp e620c687f7 update changes 2020-12-28 15:12:20 +00:00
jan.nijtmans 098ad4c7f3 TIP #587 follow-up: Looks like -encoding utf-8 still was missing in some places, only visible on Windows 2020-12-28 14:46:50 +00:00
jan.nijtmans b91eaa4a75 Merge 8.7 2020-12-26 22:47:02 +00:00
jan.nijtmans 52cf0e0a28 Merge 8.6. Give up handling EXTRA_CC_SWITCHES for c++ compile 2020-12-26 22:12:37 +00:00
dgp 536fad2c6d Suppress testing of known bug only when it is present. Allow tests that pass. 2020-12-26 18:42:09 +00:00
dgp ad77faa0e4 merge 8.6 2020-12-26 18:01:46 +00:00
dgp 3665cff596 changes file updates WIP 2020-12-24 20:27:00 +00:00
jan.nijtmans b5b121bedb Fix [5a15a88490]: Checkin [1f6f21856b] quoting broke unix/installManpage 2020-12-24 16:11:44 +00:00
jan.nijtmans 24c0f50472 correct quoting in unix/installManPage, so $Dir can contain spaces 2020-12-24 16:06:24 +00:00
jan.nijtmans 4e05ae8a64 Merge 8.6 2020-12-24 15:40:48 +00:00
jan.nijtmans 31de47e1d6 unix/configure.in is not supposed to be executable in the distribution 2020-12-24 15:33:59 +00:00
jan.nijtmans 2b54268bb7 unix/configure.in is not supposed to be executable in the distribution.
Don't re-generate unix/tclConfig.h.in and unix/configure as part of "make dist": This should be done with autoconf-2.59, not with whatever autoconf is present on this machine
2020-12-24 15:28:48 +00:00
jan.nijtmans 6acfb3e800 Last pre-autoconf-2.69 obsolete construct eliminated. Works with autoconf-2.59 as well. Still to be tested with autoconf-2.70. 2020-12-24 14:07:55 +00:00
jan.nijtmans 67dd971e70 Fix check for broken strstr/strtoul/strtod functions: Modern C compilers don't accept signature mismatches any more. 2020-12-24 12:09:33 +00:00
jan.nijtmans 5f6824ef23 Convert AC_TRY_COMPILE (which is obsolete now) to AC_COMPILE_IFELSE/AC_LANG_PROGRAM. This still works with autoconf-2.59 too. 2020-12-24 11:46:29 +00:00
jan.nijtmans d56bda5224 Another attempt to make EXTRA_CC_SWITCHES work for c++ compiles in github actions 2020-12-24 11:07:05 +00:00
jan.nijtmans d6bbe53dfb More progress in autoconf-2.70 compatibility. Not to be merged to 8.6 yet! 2020-12-23 15:42:01 +00:00
jan.nijtmans 02cf664be1 (cherry-pick): Update TZ info to tzdata2020e 2020-12-23 15:13:32 +00:00
José Ignacio Marín f74fb9a7dc Update TZ info to tzdata2020e (via merge). 2020-12-23 10:26:33 +00:00
José Ignacio Marín 9fe163167b Update TZ info to tzdata2020e. 2020-12-23 10:12:27 +00:00
jan.nijtmans af23e7a53d EXTRA_CC_SWITCHES quoting doesn't work. Let's try again 2020-12-23 10:01:13 +00:00
jan.nijtmans a128f1c033 Merge 8.6 2020-12-23 08:17:39 +00:00
jan.nijtmans c615f910f7 Missing constraint, in case we are running on Windows 10 in developer mode 2020-12-23 08:04:02 +00:00
jan.nijtmans 649c413c41 Merge 8.6 2020-12-23 07:47:15 +00:00
jan.nijtmans a1c17947a6 (cherry-pick): Repair flaws exposed by debugging test run. 2020-12-23 07:44:27 +00:00
jan.nijtmans da2d3610f9 Fix testcase for [548cd945d6]: Consistant error-code if creating link fails on all platforms. On Win10 disable the testcase, because latest Win10 in "Developer Mode" _can_ create symbolic links to files. 2020-12-23 07:42:19 +00:00
dgp 3dd7667698 Repair flaws exposed by debugging test run. 2020-12-22 16:34:09 +00:00
jan.nijtmans 4291e4e815 Update all configure-related stuff to work with autoconf-2.70 too. For now, everything still generated with (modified) autoconf-2.59 2020-12-22 14:25:30 +00:00
dgp f66286892b merge 8.6 2020-12-22 13:18:20 +00:00
jan.nijtmans 6dd81c7dba Merge 8.6 2020-12-22 09:28:07 +00:00
jan.nijtmans ae17e8d1b4 Compile on github actions using C++ compiler, even without CC=g++ (which doesn't work with autoconf 2.70) 2020-12-22 08:58:52 +00:00
jan.nijtmans d7f4679221 Fix [ea8cd4789c]: Tcl 8.6.11 does not compile with VisualStudio 2010. Thanks Paul! 2020-12-22 07:12:06 +00:00
jan.nijtmans afc0577d2e autoupdate */configure.ac and */tcl.m4. Should still work with autoconf-2.69 too 2020-12-19 22:17:00 +00:00
jan.nijtmans 2215f74b2d Remove g++ builds from travis/github actions. The construct "CC=g++" doesn't work any more with autoconf-2.70 2020-12-18 14:00:56 +00:00
jan.nijtmans d456e92a29 Rename AC_HELP_STRING to AS_HELP_STRING, and fix determination of intptr_t/uintptr_t with autoconf 2.70 2020-12-18 10:42:05 +00:00
dgp 220e5e6245 close fork 2020-12-17 19:07:48 +00:00
dgp 66147b2e11 close fork 2020-12-17 19:05:47 +00:00
jan.nijtmans 928360bd4d Merge fork 2020-12-17 18:58:53 +00:00
jan.nijtmans 9419ff1d29 Merge 8.7 2020-12-17 18:56:24 +00:00
jan.nijtmans 517a6a5159 Merge 8.6 2020-12-17 18:21:24 +00:00
jan.nijtmans 63426886f5 Further elimination of __int64 type 2020-12-17 16:39:25 +00:00
jan.nijtmans 075e333cc2 Undo one change from previous commit: this gives a warning on mingw-w64 2020-12-17 15:47:56 +00:00
jan.nijtmans c5500b6035 Simplifications when assuming VS 2015 or later 2020-12-17 15:44:01 +00:00
jan.nijtmans 0e05734542 Merge 8.7 2020-12-17 14:14:21 +00:00
jan.nijtmans 392ecd0f2d Merge 8.6. Re-generate tclConfig.h.in with autoheader v2.70 2020-12-17 12:48:40 +00:00
jan.nijtmans f9a71ac128 Add .travis.yml and .github/worksflows to "make dist". Use "cp -p" for all files in "make dist" 2020-12-17 12:38:29 +00:00
jan.nijtmans ab4cbd7685 Add .travis.yml and .github/worksflows to "make dist" 2020-12-17 12:27:48 +00:00
jan.nijtmans c4bcec96ea Re-generate configure scripts with (brand-new!!!) autoconf-2.70 2020-12-17 08:11:15 +00:00
jan.nijtmans 4855172d08 Remove "Vista" from manifest. Test simplifications 2020-12-16 15:46:04 +00:00
jan.nijtmans ee2c8b324f TIP #592 implementation: Stop support for Windows XP, Server 2003, Vista, Server 2008 2020-12-16 15:32:20 +00:00
jan.nijtmans fc6c71a6ff Merge 8.7 2020-12-16 15:10:45 +00:00
jan.nijtmans 4ea5470891 Merge 8.7 2020-12-16 15:04:10 +00:00
jan.nijtmans 7795886d49 Merge 8.6 2020-12-16 14:31:39 +00:00
jan.nijtmans fe22db4eda [testConstraint winVista] should be true on Windows 10 too 2020-12-16 14:28:47 +00:00
jan.nijtmans 80a7fdbc90 Merge 8.6 2020-12-16 14:24:12 +00:00
jan.nijtmans 01279acc11 rfe [548cd945d6]: symlinks for Windows 10 2020-12-16 14:11:13 +00:00
dgp 3a3b91de59 merge 8.6 2020-12-15 21:51:56 +00:00
jan.nijtmans 00280a4727 Protect fCmd-28.8 with constaint win10 2020-12-15 11:37:29 +00:00
jan.nijtmans 02ab7419f0 Merge 8.6 2020-12-14 08:49:27 +00:00
jan.nijtmans ebf2863b94 Fix C:\test\tcl8.6.11_rc0\win\..\generic\tclStubInit.c(107) : warning C4761:
integral size mismatch in argument;
Only happening on 32-bit Windows
2020-12-14 08:44:58 +00:00
jan.nijtmans 14cf327d37 Merge 8.6 2020-12-14 08:11:11 +00:00
jan.nijtmans 66bf4b493e Fix [cb4d185ea57b8966]: Fix tests safe-* for tcl-8.6.11rc0 2020-12-14 08:05:08 +00:00
jan.nijtmans 9a7583c219 Fix [fe57ad096d97623e]: Fix test http-4.14 for tcl-8.6.11rc0 2020-12-14 07:33:42 +00:00
jan.nijtmans d06a5c4c22 Merge 8.7 2020-12-13 16:59:33 +00:00
jan.nijtmans c899e46a97 Merge 8.6 2020-12-13 16:45:47 +00:00
jan.nijtmans 56c8c7f4a2 Merge 8.6 2020-12-13 16:38:12 +00:00
jan.nijtmans 4c0c6d80cd make dist 2020-12-13 16:36:23 +00:00
jan.nijtmans 8897e69513 Merge 8.6 2020-12-12 11:39:32 +00:00
apnadkarni e341dd7a16 nmake: fix path in tcl.nmake check 2020-12-12 06:14:02 +00:00
dgp 18c766a08c make dist 2020-12-11 19:21:55 +00:00
jan.nijtmans b15870ed70 Merge 8.6. Get CreateSymbolicLinkW symbol from kernel32.dll, since Windows XP doesn't have it 2020-12-11 14:47:33 +00:00
dgp e3d0b11da5 merge 8.6 2020-12-11 13:35:39 +00:00
jan.nijtmans 4f95cb4de4 Merge 8.6 2020-12-11 12:44:03 +00:00
jan.nijtmans 0045179f39 Update "platform" package to handle macOS Big Sur with arm processor.
Also handle that Catalina and higher no longer support 32-bit applications
2020-12-11 12:41:13 +00:00
jan.nijtmans de49e4b0fc Update "platform" package for Big Sur:
1) Catalina was the last platform supporting 32-bit applications
2) macOS is no longer 10 but 11
3) New "arm" processor
2020-12-11 12:33:27 +00:00
apnadkarni 7b3afa79ed nmake: export zip metadata for Tk and extensions 2020-12-11 09:12:45 +00:00
apnadkarni 21553ac98c Merge 8.6 (msvcrt time64 fixes) 2020-12-11 09:00:27 +00:00
apnadkarni c77e03b978 Fix commits 93ab6a and 606df1. msvcrt time64bit - TCL_{MAJOR,MINOR}_VERSION checks.
msvcrt and time64bit OPTS checks were using Tcl versions before definition.
Moved Tcl version retrieval to earlier in the build as a fix.
Also, < cannot be used with strings, so made the checks numerics.
2020-12-11 08:57:38 +00:00
jan.nijtmans a17bf04dba Merge 8.7 2020-12-11 08:25:14 +00:00
apnadkarni 2120b2e775 Merge 8.6 (nmake) 2020-12-11 07:59:56 +00:00
apnadkarni 33d854e95b nmake: build nmakehlp with -DNDEBUG, sync rules.vc for 8.7 2020-12-11 07:57:41 +00:00
dgp b33993aaf9 merge 8.6 2020-12-10 18:34:37 +00:00
jan.nijtmans 742df3666a Merge 8.6 2020-12-10 18:06:28 +00:00
jan.nijtmans f4ec29ceb2 Update "platform" package to handle Big Sur version numbering. Also remove special case for cygwin/msys2, just make it more generic 2020-12-10 18:05:34 +00:00
jan.nijtmans 0c788cde5c publicize TclWinConvertError 2020-12-10 15:45:44 +00:00
jan.nijtmans 39813465e8 Merge 8.6 2020-12-10 13:27:58 +00:00
jan.nijtmans 615b18fee4 Fix [ed5be77734]: win: "comx:" not recognized as serial port 2020-12-10 13:26:43 +00:00
jan.nijtmans 45c9e44c82 Tweak: account for terminating '\0' 2020-12-10 12:31:37 +00:00
jan.nijtmans c69d9fda47 Potential fix for [ed5be77734]: win: "comx:" not recognized as serial port.
(concluded from code inspection, not tested yet)
2020-12-10 12:17:50 +00:00
jan.nijtmans e5777aad56 Merge 8.6. Add empty "tests/safe-stock86.test", in an attempt to remove this file from the GIT branches (it shouldn't be there, just as in fossil) 2020-12-10 09:50:25 +00:00
jan.nijtmans 6421b7b8b2 RFE 548cd945d6: symlinks for Windows 10 2020-12-10 09:41:09 +00:00
jan.nijtmans 20e0998a32 Use more 0o??? syntax for octal. Clean up build *.yml files 2020-12-10 09:38:24 +00:00
jan.nijtmans 5d4116b638 sync win/rules.vc with Tcl 8.7. No change for 8.6 2020-12-10 09:00:02 +00:00
jan.nijtmans 84bbce0e29 Fix github actions Windows build 2020-12-09 09:56:37 +00:00
jan.nijtmans f67b351466 nmake: OPTS=msvcrt is now the default, even for static builds. Use OPTS=nomsvcrt if you don't want that.
Add more comments in win/*.vc files, describing what's going on.^C
2020-12-09 09:17:19 +00:00
apnadkarni 3fbbf14bf2 nmake: make zipfs mount point consistent with Unix/autoconf 2020-12-09 06:17:50 +00:00
apnadkarni 9f88ecdd97 nmake: subsume staticpkg option within static builds 2020-12-09 04:31:07 +00:00
jan.nijtmans 56dbbded83 Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet 2020-12-08 15:31:15 +00:00
apnadkarni f5e6fef433 TIP 430: generate and embed library zip. 2020-12-08 11:06:24 +00:00
apnadkarni 070d566ad5 TIP 430: generate and attach library zip 2020-12-08 10:46:12 +00:00
jan.nijtmans 0a04dce70d Merge 8.7 2020-12-08 10:37:03 +00:00
jan.nijtmans 35231ec0d7 Skip testcases filesystem-7.1.[1|2] with msvc OPTS=staticpkg: This isn't supposed to work 2020-12-08 10:30:05 +00:00
jan.nijtmans 99a90efbfd TIP #590 follow-up: Adapt documentation and tclStubLib.c 2020-12-08 10:14:49 +00:00
jan.nijtmans b6088f7331 Merge 8.7 2020-12-08 09:04:03 +00:00
dgp 2f178f93ab merge 8.6 2020-12-07 16:02:44 +00:00
jan.nijtmans 49baa37b9c Put dde/registry obj-files in the stub library in stead of the static library. Needed to combine --disable-shared build of Tk with --enable-shared build of Tcl in a single executable 2020-12-07 15:08:16 +00:00
jan.nijtmans f6bd13629f In configure/make Windows build, static builds include dde and registry extension statically too implicitly 2020-12-07 14:25:31 +00:00
jan.nijtmans 025153490f Merge 8.6 2020-12-07 13:57:11 +00:00
jan.nijtmans cf333de098 rules.vc: Make sure that 3th "load" argument is titlecased in pkgIndex.tcl 2020-12-07 13:53:21 +00:00
apnadkarni f3f92eae51 nmake: Generate libtcl_VERSION.zip as per TIP 430 2020-12-06 10:39:22 +00:00
apnadkarni 6343875344 Merge core-8-branch for new rules.vc 2020-12-06 09:39:25 +00:00
apnadkarni fcee72d2c7 Merge 8.6 2020-12-06 08:09:57 +00:00
apnadkarni fc71c7c2fc nmake builds: extract {TCL,TK}_RELEASE_SERIAL and patch letters from {tcl,tk}.h 2020-12-06 08:06:03 +00:00
apnadkarni 0f2d72cefb Create new branch named "apn-sfe" 2020-12-05 11:06:15 +00:00
apnadkarni e5bf8e9ed0 Fix suffix on single file exe name 2020-12-05 02:51:10 +00:00
jan.nijtmans 29be47f451 Merge 8.7 2020-12-04 15:32:17 +00:00
jan.nijtmans c47a861663 Merge 8.6 2020-12-04 10:44:13 +00:00
jan.nijtmans 0cdd87c215 Merge 8.5 (syncing "tcltest" package). Use more uppercase hex representations 2020-12-04 10:31:43 +00:00
jan.nijtmans cd48044e1b Backport "tcltest" package from 8.7. No changes when running on 8.5 or 8.6 2020-12-04 10:19:51 +00:00
jan.nijtmans 4fa48d135a Merge 8.6 2020-12-04 10:04:33 +00:00
jan.nijtmans 25084dcd33 Merge 8.5 2020-12-04 10:01:50 +00:00
jan.nijtmans 9a3e53bd90 TclWordEnd was removed in 8.1, so those testcases cannot be run anymore 2020-12-04 10:00:56 +00:00
jan.nijtmans ebd7b1edb7 Fix 4 socket testcases on Msys (those fail on Cygwin too) 2020-12-04 09:58:37 +00:00
jan.nijtmans 86cfccca91 TIP 590: Recommend lowercase Package Names 2020-12-04 09:56:08 +00:00
apnadkarni efb126543f Add makefile.vc target sfe for single-file executable 2020-12-03 16:50:23 +00:00
jan.nijtmans c30f3e9569 Merge 8.6 2020-12-03 14:39:19 +00:00
jan.nijtmans c99f354166 two more 0o??? notations 2020-12-03 13:57:56 +00:00
jan.nijtmans defc33228d Use 0o??? notation for octal numbers in tools and testcases in stead of 0???. Although it still works in 8.6, it is deprecated an will be removed in 9.0. 2020-12-03 13:51:18 +00:00
jan.nijtmans f23698ae34 Merge 8.6 2020-12-03 09:52:59 +00:00
jan.nijtmans 910d0222de Extend "platform" package for msys2 -> platform 1.0.15 2020-12-03 09:45:17 +00:00
jan.nijtmans a3322b06ac Fix syntax error in win/makefile.vc 2020-12-03 09:37:28 +00:00
jan.nijtmans 482091f871 Extend "platform" package for msys2 -> platform 1.0.15 2020-12-03 09:31:00 +00:00
jan.nijtmans b1517df3ff Simplify some \\u???? escape sequences to \\x?? 2020-12-03 09:09:25 +00:00
jan.nijtmans a2e1bdf3b5 Merge 8.6 2020-12-02 11:58:01 +00:00
jan.nijtmans c387e380de Don't use -opt:nowin98 linker option any more. See: [https://bugzilla.mozilla.org/show_bug.cgi?id=130372] 2020-12-02 11:57:04 +00:00
jan.nijtmans 1adac52046 Merge 8.6 2020-12-02 11:31:01 +00:00
jan.nijtmans 15449e71fb Merge 8.5 2020-12-02 11:29:52 +00:00
jan.nijtmans 02c730b298 Fix linker message on windows: LINK : warming LNK4108: /ALIGN specified without /DRIVER; image may not run.
This options was only useful on MSVC++ 5.0 and earlier, which is no longer supported
2020-12-02 11:19:57 +00:00
jan.nijtmans 9727e58e7d Add options to workflow step titles 2020-12-01 16:41:10 +00:00
jan.nijtmans 2f8611013d Do 4 types of windows builds (just as we did on Travis) 2020-12-01 16:35:59 +00:00
jan.nijtmans fc7a2d97e0 Remove redunant piece of SC_ENABLE_SHARED: The AC_ARG_ENABLE already generates this part, resulting in duplicate code in the "configure" script 2020-12-01 16:25:30 +00:00
jan.nijtmans 7c3b884ac2 Another TIP #589 side-effect: Make sure that the encoding used in ::tcltest::viewFile matches the one in ::tcltest::makeFile 2020-12-01 15:28:03 +00:00
jan.nijtmans 5878b9510b Fix 2 testcases in Windows. Cause: tcltest::makeFile should assume the same encoding as the "source" command uses (TIP #589)
Aso remove the ::tcltest::bytestring command: It doesn't work any more starting Tcl 8.7 since the "identity" encoding is gone (TIP #345)
2020-12-01 15:15:28 +00:00
jan.nijtmans 3ae4ed89d0 Remove incomplete stuff from .project: It is not enough to make actual building from within Eclipse possible 2020-12-01 12:17:18 +00:00
jan.nijtmans ff1e919a1b Merge-mark 2020-12-01 11:56:19 +00:00
jan.nijtmans d9fa72d22a Handle 5 test-failures on Cygwin/Msys 2020-12-01 11:54:35 +00:00
jan.nijtmans 3df3c35057 Merge 8.6 2020-12-01 08:53:12 +00:00
jan.nijtmans 92b25c6016 Merge 8.5 2020-12-01 08:50:57 +00:00
jan.nijtmans 53a9a5dc8f Missing '_' in unix/tcl.m4 (Only relevant for mingw) 2020-12-01 08:49:30 +00:00
jan.nijtmans 83f0cd1c03 Merge 8.6 2020-11-30 16:53:34 +00:00
jan.nijtmans fa960af760 Minor fixes + copy editing :). See [https://github.com/tcltk/tcl/pull/8] 2020-11-30 16:52:50 +00:00
jan.nijtmans 180cec8aa9 Merge 8.6 2020-11-30 14:20:34 +00:00
jan.nijtmans 17de94982b doc update: 16-bit DOS appllications are not supported any more.
Use &amp;bull; in stead of &amp;#8226; representing bullets in html
2020-11-30 14:16:23 +00:00
jan.nijtmans 0134af324d Merge 8.6 2020-11-30 13:37:14 +00:00
jan.nijtmans 87439e7d28 Fix [b6a7fc9243]. Also add (back) \*(qo, which might be used in older man-pages 2020-11-30 13:32:00 +00:00
jan.nijtmans 2ac074313b Fix [6b1c6bb09c]: Extended plane character does not encode correctly to UTF-16 with TCL_UTF_MAX==4
Als use more of TIP #587 in encoding.test
2020-11-30 12:18:19 +00:00
jan.nijtmans 7081037955 Merge 8.6 2020-11-30 08:57:18 +00:00
jan.nijtmans eb342fb1e0 Update README.md 2020-11-30 08:52:04 +00:00
jan.nijtmans 231cf96018 Merge 8.6 2020-11-30 08:46:27 +00:00
jan.nijtmans 4ba63aa46a Merge 8.5 2020-11-30 08:31:29 +00:00
jan.nijtmans 15194461b1 Cherry-pick part of "msys2-fixes_v001" branch: build/test fixes for msys2 2020-11-30 08:21:20 +00:00
dkf 2664737588 Added single-file distributions of Tcl for all main platforms.
These are *UNOFFICIAL* builds as they do not correspond to particular releases.

The macOS build is packaged in a .dmg with a README that explains how to run it
as the binary is not signed or notarized (and this is unlikely to change).
2020-11-27 18:13:10 +00:00
dkf 0cb78052e4 That's the best we can do without entering the morass that is signing/notarization on macOS; Windows now uses the right version IDs 2020-11-27 18:07:05 +00:00
jan.nijtmans 3c86724fcf Merge 8.6 2020-11-27 14:39:40 +00:00
jan.nijtmans 750dd56fe0 Merge 8.5 2020-11-27 14:37:41 +00:00
jan.nijtmans 5bf4c011e1 label change in win-build.yml 2020-11-27 14:28:18 +00:00
jan.nijtmans 965d357ab6 Merge 8.6 2020-11-27 13:50:33 +00:00
jan.nijtmans a2c547e12a Merge 8.5 2020-11-27 11:19:07 +00:00
dkf 8c7898b5d2 Better version ID, trying to track down weird macOS problem 2020-11-27 09:58:46 +00:00
jan.nijtmans 2ed258bb67 Fix winFCmd testcase. Add --disable-shared and TCL_UTF_MAX=4 builds to github actions 2020-11-27 07:41:58 +00:00
dkf 005227c53d Try to use a .dmg for macOS distribution 2020-11-26 20:09:11 +00:00
jan.nijtmans 96f84a6d9a Merge 8.6 2020-11-26 14:54:04 +00:00
jan.nijtmans 6ad60f8b3b Get rid of "register" keyword, forbidden in c++20.
Fix some more warnings, discovered in c20/c++20 mode
2020-11-26 14:43:22 +00:00
jan.nijtmans cf0a602c97 Merge 8.6 2020-11-26 08:28:35 +00:00
jan.nijtmans dbb32499b0 Merge 8.5 2020-11-26 08:21:30 +00:00
jan.nijtmans fd1bc4abd1 More TCL_UNUSED 2020-11-26 07:52:00 +00:00
jan.nijtmans 9393b695b2 squelch warning by using proper format specifiers 2020-11-26 07:37:40 +00:00
jan.nijtmans 7d9d9597aa grammar 2020-11-26 07:23:16 +00:00
jan.nijtmans 259f659ad6 Merge 8.7 2020-11-25 13:51:32 +00:00
dkf 49ad442ac6 Switch to older Ubuntu so that we build with older glibc. Thanks to morganw for testing. 2020-11-25 11:16:46 +00:00
jan.nijtmans e037b3a40c Make HTML documentation html5-compatible. Still works the same with older browsers too.
Remove obsolete winhelp construction parts: winhelp is obsoleted since Vista
2020-11-25 09:57:15 +00:00
jan.nijtmans 7c1cfd6e15 Merge 8.7 2020-11-25 09:52:14 +00:00
jan.nijtmans 1aa3608a1c Remove the Tcl_GetValue() functionality. This can always be developed separately 2020-11-25 09:16:11 +00:00
dkf cada5eb9bd Name of target is different 2020-11-25 09:13:55 +00:00
jan.nijtmans f33056b162 Slightly friendlier "jobs" labels. Fix exact OS (Linux/Mac/Windows) we want to build on, not just "latest" 2020-11-25 08:15:16 +00:00
dkf fc553a3ea1 Experimental branch: building single file distributions 2020-11-25 00:41:24 +00:00
jan.nijtmans aca216973f Some missing test-constraints 2020-11-24 15:04:05 +00:00
jan.nijtmans 1704d23d60 Fix testcases on Windows. Use more "info loaded" as appropriate 2020-11-24 14:45:38 +00:00
jan.nijtmans 188c4f944e contents.htm -> index.html and *.htm -> *.html 2020-11-24 08:24:12 +00:00
jan.nijtmans c15270a797 Fix "make dist" 2020-11-24 07:51:38 +00:00
jan.nijtmans a1dd05a170 More ©-sign consolidation 2020-11-23 09:16:00 +00:00
jan.nijtmans 55383ed9b1 Now that all Tcl source files are UTF-8 by default, we can use the ©-sign whenever reasonable. 2020-11-23 08:25:48 +00:00
jan.nijtmans a73325fed0 Merge 8.6 2020-11-20 14:58:13 +00:00
jan.nijtmans ee4dcff50f Don't use "Copyright &lt;year> _by_" any more. This results in more consistant copyright statements in the (html) documentation 2020-11-20 14:48:57 +00:00
jan.nijtmans e2721f9546 Merge 8.7 2020-11-20 14:08:43 +00:00
jan.nijtmans 32beb1556e Add a --disable-shared build to github actions 2020-11-20 14:02:01 +00:00
jan.nijtmans 467e0d60b2 Add a --disable-shared build to github actions 2020-11-20 13:59:36 +00:00
jan.nijtmans 4a451f540f Generate html documentation in html5 format. Fix some html5 compatibiliy warnings.
Remove old htmlhelp-related parts (since this is obsolete since Vista)
2020-11-20 13:46:59 +00:00
jan.nijtmans edcb5e1d91 shorten github actions build name 2020-11-20 08:58:39 +00:00
jan.nijtmans 58bf5b79b7 Merge 8.7 2020-11-20 08:44:50 +00:00
jan.nijtmans b4cc01c658 Merge 8.6 2020-11-20 08:26:02 +00:00
jan.nijtmans ef7a8aec00 Use '&' in stead of 'and' in copyright statements consistantly 2020-11-20 08:24:53 +00:00
jan.nijtmans e8b55fb733 Allow tools/tcltk-man2html.tcl to work with both configure.in and configure.ac: It could be used in extensions which still use an older autoconf 2020-11-19 15:11:04 +00:00
jan.nijtmans 17e7dbc31a Merge-mark 8.5 2020-11-19 15:07:10 +00:00
jan.nijtmans d1dfef4884 Handle github actions test failures. Backported from 8.6 2020-11-19 09:39:20 +00:00
jan.nijtmans 14ec7c1d85 Merge 8.7 2020-11-19 08:57:49 +00:00
jan.nijtmans 8e1f957a66 More usage of TclUtfToUCS4/TclUniCharToUCS4 in stead of it's UniChar variants: This handles surrogate pairs better. 2020-11-18 13:51:02 +00:00
jan.nijtmans c55eb93bb4 Merge 8.6 2020-11-18 11:03:11 +00:00
jan.nijtmans 26156cc1cc Merge 8.5 2020-11-18 10:59:37 +00:00
jan.nijtmans f7b532246a Enhance misleading test-case utf-6.23 with better diagnostics: Byte 0xE8 is the start of a 3-byte UTF-8 sequence, so Tcl_UtfNext is expected to read next byte and see if it is a continuation byte 2020-11-18 09:49:08 +00:00
jan.nijtmans c4b8fd351a Add github actions build. Use Titlecase in Tcl_StaticPackage 2020-11-18 09:15:31 +00:00
jan.nijtmans a28856a322 Merge 8.6 2020-11-17 14:36:30 +00:00
jan.nijtmans f88225f6fb Extend tcltk-man2html-utils.tcl a little more: Allow original AT&T syntax for more accented characters, and add support for some ligatures. Use this in re_syntax.n 2020-11-17 14:35:42 +00:00
dkf 6098040754 Test fails with Windows in CI, not MSVC 2020-11-17 12:36:59 +00:00
oehhar 48385f8bba Ticket [ac661a684d]: Tcl_NotifyChannel man page: "no writable callback on pending flush" missing 2020-11-17 10:17:21 +00:00
oehhar 32e54c3504 Ticket [ac661a684d]: Tcl_NotifyChannel man page: "no writable callback on pending flush" missing 2020-11-17 10:11:24 +00:00
jan.nijtmans da2c0d731a Merge 8.6 2020-11-17 09:12:55 +00:00
jan.nijtmans 4929dd61e1 Generated html still not 100% correct .... 2020-11-17 09:11:09 +00:00
jan.nijtmans 95fad70001 Merge 8.6 2020-11-17 08:46:06 +00:00
jan.nijtmans ffda48d07b Extend tcltk-man2html-utils.tcl: Add euro-sign too 2020-11-17 08:45:22 +00:00
jan.nijtmans b9fdbb0710 Merge 8.6 2020-11-17 08:41:07 +00:00
jan.nijtmans 969ef21225 Extend tcltk-man2html-utils.tcl, so it can handle the TIP #588 man-page. Also fix 2 (minor) syntax errors in man-pages 2020-11-17 08:39:19 +00:00
oehhar d7092f4a55 Merge documentation changes for http and dict from branch [oehhar-documentation-tickets] 2020-11-16 15:08:17 +00:00
oehhar 0566be32d5 Merge documentation changes for http and dict from branch [oehhar-documentation-tickets] 2020-11-16 15:03:25 +00:00
oehhar 45aa988905 Ticket [361303]: http doc: status values incomplete 2020-11-16 14:37:00 +00:00
oehhar 7fa0505ae8 Ticket [4f511270af7]: http documentation: -query data may be any data 2020-11-16 14:14:36 +00:00
oehhar 413ce795e0 Ticket [93551c1230]: Document that http::geturl processes the event loop without -command 2020-11-16 14:06:50 +00:00
oehhar 71a412b8da Ticket [d8ae5d5f4c]: Documentation of dict filter script: script results, not returns a boolean 2020-11-16 13:55:33 +00:00
jan.nijtmans 32d5f89b18 Merge 8.6 2020-11-16 13:17:35 +00:00
jan.nijtmans 0589f3b799 Fix 2 testcases which failed when compiled with TCL_UTF_MAX>3 2020-11-16 13:12:26 +00:00
jan.nijtmans c13d3b0405 Merge 8.6 2020-11-16 12:55:49 +00:00
jan.nijtmans 0943b71810 Enhance misleading test-case utf-6.23 with better diagnostics: Byte 0xE8 is the start of a 3-byte UTF-8 sequence, so Tcl_UtfNext is expected to read next byte and see if it is a continuation byte.
Comment 4 testcases (utf-6.110/111/114/115) for being misleading too, because they don't even call Tcl_UtfNext().
No change to code, only testcases
2020-11-16 12:48:00 +00:00
jan.nijtmans a3a070b13c TIP #586 implementation: C String Parsing Support for binary scan 2020-11-16 10:53:58 +00:00
dkf dac1c2f4f2 Merge 8.6 2020-11-16 10:06:20 +00:00
dkf 106838de02 Clean up for GitHub Actions as our CI service 2020-11-16 09:26:07 +00:00
dkf ffa8d1d461 Disable test that fails in CI environments 2020-11-16 09:24:33 +00:00
dkf eff08da703 Rethinking how to do a build matrix on several platforms 2020-11-15 15:48:43 +00:00
dkf 807ed7b13c Added MSYS/gcc build for Windows, renamed Linux build step 2020-11-15 09:17:41 +00:00
dkf 3ef704b39c Updated README 2020-11-15 08:38:14 +00:00
dkf 346721f3f0 Fix minor errors 2020-11-15 08:35:49 +00:00
dkf b3e4fc2a04 Fixed some tests, added trial macOS build 2020-11-14 12:25:38 +00:00
dkf a22953bb77 Back to powershell 2020-11-14 09:31:49 +00:00
jan.nijtmans d8f5e027e2 merge-mark 2020-11-13 16:59:36 +00:00
jan.nijtmans 8e61a58c14 Backport [fc1e203728]: backout e56a9f214a. If it was wrong in core-8-branch, it's wrong here too. 2020-11-13 16:55:36 +00:00
jan.nijtmans 8adc51759b Merge 8.7 2020-11-11 16:32:51 +00:00
culler c41e7ffff5 backout e56a9f214a 2020-11-10 18:47:47 +00:00
dgp bd382d87b3 merge 8.6 2020-11-10 18:38:43 +00:00
culler f809af7e7b Merge 8.6 2020-11-10 17:52:04 +00:00
culler a376924771 Set a default DESTDIR in macosx/GNUmakefile 2020-11-10 17:50:09 +00:00
dgp 1e44705dc8 merge 8.6 2020-11-10 16:40:14 +00:00
jan.nijtmans 72c49f6909 Merge 8.7. Tweak "tclreg" directory/library name and tclLoad.c, such that the entry point of the "dde" and "registry" extensions can be guessed correctly 2020-11-10 11:55:34 +00:00
dkf 20664f1fa1 Cleaning up the actions and trying to make them behave more usefully on Windows. 2020-11-10 09:26:10 +00:00
dkf 44d6e3ab5e merge mark 2020-11-09 09:15:00 +00:00
dkf 33955d6933 Copied build control files for Github Actions from 8.7 2020-11-09 09:13:57 +00:00
dkf f25b288505 Github Actions seem to be working 2020-11-09 09:07:42 +00:00
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
jan.nijtmans feb336f6b3 Lesser TIP #590 implementation: Only package renaming, no code changes 2020-11-06 09:59:46 +00:00
jan.nijtmans cccc07aa28 Merge 8.7 2020-11-05 17:06:22 +00:00
jan.nijtmans efe33a9fd9 Vary dltest package names for test purposes 2020-11-04 08:55:50 +00:00
jan.nijtmans ce3437bf88 Undo experimental unrelated changes 2020-11-03 16:40:32 +00:00
jan.nijtmans e69d8e8e92 Correct casing in some error-messages 2020-11-03 16:24:01 +00:00
jan.nijtmans 8607752aa6 Case-sensitive package names 2020-11-03 15:32:46 +00:00
dkf b7efdfe9bc Merge 8.7 2020-11-01 14:25:49 +00:00
dgp 27cdb091ce merge 8.6 2020-10-30 20:18:40 +00:00
jan.nijtmans d9737c5991 Merge 8.7 2020-10-30 15:13:12 +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
dgp 49268667e2 merge 8.6 2020-10-29 19:34:55 +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
jan.nijtmans fb3868da56 Merge 8.7 2020-10-28 15:10:36 +00:00
oehhar f145d5f091 Corrected doc: modifier C instead A 2020-10-28 06:59:12 +00:00
dgp f986721020 merge 8.6 2020-10-27 21:10:41 +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 577981fee9 re-trigger Travis build (and fix some eol-spacing) 2020-10-26 14:45:47 +00:00
jan.nijtmans 2ae1425228 Merge 8.6. Update "changes", but left out numerous utf-8 testsuite changes and TZ update (since 2020d will come soon) 2020-10-26 14:38:05 +00:00
oehhar 31145f178e Copied man page and test from Androwish https://www.androwish.org/home/ci/bc8b7e8094b66169 2020-10-26 10:53:29 +00:00
oehhar 861d8f512f TIP586: C String Parsing Support for binary scan 2020-10-25 20:03:10 +00:00
jan.nijtmans 63855497af Merge 8.7 2020-10-24 14:50:11 +00:00
jan.nijtmans 263312727f Merge 8.7 2020-10-24 14:41:49 +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
dgp d6340955cf merge 8.6 2020-10-23 12:53:44 +00:00
jan.nijtmans 021af90722 Merge 8.7 2020-10-22 14:31:26 +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
dgp 7d3aa74249 merge 8.6 2020-10-21 20:42:31 +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 c6927aa242 Merge 8.6 2020-10-19 19:45:47 +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
dgp bb9c489d22 merge 8.6 2020-10-19 14:09:14 +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 d970d6f3f6 Merge 8.7 2020-10-14 09:43:02 +00:00
jan.nijtmans e3f7f1bad8 Fix MSVC++ 6.0 build 2020-10-14 06:55:03 +00:00
jan.nijtmans cfc633e793 Merge 8.7 2020-10-14 06:08:50 +00:00
jan.nijtmans f70e1f98b3 Merge 8.6 2020-10-13 15:45:26 +00:00
dgp a3b5f315c6 merge 8.6 2020-10-13 15:39:21 +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
dgp dac1dde5ee merge 8.6 2020-10-09 11:41: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
dgp 359461f326 merge 8.6 2020-10-08 20:47:29 +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
dgp 5ef16060be merge 8.6 2020-10-07 14:55:25 +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
dgp cd8531d293 merge 8.6 2020-09-30 15:59:51 +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
dgp 4d4d50dc93 merge 8.6 2020-09-30 14:02:26 +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 0188c9979d merge 8.6 2020-09-28 13:07:29 +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 9a01f0fa35 Merge 8.6 2020-09-25 14:25:05 +00:00
jan.nijtmans 67f864dc65 It's "utf-8", not "utf8" or "UTF8" 2020-09-25 14:24:24 +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 26bb60bef7 merge-mark 2020-09-25 12:12:47 +00:00
jan.nijtmans 167555e6ab Merge 8.6 2020-09-25 11:21:05 +00:00
jan.nijtmans 00a4f18c38 When sourcing script files (even when simulating that through open|read), always set -eofchar \032 just like the source command does.
Possible security issue: this could make it possible to evaluate hidden content at the end of pkgIndex files.
2020-09-25 11:15:48 +00:00
jan.nijtmans 8f0b94f037 Merge 8.5 2020-09-25 11:13:11 +00:00
jan.nijtmans 9d34b872ce When sourcing script files (even when simulating that through open|read), always set -eofchar \032 just like the source command does.
Possible security issue: this could make it possible to evaluate hidden content at the end of pkgIndex files.
2020-09-25 11:09:08 +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 e4fcd7152b Add gcc-10 build to Travis 2020-09-24 06:41:04 +00:00
jan.nijtmans 3ee0402bd5 Let's see if we can recover from an occasional hickup like happened here: [https://travis-ci.org/github/tcltk/tcl/jobs/729226819] 2020-09-23 05:57:35 +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 a9ba2a08b5 When writing script files (like pkgIndex.tcl), always use -translation lf, so they don't cause problems on non-windows.
When reading script files, always use  -eofchar \032, as this might be left by Windows editors.
2020-09-22 12:18:17 +00:00
dgp 2394d76c65 merge 8.6 2020-09-21 14:10:25 +00:00
jan.nijtmans 768db27d4c Merge 8.7 2020-09-20 21:44:53 +00:00
jan.nijtmans ebb520a849 Merge 8.6 2020-09-20 21:39:02 +00:00
jan.nijtmans 9e43cbb973 Improve TclInvalidateStringRep() macro such that (objPtr) is only evaluated once. Addation brackets in TclHasStringRep() macro 2020-09-20 21:32:35 +00:00
dgp a9fc439a35 merge 8.7 2020-09-20 16:06:03 +00:00
dgp d7aa18482a merge 8.6 2020-09-20 16:00:38 +00:00
dgp 7f917c56f7 Merge 8.6 2020-09-20 15:58:58 +00:00
dgp 7a56ff406f Silence compiler warning -- fix safety of macro. 2020-09-20 15:53:37 +00:00
jan.nijtmans fb77f1148f Default utf-8 for source command 2020-09-20 11:17:56 +00:00
pooryorick 107d130ce3 Make the check to avoid generating a string representation in [uplevel] a little less intrusive. 2020-09-20 10:38:41 +00:00
jan.nijtmans 0266195479 Merge 8.7 2020-09-20 10:27:01 +00:00
jan.nijtmans bddd146942 Merge 8.6 2020-09-20 10:24:06 +00:00
jan.nijtmans e42885732a Merge 8.5 2020-09-20 10:21:07 +00:00
jan.nijtmans 1a94f57ab6 Backport many (formatting) changes in tools/*. Nothing functional.
testest.tcl: Use more uppercase hex.
2020-09-20 10:14:44 +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
dgp 249c689f2d merge mark (safety) 2020-09-19 16:48:29 +00:00
dgp 8c327a0577 merge 8.6 2020-09-19 16:35:01 +00:00
pooryorick ac45c8d851 Fix for [b9ecf3ce98], [uplevel] unnecessarily generates string representation. 2020-09-19 14:33:24 +00:00
pooryorick 8da77a52ef Fix for [b9ecf3ce98], [uplevel] unnecessarily generates string representation. 2020-09-19 14:10:44 +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 733b7a43a4 Eliminate many usages of Tcl_NewObj (-> TclNewObj) and Tcl_NewIntObj (-> TclNewIntObj or Tcl_NewWideIntObj) 2020-09-17 13:48:12 +00:00
jan.nijtmans 0a36b1187d Merge 8.7 2020-09-17 09:31:16 +00:00
jan.nijtmans bc10bf6d03 Change version number of http package from 2.9.5 -> 2.10.0a1, since it's different from the 2.9.5 version in Tcl 8.6.x.
Use "$idx >= 0" check in stead of "$idx > -1" everywhere.
2020-09-17 09:27:44 +00:00
jan.nijtmans e14285c3a1 Tcl 8.6 should not be tested with "package prefer latest" any more: All included packages are supposed to be stable. Not to be merged to 8.7 (which still contains unstable packages) 2020-09-17 08:37:09 +00:00
jan.nijtmans 32975bd346 Merge 8.6 2020-09-17 08:12:40 +00:00
jan.nijtmans 76e4a71917 Fix [835c93c000]: TIP #525 only implemented for non-singleproc case 2020-09-17 07:58:14 +00:00
jan.nijtmans 23520a7648 Fix [835c93c000]: TIP #525 only implemented for non-singleproc case 2020-09-17 07:47:24 +00:00
jan.nijtmans 1dc3124160 Proposed solution for [835c93c000]: TIP #525 only implemented for non-singleproc case 2020-09-16 12:17:54 +00:00
jan.nijtmans c11add7a17 Merge 8.7 2020-09-16 07:03:27 +00:00
jan.nijtmans 929fdafe13 Little tweak to makeHeader.tcl, not depending on lsearch returning -1 any more 2020-09-16 06:51:36 +00:00
dgp 1d9b09692d merge 8.6 2020-09-15 16:24:35 +00:00
dgp 93124d77a6 one more test 2020-09-15 15:52:44 +00:00
dgp 2238887c08 Add test for [string replace] troubles. 2020-09-15 15:51:00 +00:00
jan.nijtmans 5758c119f8 Merge 8.7 2020-09-15 15:07:44 +00:00
jan.nijtmans 245a63f491 Fix [b5777d3d32]: Crash corner-case in TIP #502 implementation 2020-09-15 14:48:49 +00:00
jan.nijtmans 39aec08fb0 Merge 8.7 2020-09-14 13:25:16 +00:00
jan.nijtmans 66798b2c01 Merge 8.6 2020-09-14 13:04:55 +00:00
jan.nijtmans 52f93c85fd Unbreak winFCmd-1.38 testcase on Windows 2020-09-14 12:58:26 +00:00
jan.nijtmans fa3cf75311 Add .bmp to .gitattributes. Simplify .fossil-settings/binary-glob 2020-09-14 12:48:10 +00:00
jan.nijtmans 262b6297ea Eliminate many "register" keywords (which do nothing with modern compilers)
Eliminate many unnecessary type-casts to (unsigned)
2020-09-14 12:31:56 +00:00
jan.nijtmans d0cfe30a0d Merge 8.6 2020-09-14 09:39:09 +00:00
jan.nijtmans f0ec68f072 Prevent the usage of the term safe/unsafe child. Suggested by Keith Nash. Thanks!
More usage of $index<0 in stead of $index==-1 consistantly
2020-09-14 09:22:18 +00:00
jan.nijtmans 5bef31d2da Prevent the usage of the term safe/unsafe child. Suggested by Keith Nash. Thanks! 2020-09-14 08:52:27 +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
fvogel e89503a925 Merge implementation of TIP #585 (Promote the INDEX_TEMP_TABLE flag of Tcl_GetIndexFromObj*() to the public interface) after positive vote from the TCT. 2020-09-13 20:28:02 +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 779b664e54 Merge 8.6 2020-09-11 13:59:11 +00:00
jan.nijtmans 6e44927248 Folow-up to previous commit: ExecStack is a FLEXARRAY too 2020-09-11 13:43:49 +00:00
jan.nijtmans aa4c91c838 Merge 8.7 2020-09-11 13:20:59 +00:00
jan.nijtmans 524b1d9fb2 Merge 8.6. Remove tests/safe-stock86.test for win builds too (GIT, what are you doing ...!) 2020-09-11 12:56:29 +00:00
jan.nijtmans 7f62b76887 Fix [https://core.tcl-lang.org/tk/tktview?name=3bc0f44ef3|3bc0f44ef3]: UBSan complains about body.chars[] usage.
(Yes, I know, this one is for Tk, but Tcl was using the same construct too ....)
2020-09-11 12:31:48 +00:00
jan.nijtmans 0715d88019 Use $index<0 in stead of $index==-1 consistantly 2020-09-11 08:09:20 +00:00
jan.nijtmans f796d62367 Use $index<0 in stead of $index==-1 consistantly 2020-09-11 07:28:14 +00:00
jan.nijtmans 2061afedcc Merge 8.7 2020-09-10 16:58:26 +00:00
jan.nijtmans f5ac592def Somehow GIT cannot remove tests/safe-stock86.test from (earlier) core-8-6-branch, so we do it. 2020-09-10 16:47:30 +00:00
jan.nijtmans 06d15abf35 Merge 8.6 2020-09-10 11:33:25 +00:00
jan.nijtmans 2592b1e93b Don't use sizeof() for structs containing a flexible array as last element. Lesson from [https://core.tcl-lang.org/tk/info/3bc0f44ef3|3bc0f44ef3]. Use TclOffset in stead. 2020-09-10 10:28:46 +00:00
jan.nijtmans 1699143ae3 Merge 8.7 2020-09-09 06:57:05 +00:00
jan.nijtmans 0e0be8492f Merge 8.6 2020-09-09 06:45:57 +00:00
jan.nijtmans f4d0f6366c Rename safe-stock86.test to safe-stock.test 2020-09-09 06:37:45 +00:00
jan.nijtmans 049f2bdf3e Merge-mark 2020-09-07 15:18:05 +00:00
jan.nijtmans 60fde1d90f Fix "make install" on MacOSX: interp: make-manpage-section: ignoring .VS "TIP 581" after .TP 2020-09-07 15:11:19 +00:00
jan.nijtmans 5cf272491e Merge 8.7 2020-09-07 13:40:43 +00:00
jan.nijtmans 45e00e9df8 Merge-mark 2020-09-07 11:58:34 +00:00
jan.nijtmans a7f1b76ad2 Backport genStubs.tcl from 8.7. This adds support for MP_WUR, not actually used by Tcl. But could be used in (libtommath-related) extensions 2020-09-07 11:56:51 +00:00
jan.nijtmans 76b326ce86 Re-apply fix for [c1a376375e0e6488], as the build-problems originated elsewhere 2020-09-06 14:36:52 +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 0d66de6c27 New bug-c1a376375e0e6488 branch with (up to now) failing solutions. Please make sure Travis builds OK before merging to core-8-branch 2020-09-05 21:37:18 +00:00
jan.nijtmans 618c49af4d Backout [c1a376375e0e6488]: imported namespace ensemble command name distorted during deletion trace on the import.
According to Travis, there's a memory leak which needs to be fixed first.
2020-09-05 21:33:49 +00:00
jan.nijtmans 87b0db4d91 Merge-mark 2020-09-05 20:58:31 +00:00
jan.nijtmans 66dd14a480 TIP #581: Last possible master/slave -> parent/child changes, without affecting anything serious 2020-09-05 20:45:04 +00:00
jan.nijtmans ff741e8b29 Merge 8.7 2020-09-04 16:45:51 +00:00
jan.nijtmans 0aaf6122a5 Merge 8.6 2020-09-04 16:44:00 +00:00
jan.nijtmans f2963d15d0 Let all test-cases load the "tcltest" package the same way. Depend on tcltest 2.5, since we never test with earlier tcltest versions 2020-09-04 15:48:08 +00:00
jan.nijtmans 1674055d7a Merge 8.7 2020-09-04 07:59:10 +00:00
jan.nijtmans fd253d8677 Merge 8.6 2020-09-04 07:50:41 +00:00
jan.nijtmans a4abf50c23 TIP #581: Mainly documentation and some testcases 2020-09-04 07:28:20 +00:00
jan.nijtmans db325590a7 Protect INST_STR_REPLACE too 2020-09-04 06:04:47 +00:00
fvogel 2b83b2c999 Implementation of TIP #585 - Promote the INDEX_TEMP_TABLE flag of Tcl_GetIndexFromObj*() to the public interface 2020-09-02 21:04:25 +00:00
dgp 9f309d56cc Tests string-12.2[45].* and fixes to INST_STRING_RANGE. 2020-09-02 20:50:43 +00:00
dgp 712f88bef7 Fix for test lindex-18.0 2020-09-02 20:22:15 +00:00
dgp ee7073e468 Test lindex-18.0 demonstrates same issue with INST_LIST_INDEX 2020-09-02 19:50:32 +00:00
dgp de2793025f Different fix where existing protection tools for nesting bytecode execution
calls are used.  This solution suggests there may be many more places needing
protection. Any routine that gets passed "interp" is a possibility.
2020-09-02 16:20:20 +00:00
jan.nijtmans ebff38e965 Merge 8.6 2020-09-02 13:05:12 +00:00
jan.nijtmans 4cdb0426f4 Fix windows debug build, broken by previous commit 2020-09-02 13:01:50 +00:00
jan.nijtmans d85664964a Merge 8.5
Mark io-46.1 and io-50.5 as "notOSX", since they sometimes fail in Travis
2020-09-02 12:51:01 +00:00
jan.nijtmans 264c84606b Upgrade Travis build from xcode 11.5 to 11.7 2020-09-02 11:46:35 +00:00
pooryorick 0ca087be13 Merge bug-c1a376375e0e6488 2020-09-02 09:30:15 +00:00
pooryorick 008cd7d2a9 Fix for [c1a376375e0e6488], imported namespace ensemble command name distorted
during deletion trace on the import
2020-09-01 22:36:41 +00:00
jan.nijtmans a9843e57c2 Merge 8.7 2020-09-01 10:51:52 +00:00
jan.nijtmans d995661712 Merge 8.6 2020-09-01 10:33:33 +00:00
jan.nijtmans 724de352e3 Many more internal master/slave -> parent/child renamings 2020-09-01 09:15:11 +00:00
jan.nijtmans 6b0b7154f1 Eliminate eol-spacing 2020-09-01 09:11:28 +00:00
jan.nijtmans d52b3eef80 Merge 8.6. More tests/tools updates. 2020-08-31 13:41:02 +00:00
jan.nijtmans 6c69cf8504 opt package: Change comment. 0.4.7 -> 0.4.8.
More Master -> Parent and Slave -> Child changes in (internal) library and test-cases
2020-08-31 13:12:01 +00:00
jan.nijtmans 9cb408090e Merge 8.6. More documentation updates 2020-08-31 12:42:36 +00:00
jan.nijtmans 0468c659f5 Merge 8.7 2020-08-31 09:37:17 +00:00
jan.nijtmans 30fd8c842c Implement TIP #581: Master/Slave 2020-08-31 09:23:59 +00:00
kjnash 4047fa1ba8 Merge safe-extra-tests-8-7. This removes tests/safe-stock86.test, replaces with tests appropriate for 8.7, including zipfs. 2020-08-30 22:38:13 +00:00
kjnash 517172cbc1 Merge 8.7 2020-08-30 22:25:04 +00:00
jan.nijtmans 0cb06ba3ca Merge 8.7 2020-08-30 21:31:49 +00:00
jan.nijtmans 3b621e98a7 Disable textcase safe-stock86-7.4, because http 1 is no longer present in the Tcl 8.7 distribution 2020-08-30 14:12:18 +00:00
jan.nijtmans 6ecf15e4f1 Merge 8.6 2020-08-29 22:03:41 +00:00
kjnash 213447740b Merge safe-bugfixes-8-6 2020-08-28 19:24:14 +00:00
kjnash 5bb0947953 Merge 8.6 2020-08-28 19:13:13 +00:00
kjnash 01b6b4918f Merge bug-c2dc1da315-for-8-6 2020-08-28 19:10:08 +00:00
kjnash db4a945f2e Merge http-bug-cb0373bb33-again-for-8-6 2020-08-28 18:54:34 +00:00
kjnash e3707dae62 Merge 8.6 2020-08-28 18:34:48 +00:00
kjnash 643301e722 Merge 8.6 2020-08-28 18:19:11 +00:00
sebres 30c146de54 merge 8.5 2020-08-28 15:02:25 +00:00
sebres be42098b82 tests/regexp.test: more tests for -indices by multi-byte utf-8 (considering -start position now) 2020-08-28 15:01:23 +00:00
sebres 6149b214e8 merge 8.5 2020-08-28 14:05:53 +00:00
sebres 4af0efa4cb tests/regexp.test: added missing test that cover indices if running on string containing multi-byte utf-8 chars (de/ru, byte offsets != char offsets) 2020-08-28 14:02:50 +00:00
jan.nijtmans 18dfd2c466 Missing testConstraint in socket.test 2020-08-28 10:03:46 +00:00
kjnash de01488d55 Merge 8.7 2020-08-28 01:47:35 +00:00
kjnash ab94b4c534 Merge safe-bugfixes-8-6 2020-08-28 01:31:43 +00:00
kjnash 953e3ea899 Update safe.test for new error message. 2020-08-28 01:03:23 +00:00
kjnash 3b1ca15e07 Provide error message if failed load does not. 2020-08-27 15:50:24 +00:00
kjnash c1d3ca8bae Merge 8.6 2020-08-27 15:15:55 +00:00
kjnash ffe530a1b2 Merge 8.6 2020-08-27 15:12:35 +00:00
kjnash df56e0e1df Merge 8.6 2020-08-26 19:43:56 +00:00
jan.nijtmans 532db685f4 Merge 8.7 2020-08-26 14:56:50 +00:00
jan.nijtmans 1f7a1beab2 Merge 8.6 2020-08-26 14:54:47 +00:00
jan.nijtmans 43d2fdc86c Testcase chan-io-50.1 still fails sometimes on MacOSX. So put same measures in place as in io-50.1. See: [f586089a2b] 2020-08-26 14:52:42 +00:00
kjnash 1d040a5bae Merge 8.6 2020-08-25 20:10:11 +00:00
jan.nijtmans 7cb8eb7218 Add test-case util-9.59, which demonstrates bug [b5777d3d32] 2020-08-25 16:09:04 +00:00
jan.nijtmans fcab027ea1 Merge 8.7 2020-08-25 10:50:49 +00:00
jan.nijtmans 7aa8eec897 Merge 8.6 2020-08-25 10:18:17 +00:00
jan.nijtmans 82df9bf8f8 Merge 8.5 2020-08-25 10:15:07 +00:00
jan.nijtmans 0d23451993 Keep gcc-5 and gcc-6 builds on "bionic", because "focal" doesn't have these 2020-08-25 09:42:37 +00:00
kjnash 171bea3624 Try another Travis build 2020-08-24 14:35:37 +00:00
kjnash 06a30a3a2a Fix for http bug c2dc1da315. Add tests. Add detail about -handler to http(n). Bump version to 2.9.5. 2020-08-24 14:28:22 +00:00
dkf fe94c1d6c4 Tricky case in function calls. 2020-08-24 13:31:00 +00:00
kjnash 120f367646 Create new branch named "bug-c2dc1da315-for-8-6" 2020-08-24 12:01:12 +00:00
jan.nijtmans 5f4ef0229d Backport improvemenets in .gitignore .fossil-settings/ignore-glob and win/nmakehlp.c 2020-08-24 10:19:49 +00:00
dkf 1192757fb7 Added two test cases 2020-08-24 08:56:34 +00:00
jan.nijtmans b2d5b24a70 Upgrade Travis build from bionic to focal 2020-08-24 07:57:04 +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
kjnash dc1ca56b6a Merge 8.6 2020-08-22 04:09:14 +00:00
kjnash d753cbc088 Merge 8.6 2020-08-22 04:04:05 +00:00
jan.nijtmans 749efa7f84 Merge-mark (for triggering another Travis build) 2020-08-21 14:22:37 +00:00
dgp 1971f6ab14 merge mark 2020-08-21 14:00:53 +00:00
dgp 591c90cd3e Suppress tests that fail starting with OSX Mojave. 2020-08-21 13:59:13 +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 40b259956c Merge 8.6 2020-08-19 15:37:08 +00:00
jan.nijtmans 430924da25 Merge 8.7 2020-08-19 12:56:29 +00:00
jan.nijtmans 5dfe6151b2 Merge 8.6 2020-08-18 13:33:04 +00:00
culler 6560454489 And remove the other $ and do the test slightly differently. Inability to test locally is a challenge. 2020-08-17 16:28:28 +00:00
culler 270c9b99d6 Add the missing $. 2020-08-17 16:21:05 +00:00
culler e1968256d8 Try to make io-50.6 more robust on the Travis macOS VM 2020-08-17 15:53:04 +00:00
pooryorick a5455c136a Fix for [688fcc7082fa], memory error during deletion of imported routine. 2020-08-16 10:04:44 +00:00
jan.nijtmans 7aa1b00468 Merge 8.7 2020-08-13 14:24:31 +00:00
jan.nijtmans acfbbfa019 More usage of TclNewIntObj() macro 2020-08-13 14:20:54 +00:00
jan.nijtmans 3c1b7f78dc Backout uncomplete fix for [3422267ed6b79922]: segmentation fault from deleting the the target of an imported alias during a trace on the target of the alias.
Since it causes build failures.
2020-08-13 12:42:38 +00:00
jan.nijtmans c903f10ac6 Merge 8.6 2020-08-13 10:17:32 +00:00
jan.nijtmans 840355939d Testcase event-1.1 (still) fails occasionally on macOS 2020-08-13 07:21:34 +00:00
pooryorick 478d024dc3 merge bug-3422267ed6b79922 2020-08-12 13:35:00 +00:00
pooryorick 80c4d66b21 body of test case for [3422267ed6b79922]. 2020-08-12 13:31:16 +00:00
pooryorick 1d4f551278 Fix for [3422267ed6b7], segmentation fault with imported alias. 2020-08-12 13:28:08 +00:00
jan.nijtmans 91c115082e Merge 8.7 2020-08-12 10:37:05 +00:00
jan.nijtmans 167c883c08 Merge 8.6. Better solution for [e87000d842] 2020-08-12 10:30:14 +00:00
jan.nijtmans 52549ae747 Fix [e87000d8425ab86a]: crash for "fconfigure stdout" in Win32.
Even though the crash cannot happen in Tcl 8.6, the function Tcl_BadChannelOption() was to blame, so better fix that in 8.6 too.
2020-08-12 10:25:49 +00:00
kjnash cc21b0be2a Bugfixes to the earlier fix of bug cb0373bb33, which broke HTTP/1.0 transactions in which the server indicates neither a Content-Length nor that it will close the socket on completion ("Connection: close"). The HTTP/1.1 rule is that the response header "Connection", if absent, must default to "keep-alive"; but this rule does not apply to HTTP/1.0. Add test http11-3.4 and bump version to 2.9.4. 2020-08-12 09:20:56 +00:00
jan.nijtmans 330e4967ab Fix value of CMD_DEAD flag 2020-08-12 07:10:57 +00:00
jan.nijtmans e299458ad5 Merge 8.7 2020-08-12 07:04:44 +00:00
jan.nijtmans a6f978e38d Merge 8.6 2020-08-12 06:47:37 +00:00
jan.nijtmans 39db46fbe1 Merge 8.5 2020-08-12 06:38:22 +00:00
jan.nijtmans 998409ea9b Update .travis.yml: remove deprecated "sudo" and rename "matrix" to "jobs"
Fix travis build for Windows/Debug
2020-08-12 06:36:31 +00:00
kjnash dddf36c195 Create new branch named "http-bug-cb0373bb33-again-for-8-6" 2020-08-12 03:46:38 +00:00
kjnash 4b9763f5f7 Merge 8.6 2020-08-11 18:30:03 +00:00
kjnash b5e50e499a Merge 8.7 2020-08-11 18:26:26 +00:00
jan.nijtmans dfcc8ce6e5 Merge 8.7 2020-08-11 13:47:04 +00:00
jan.nijtmans b3f8c269fa Fix [e87000d842]: crash for "fconfigure stdout" in Win32 2020-08-11 13:31:52 +00:00
jan.nijtmans c07c2bb91c Revert unintended ckalloc -> Tcl_Alloc change from previous commit 2020-08-11 13:15:37 +00:00
jan.nijtmans ec626d9a15 Merge 8.6 2020-08-11 13:07:24 +00:00
jan.nijtmans 30710a3cbd Code cleanup: less of use "register" keyword, and better use of typecasts 2020-08-11 12:44:21 +00:00
jan.nijtmans 1ba4ad76b3 Merge 8.7 2020-08-11 06:40:52 +00:00
jan.nijtmans 1c5831fa43 Use TCL_UNUSED in new test function 2020-08-11 06:32:58 +00:00
jan.nijtmans 09fa076d29 Merge 8.6 2020-08-11 06:08:05 +00:00
jan.nijtmans d73c6dbd81 Eliminate many unnecessary type-casts, mostly (size_t) when value is already size_t or int 2020-08-11 05:39:08 +00:00
pooryorick 3e14eccec5 merge 8.6 2020-08-10 19:36:24 +00:00
pooryorick 36d06e1e0b Fix mistake in [7eed2baf73] 2020-08-10 19:33:18 +00:00
pooryorick e29e808f57 Fix for [29e8848eb976], imported alias in a deletion trace. 2020-08-10 18:05:10 +00:00
sebres 6c0be70d2b amend to [8054e19451]: clean up timeout timer event (avoid timing issues on further tests) 2020-08-10 16:54:46 +00:00
sebres 9d14ed87d0 merge point (no functional changes, 8.6 already has proper implementation of TclCreateSocketAddress) 2020-08-10 16:25:14 +00:00
sebres f397a9ac9d create server socket with AI_PASSIVE flag (used for bind) 2020-08-10 16:16:46 +00:00
sebres 3cd49200d7 windows: replace gethostbyname with getaddrinfo (gethostbyname can hang sporadically, closes [7cf7cce423]);
corresponding to MS (https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-gethostbyname):
Developers creating Windows Sockets 2 applications are urged to use the getaddrinfo function instead of gethostbyname
2020-08-10 16:16:36 +00:00
jan.nijtmans 9eb49d9393 Merge 8.6 2020-08-10 15:02:39 +00:00
jan.nijtmans fd3f2b486c Remove use of (always enabled) "openpipe" constraint.
Add "testservicemode" constraint.
Change a single "chan close" into a "close" in a test-case
2020-08-10 14:57:19 +00:00
culler 4f513496d8 Fix [f586089a2b]: removing the call to Tcl_ServiceAll from Tcl_WaitForEvent on macOS exposed race conditions in some io, chanio and event tests. 2020-08-10 12:49:19 +00:00
culler 823d13656d More places where vwait needs to be used instead of update. 2020-08-10 01:27:37 +00:00
culler 5ed72038da use vwait in chanio tests too. 2020-08-09 14:33:43 +00:00
culler 1cadacd498 One more vwait. 2020-08-08 21:37:18 +00:00
culler 4b765a3aff Add and use testservicemode command; replace update by vwait 2020-08-08 21:27:06 +00:00
culler bb9b5e7606 Fix the expected result for chanio-50.6 2020-08-07 13:15:31 +00:00
culler f460900f9f Experiment with io-50.1 on Travis 2020-08-07 13:12:21 +00:00
culler 9557127009 Experiment with chan-io-50.6 on Travis 2020-08-06 13:09:22 +00:00
dgp d281b9c141 merge 8.6 2020-08-05 17:07:18 +00:00
jan.nijtmans 5c17e4a3f3 Rename (internal) cmdtype 'slave' to 'interp'. New in 8.7 (TIP #426) 2020-08-04 21:15:01 +00:00
jan.nijtmans 13e1ca04f2 Merge 8.6 2020-08-04 20:51:06 +00:00
jan.nijtmans a2db4b22d0 Merge 8.6 2020-08-03 22:45:03 +00:00
jan.nijtmans 35d0992797 doc fix 2020-08-03 22:42:50 +00:00
jan.nijtmans 0f06b1b667 Merge 8.6 2020-08-03 15:46:27 +00:00
jan.nijtmans d40f0fe1b3 Merge 8.6 2020-08-03 15:43:45 +00:00
jan.nijtmans b85dcaa1f8 Merge 8.6 2020-08-03 15:34:30 +00:00
jan.nijtmans ca51d20173 Testcase cleanup: transform *io-50.* testcases to new test syntax 2020-08-03 15:23:42 +00:00
kjnash b7a2d6b3d5 Merge 8.7 2020-07-30 11:42:40 +00:00
dgp d3aaff6a4e merge 8.6 2020-07-27 21:30:27 +00:00
jan.nijtmans c1c4367262 Merge 8.6 2020-07-26 17:00:51 +00:00
jan.nijtmans 33c3374723 Merge 8.7 2020-07-26 16:52:06 +00:00
jan.nijtmans 6cc6771848 http 2.9.3 works for Tcl 8.6 too 2020-07-26 16:44:35 +00:00
jan.nijtmans 8b6ceae325 Merge 8.6 2020-07-26 16:42:15 +00:00
jan.nijtmans 493182df76 Fix [cb0373bb33]: The http::geturl -keepalive option does not work as described in the man page. 2020-07-26 16:21:36 +00:00
jan.nijtmans 34aa927a14 Merge 8.6 2020-07-25 16:13:03 +00:00
jan.nijtmans ea4722d786 Merge 8.6 2020-07-25 15:59:46 +00:00
jan.nijtmans e14cd07627 Fix [20dccf1200]: htons-related test fails on Mac OSX Catalina (10.15)
Also, let http-related tests check if really http 2.9 is present
2020-07-25 15:56:10 +00:00
kjnash 17c6c5b754 Merge safe-bugfixes-8-6 2020-07-25 02:41:35 +00:00
kjnash 7c4cabaaae Fix for bug cb0373bb33. In HTTP/1.1 the response header "Connection", if absent, must default to "keep-alive". Add test http11-1.13 and bump version to 2.9.3. 2020-07-24 20:32:20 +00:00
dgp 64996d4c1a Some additions to changes. 2020-07-24 20:24:08 +00:00
kjnash c92e694158 Create new branch named "bug-cb0373bb33-for-8-6" 2020-07-24 18:46:38 +00:00
kjnash baf9ec7e2d Fix for bug cb0373bb33. In HTTP/1.1 the response header "Connection", if absent, must default to "keep-alive". Add test http11-1.13 and bump http version to 2.9.3. 2020-07-24 18:43:28 +00:00
kjnash a352df54ff Create new branch named "bug-cb0373bb33" 2020-07-24 11:32:47 +00:00
dgp 9185af5e7a merge 8.6 2020-07-23 19:17:44 +00:00
culler 0d231a3919 Check if reverting from os_unfair_lock to OSSpinLock has any effect. 2020-07-23 13:32:03 +00:00
kjnash 0e59966ac5 Improvements to removal of stale package data - bugfix for 1f63efa537 and 319e438f7f 2020-07-23 13:26:02 +00:00
kjnash d98891b0a7 Merge 8.7 2020-07-23 10:36:09 +00:00
kjnash bb22d2e869 Merge safe-bugfixes-8-6 2020-07-23 00:58:31 +00:00
kjnash 9684712f82 Whitespace and comment changes only. 2020-07-22 19:26:32 +00:00
kjnash 7f6ef9991b Whitespace changes only. 2020-07-22 19:07:30 +00:00
jan.nijtmans 7fba80338f Convert test-cases to do proper setup/cleanup 2020-07-22 15:28:39 +00:00
kjnash 00ec998267 Merge safe-bugfixes-8-6 2020-07-21 22:33:27 +00:00
kjnash 720183a9af In ::safe::interpFindInAccessPath, ::safe::interpAddToAccessPath, add a check that the interpreter belongs to the Safe Base. Add comments on why this is not done for ::safe::interpDelete. 2020-07-21 17:34:03 +00:00
kjnash 14cfbc651c Adapt Safe Base for interpreter names with namespace separators. Add a test and revise safe(n). Fixes bug [693851]. 2020-07-21 17:25:03 +00:00
jan.nijtmans 55bf49d15f Re-enable event-1.1, io-50.? and chan-io-50.? test-cases, trying to get a hand at the problem [f586089a2b] 2020-07-21 13:22:08 +00:00
jan.nijtmans 5016da417f Merge 8.6 2020-07-21 13:00:27 +00:00
jan.nijtmans 05f25dff9f Merge 8.7 2020-07-21 12:30:32 +00:00
jan.nijtmans d9db5801cc Merge 8.6 2020-07-21 12:28:29 +00:00
jan.nijtmans f472165a3d Mark chan-io-50.? and event-1.1 as nonPortable (for now): Those sometimes fail in the Travis environment, but in practice this doesn't seem to be a real problem. 2020-07-21 12:26:05 +00:00
jan.nijtmans cab7f268d6 Merge 8.6 2020-07-21 08:19:59 +00:00
jan.nijtmans f9c196e0e6 Merge 8.7 2020-07-21 07:54:20 +00:00
kjnash 204434e4d4 Use suitable -errorcode in safe::AliasSource if file does not exist or is unreadable. Fixes bug f3ba57600d. 2020-07-21 03:59:35 +00:00
kjnash 42d0a72e21 Merge safe-bugfixes-8-6 2020-07-20 23:16:10 +00:00
kjnash 51449d078f File tests/safe.test - rearrange tests - move tests of command/package loading that use Tcl files to new file tests/safe-stock87.test; move tests of zipfs compatibility to new file tests/safe-zipfs.test; renumber tests 9.8+ and add test 9.8 to replace old 5.1; move tests 7.0* to 5.*; reverse merge error (duplicate code). 2020-07-20 22:57:42 +00:00
kjnash e6a9f22409 File tests/safe.test - rearrange tests - move tests of command/package loading that use Tcl files to new file tests/safe-stock86.test; renumber tests 9.8+ and add test 9.8 to replace old 5.1; move tests 7.0* to 5.*. 2020-07-20 22:32:28 +00:00
jan.nijtmans d08036b2e4 Merge 8.6 2020-07-20 14:58:02 +00:00
jan.nijtmans 99d517e3cb Use "Global" in stead of "Master" internally, where "Master" is not used in the Master-Slave paradigm and where this makes sense. 2020-07-20 14:25:11 +00:00
jan.nijtmans a03c2cb1c2 Merge 8.6 2020-07-20 09:02:03 +00:00
jan.nijtmans a2e8561972 Merge 8.6 2020-07-20 08:35:54 +00:00
jan.nijtmans bbe2ea1d0e Merge 8.5.
Mark testcases io-50.* nonPortable: they fail too often in travis builds.
2020-07-20 08:24:16 +00:00
jan.nijtmans a15ea81906 Backport changes in tcltest package from higher Tcl versions.
Rename (internal, undocumented) tcltest::loadIntoSlaveInterpreter into tcltest::loadIntoChildInterpreter
tcltest 2.5.1 -> 2.5.3
2020-07-20 07:33:42 +00:00
kjnash d91e1e6efb Merge 8.7 2020-07-18 21:12:17 +00:00
kjnash 2705cb22d6 Merge safe-bugfixes-8-6 2020-07-18 20:17:59 +00:00
kjnash f48f2735de Merge 8.6 2020-07-18 19:08:19 +00:00
kjnash a541a7be4c Remove an old fix for ~ expansion in safe::AliasGlob that is now fixed by other means 2020-07-18 18:51:53 +00:00
kjnash d12eb85c8f Simplify case analysis in safe::AliasGlob 2020-07-18 18:06:30 +00:00
kjnash 201d01f9da Add explanatory comments to safe::AliasGlob 2020-07-18 17:51:27 +00:00
culler fb48c78e68 Merge 8.6 2020-07-18 16:26:14 +00:00
culler 4bca76be3b macOS: Remove Tcl_ServiceAll from Tcl_WaitForEvent and use os_unfair_lock if it is available. 2020-07-18 16:02:55 +00:00
kjnash 6310c709d3 Update comments about safe interpreters in library/tm.tcl and library/package.tcl so they agree with code 2020-07-18 13:22:31 +00:00
kjnash 690f2c2839 Bugfix argument combination -- and -directory in ::safe::AliasGlob. 2020-07-18 13:18:48 +00:00
kjnash a300508fee Remove unused code for *.tm from ::safe::AliasGlob. 2020-07-18 13:09:25 +00:00
kjnash 2a52ff28dd Remove code block in ::safe::AliasGlob that no longer serves a useful purpose. 2020-07-18 12:53:53 +00:00
kjnash 651f71edfd Tidying tests/safe.test 2020-07-18 04:12:08 +00:00
jan.nijtmans 8ca73e50ab Merge 8.6 2020-07-17 11:13:33 +00:00
jan.nijtmans 56e784cb1b Doc/internal variable tweaks 2020-07-17 11:11:47 +00:00
jan.nijtmans 9598926f42 New TIP #581 implementation 2020-07-17 10:42:29 +00:00
jan.nijtmans b4012447b0 Rename (internal) TclSetSlaveCancelFlags() to TclSetChildCancelFlags(). Follow-up for [e5ea53f27a391285]. 2020-07-17 07:37:30 +00:00
kjnash 85bdb7cb8e Fix error in merging safe.test with safe-bugfixes-8-6 commit d065e8c73d 2020-07-16 17:29:04 +00:00
kjnash a352c6e663 Merge 8.7 2020-07-16 16:45:06 +00:00
kjnash 711c236648 Merge 8.6 2020-07-16 16:32:06 +00:00
kjnash 7d6a2292b5 Amend tests safe-7.[124]z so they look for packages in the mounted zipfile 2020-07-16 15:55:19 +00:00
kjnash 18560d970e Bugfix tests/safe.test (as in safe-bugfixes-8-6). Harden tests safe-9.20z to safe-9.24z against indeterminate order of glob matches. Audit use of glob and tcl::tm in modified tests for cases with multiple matches. Simplify test comparison patterns. 2020-07-16 15:47:39 +00:00
sebres 3cb9dde39e merge 8.5 2020-07-16 15:36:08 +00:00
sebres 565b9dca95 cherry pick [df5f1e8652]: Fix [5bbd044812]: Fix index underflow. 2020-07-16 15:34:57 +00:00
jan.nijtmans a2560488bf Merge 8.6 2020-07-16 13:44:42 +00:00
jan.nijtmans 8bd505ac83 Fix [5bbd044812]: Fix index underflow. 2020-07-16 13:42:57 +00:00
kjnash d44da35f2c Remove diagnostic spaces 2020-07-16 12:17:59 +00:00
kjnash 4c85e21797 Merge safe-bugfixes-8-6 2020-07-16 12:16:01 +00:00
kjnash a757f1e30d Merge 8.7 2020-07-16 11:02:38 +00:00
jan.nijtmans dc175e403d More of the same (see previous commit) 2020-07-16 10:48:36 +00:00
jan.nijtmans 15c92b9300 simplify check for ::tcltest namespace in testcases 2020-07-16 10:42:26 +00:00
jan.nijtmans 03daf47cf0 Purge end-of-line spacing in tools/encoding directory 2020-07-16 10:41:23 +00:00
kjnash 634e9464b5 Merge 8.6 2020-07-16 10:26:31 +00:00
jan.nijtmans 409c164695 Merge 8.6 2020-07-16 08:35:24 +00:00
kjnash 79214905a2 Bugfix tests/safe.test. Harden tests safe-9.20 to safe-9.24 against indeterminate order of glob matches. Audit use of glob and tcl::tm in modified tests for cases with multiple matches. Simplify test comparison patterns. 2020-07-15 23:11:46 +00:00
sebres 439f72dad5 closes [3c6e47363e]: missing de-duplication mechanism for nested TEBC starting from scratch (e. g. nested compiled blocks enclosed in parent cycle), so reset interp's result to avoid possible duplications of large objects by first commands like lappend, append, etc 2020-07-15 20:06:07 +00:00
jan.nijtmans a13bb8b0ca Merge 8.7 2020-07-15 18:59:14 +00:00
jan.nijtmans 5a82fc544e Change (internal) function ::auto_mkindex_parser::slavehook to ::auto_mkindex_parser::childhook. Some people care .... 2020-07-15 18:56:46 +00:00
kjnash 69fdd85b74 Bugfix in library/safe.tcl - AliasGlob passes -join to glob inappropriately; pass new test safe-13.7a 2020-07-15 17:03:47 +00:00
kjnash c14dbae8ad Bugfix in library/safe.tcl - when deleting a safe interpreter, delete its sub-interpreters cleanly; pass revised test safe-7.3 2020-07-15 13:22:54 +00:00
jan.nijtmans a812785399 Merge 8.7 2020-07-15 09:10:37 +00:00
jan.nijtmans 2ad2cfc658 Merge 8.6 2020-07-15 09:08:42 +00:00
jan.nijtmans 1e3b6b37d1 Rename doc/CrtSlave.3 to doc/CrtAlias.3. Some more doc tweaks. 2020-07-15 09:07:00 +00:00
kjnash e152f1757c Merge safe-extra-tests-8-7 2020-07-14 15:56:18 +00:00
kjnash 5e45a1d39a Remove diagnostic puts 2020-07-14 15:45:31 +00:00
kjnash be285dcca7 Merge 8.7 2020-07-14 15:27:44 +00:00
kjnash 4e07591402 Merge safe-bugfixes-8-6 2020-07-14 15:13:28 +00:00
kjnash ea2a934216 Merge 8.6 2020-07-14 14:57:07 +00:00
jan.nijtmans 02b1b013df Merge 8.6 2020-07-14 10:25:52 +00:00
jan.nijtmans 326725ae5d Merge 8.7 2020-07-14 10:21:21 +00:00
jan.nijtmans dfb89e6d09 Merge 8.6 2020-07-14 10:19:08 +00:00
jan.nijtmans 2ef9dcb65f (cherry-pick): Bugfix in library/tm.tcl - in a safe interp ::tcl::tm::UnknownHandler should always use the freshest "package ifneeded" 2020-07-14 10:16:05 +00:00
kjnash fc071d71a5 Merge safe-extra-tests-8-7 2020-07-13 18:23:55 +00:00
kjnash 7e2905fd74 safe.test - add zipfile and tests of loading files from zipfs 2020-07-13 18:14:33 +00:00
kjnash 7141714e0b safe.test - use opt instead of http for tests with stock packages; tests work whether and how opt is installed; add tests 9.10opt, 9.12opt 2020-07-13 17:36:16 +00:00
kjnash 4c9b6b2c4b Create new branch named "safe-extra-tests-8-7" 2020-07-13 15:15:56 +00:00
kjnash e7adb3dadd Merge 8.6 2020-07-13 15:14:01 +00:00
kjnash a26b107bd3 Merge safe-bugfixes-8-6 2020-07-13 15:04:34 +00:00
kjnash 26cf086c2c Comments only. 2020-07-13 14:57:44 +00:00
kjnash 7169e0abe0 Add tests to tests/safe.test 2020-07-13 14:55:28 +00:00
kjnash 250532912f Merge 8.6 2020-07-13 13:49:43 +00:00
kjnash 6d32ec4c20 Merge safe-bugfixes-8-6 2020-07-13 13:30:11 +00:00
kjnash 4c326aa381 Bugfix in library/safe.tcl - when auto_reset, also reload module data; pass test safe-9.24 2020-07-13 12:52:53 +00:00
kjnash 12ba446acb Bugfix in library/tm.tcl - in a safe interp ::tcl::tm::UnknownHandler should always use the freshest "package ifneeded"; pass test safe-9.23 2020-07-13 12:37:16 +00:00
kjnash f0a97b5c71 Bugfix in library/safe.tcl - interpConfigure use revised value of tcl::tm::list; pass tests safe-9.21, safe-9.22 2020-07-13 12:32:08 +00:00
kjnash cca23e5286 Bugfix in library/safe.tcl - only add tm roots to tcl::tm::list; pass test safe-9.20 2020-07-13 12:25:10 +00:00
kjnash af4b36c13d Bugfix in library/safe.tcl - remove impossible error message in safe::interpFindInAccessPath; pass test safe-9.12 2020-07-13 12:13:07 +00:00
kjnash 9c9af976ae Bugfix in library/safe.tcl - when auto_reset, also reload pkgIndex.tcl data; pass tests safe-9.10, safe-9.11 2020-07-13 12:09:47 +00:00
kjnash c256107a5c Bugfix in library/safe.tcl for doreset (auto_reset); pass test safe-9.9 2020-07-13 11:49:46 +00:00
kjnash 2c1750c78f Add new tests to tests/safe.test. 2020-07-13 11:43:52 +00:00
kjnash 0d59960edf Add example files for use in tests/safe.test; add tests of the files themselves. 2020-07-13 11:22:37 +00:00
kjnash 7f5a85dcea Create new branch named "safe-bugfixes-8-6" 2020-07-13 10:39:22 +00:00
jan.nijtmans 57dc3221c2 Merge 8.6 2020-07-11 19:56:07 +00:00
jan.nijtmans 507043f8d2 Fix [8ef3897561]: Typo in [dict append] man page 2020-07-11 19:40:08 +00:00
jan.nijtmans b8bffd00e3 Merge 8.6 2020-07-11 16:06:44 +00:00
jan.nijtmans 2ead563282 Fix 4 test-cases, which fail when running from the western hemisphere 2020-07-11 16:01:28 +00:00
dgp e2610bc7c7 merge 8.6 2020-07-10 18:42:34 +00:00
jan.nijtmans f5fb87d341 Merge 8.6 2020-07-10 10:39:06 +00:00
jan.nijtmans ae39d915c8 Fix test-cases clock-34.65 and clock-34.66, they seem to be affected by summertime 2020-07-10 10:32:00 +00:00
jan.nijtmans f556243f24 Fix [5019748c73]: FreeScan resp. Oldscan does not recognize positive time zone offset 2020-07-10 10:03:53 +00:00
jan.nijtmans a25f4ac082 Fix utf-1.13 testcase for TCL_UTF_MAX>3 2020-07-10 08:52:13 +00:00
jan.nijtmans 9fca62d042 Merge 8.6. Fix documentation for \Uhhhhhhhh escape sequences > U+FFFF, which are no longer "reserved for the future": It's already working in 8.7. 2020-07-10 08:32:16 +00:00
jan.nijtmans 0fab7463a3 Addendum to [60fab362ce]: "Also don't allow surrogates in \U??????". This change was only meant for builds with TCL_UTF_MAX > 3. 2020-07-10 07:26:55 +00:00
jan.nijtmans ae4f67d283 First bunch of changes. Please review! 2020-07-09 10:14:50 +00:00
jan.nijtmans 1994f539c3 Merge 8.7 2020-07-09 08:11:03 +00:00
jan.nijtmans 5079cec18e Merge 8.6 2020-07-09 08:10:18 +00:00
jan.nijtmans f77d355196 Proposed fix for [5019748c73]: FreeScan resp. Oldscan does not recognize positive time zone offset like "31 Jan 14 23:59:59 +0100" 2020-07-09 07:57:32 +00:00
jan.nijtmans 1dfea026b8 Fix [a1bd37b719]: clock (free)scan of ISO 8601 timestamp with literal T behaves strange 2020-07-09 07:21:10 +00:00
jan.nijtmans fd9cd061d5 Merge 8.6 2020-07-08 14:42:25 +00:00
dgp f289a9d57e merge 8.6 2020-07-07 15:32:20 +00:00
jan.nijtmans 80b6a1a464 Merge 8.7 2020-07-07 14:38:46 +00:00
jan.nijtmans 4424192e29 Merge 8.6 2020-07-07 14:37:10 +00:00
jan.nijtmans 131eb6c30b Make sure that in tclConfig.sh for Windows ${DBGX} is expanded before exporting TCL_(SHARED|UNSHARED|EXPORT)_LIB_SUFFIX there. Otherwise extensions removing ${DBGX} from their implementation (see TIP #578) will break on Windows.
tclConfig.sh should never contain the macro ${DBGX} any more. (On UNIX this was already correct, on Windows it was forgotten)
2020-07-07 12:52:24 +00:00
dgp c56d964dcb Bump to 8.6.11 for release. 2020-07-06 20:34:31 +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 20c87d8e23 TIP #578 implementation: Death to TCL_DBGX 2020-07-03 10:08:52 +00:00
jan.nijtmans d4e9b75789 Merge 8.6 2020-07-03 08:50:36 +00:00
jan.nijtmans 870670e4d4 In tcl_startOfPreviousWord, don't bother doing a regexp when $start <= 0. 2020-07-03 08:39:53 +00:00
sebres 932835c1eb doc/clock.n: clearer form explaininng format groups on output 2020-06-30 11:59:48 +00:00
jan.nijtmans cd166c904c Merge 8.7 2020-06-29 13:18:56 +00:00
jan.nijtmans 7311081584 Merge 8.6 2020-06-29 13:16:13 +00:00
jan.nijtmans 22d9a275de A few missing entries in .fossil-settings/ignore-glob and .gitignore 2020-06-29 12:41:08 +00:00
jan.nijtmans 9c113f21c0 Merge 8.7 2020-06-29 10:38:54 +00:00
jan.nijtmans f5a587a8d6 Merge 8.6: Re-generate unix/tclConfig.h.in 2020-06-29 10:26:04 +00:00
jan.nijtmans 1aeadf38fa Re-generate unix/tclConfig.h.in 2020-06-29 10:21:58 +00:00
jan.nijtmans 498a9bf1f9 Merge 8.7 2020-06-28 15:20:14 +00:00
jan.nijtmans 928ceff7c4 Merge 8.6 2020-06-28 15:15:28 +00:00
jan.nijtmans 2c7d6403e8 MacOSX: add some type-casts, improving C++ compatibility. Make sure that strstr and strtoul() are not configured as invalid: Mac is more strict in exact function signatures. Backported from 8.7 2020-06-28 15:13:31 +00:00
jan.nijtmans 06f1954e8d Merge make-dist branch: Now travis checks regressions in "make dist" too 2020-06-28 14:44:57 +00:00
jan.nijtmans e758e34934 Add "make dist" target to Travis build, as regression test. This should continue to work. 2020-06-26 13:29:41 +00:00
jan.nijtmans 2232bed6d6 Merge 8.7 2020-06-25 13:02:52 +00:00
jan.nijtmans 65ac602b3d Merge 8.6 2020-06-25 13:01:59 +00:00
jan.nijtmans 538b919b18 Merge 8.5 2020-06-25 12:58:00 +00:00
jan.nijtmans 97d82cb4b1 Clean-up compat functions, not using "register" any more, and fix some signatures (constify) matching nowadays standards. All backported from core-8-branch with modifications. 2020-06-25 12:11:56 +00:00
jan.nijtmans 2cede8bf26 Merge 8.7 2020-06-25 11:31:05 +00:00
jan.nijtmans 33781b4f56 Merge 8.6 2020-06-25 11:26:40 +00:00
jan.nijtmans 53a1c724ce Merge 8.5 2020-06-25 07:38:27 +00:00
sebres a4d1a762c2 merge 8.7 2020-06-24 16:23:53 +00:00
jan.nijtmans 56d2c7e23c One include too much 2020-06-24 14:56:12 +00:00
sebres dbab2685a1 amend to 8.6th zlib-fix resolving warnings in 8.7 (int vs size_t, void * vs char *, etc) 2020-06-24 14:53:08 +00:00
sebres 04f23379c6 merge 8.6 2020-06-24 14:48:22 +00:00
jan.nijtmans efc338be24 re-generate unix/configure 2020-06-24 14:40:17 +00:00
jan.nijtmans 034bd13a3c Fix [9080d6a871]: Build fix for tcl on macOS on Apple Silicon 2020-06-24 13:05:47 +00:00
jan.nijtmans ea3e48843d Add "manifest.uuid" to the distribution, so we can see exactly where "make dist" came from. In case of "git", we can see that too 2020-06-24 12:24:28 +00:00
sebres 3f90f816f8 merge zlib-chan-f70ce1fead, [f70ce1fead] - rewritten and optimized inflate:
default read ahead limit set to 4K (instead of 1); better SF/BO prevention;
code simplification, no interim copy/move buffers, no decompression d-string, the inflate occurring in single step (ResultDecompress combines ResultGenerate and ResultCopy); 
better handling in non-blocking mode (also recognizes or distinguish no data/EAGAIN cases).
2020-06-24 09:02:01 +00:00
sebres 094567e57a zlib.test: replaces tests/assets/zlib.bin with inlined version (creating test file on demand), use temp files (instead of current directory) for interim files 2020-06-23 20:40:49 +00:00
kjnash 97499f5ed8 Fix for ticket 41c9857bdd 2020-06-23 18:10:33 +00:00
jan.nijtmans e3bd336bae Merge 8.6 2020-06-23 09:43:18 +00:00
jan.nijtmans ca6983f6f2 Merge 8.7 2020-06-23 09:38:50 +00:00
jan.nijtmans 9deb7bb1f7 Merge 8.6 2020-06-23 09:33:19 +00:00
jan.nijtmans dd90522511 avoid %pure-parser deprecation warning from Bison 3.4 2020-06-23 09:28:59 +00:00
jan.nijtmans 75376fc361 re-generate with bison 3.1 2020-06-23 07:13:15 +00:00
jan.nijtmans 6ed8324a38 Merge 8.6. re-generate tclParse.c 2020-06-23 06:48:22 +00:00
aku dbc3e640a2 Added two tests demonstrating that the tickets [8af92dfb66] (bad stream expansion) and [f70ce1fead] (multi-stream decoding without readahead limit shenanigans) are fixed.
Verified that the tests fail with commit [4eb66645d6], just before the zlib fixes.

Tweaked the zlib manpage paragraphs about -limit.
Tweaked some code comments.
Fixed typos in description of two unrelated zlib tests.
2020-06-23 06:37:59 +00:00
jan.nijtmans 9f7678907a Merge-mark 2020-06-23 06:36:50 +00:00
jan.nijtmans a69b65b5a5 Backport some changes in tclGetDate.y from 8.7. 2020-06-23 06:35:09 +00:00
jan.nijtmans 1acb4994ab Merge 8.7 2020-06-23 06:19:08 +00:00
jan.nijtmans 468aa8f8f0 Backport some recent changes in tclDate.c back to tclGetDate.y, so they are not lost when re-generating 2020-06-23 06:16:13 +00:00
culler a0457efe80 Use the os_unfair_lock in place of OSSpinLock when the minimum build target is newer than OSX 10.12 2020-06-22 16:12:00 +00:00
jan.nijtmans b63a473177 Merge 8.7 2020-06-22 12:49:30 +00:00
jan.nijtmans 12c42f98ca Merge 8.6 2020-06-22 12:48:44 +00:00
jan.nijtmans fbeaf61e53 Merge 8.5 2020-06-22 12:47:42 +00:00
jan.nijtmans 710aa41716 Remove .fossil-settings/crnl-glob, as it is not used in fossil any more.
Don't declare .sln files both as binary and as CRLF in git.
2020-06-22 12:46:31 +00:00
jan.nijtmans 0076acc80a Merge 8.7 2020-06-22 12:27:11 +00:00
jan.nijtmans e99f910b0e Merge 8.6 2020-06-22 12:26:00 +00:00
jan.nijtmans c38c4c07b2 Change all *.sln to CRLF format, so they are directly usable in Visual Studio projects 2020-06-22 12:24:22 +00:00
jan.nijtmans e599140047 Merge 8.7 2020-06-22 12:00:01 +00:00
jan.nijtmans dd000ce1a3 Merge 8.6 2020-06-22 11:58:45 +00:00
jan.nijtmans cb1ff2a4d7 library/reg/pkgIndex.tcl should not be executable 2020-06-22 11:57:32 +00:00
jan.nijtmans 55e051771c Merge 8.5 2020-06-22 11:56:47 +00:00
jan.nijtmans 0568c4a531 Make sure that files like _FOSSIL_ or .flsckout are never committed to a GIT repository 2020-06-22 11:54:26 +00:00
jan.nijtmans 730530baba Merge 8.7 2020-06-22 10:24:09 +00:00
jan.nijtmans 0bf471f204 Code simplification in msgcat::mcutil::getpreferences 2020-06-22 08:25:14 +00:00
jan.nijtmans 6cabd70c0d Rewrite msgcat::mcutil::getpreferences, not depending on 'string last' returning -1 any more 2020-06-21 17:03:54 +00:00
jan.nijtmans 7231e548e3 Merge 8.7 2020-06-21 15:57:01 +00:00
jan.nijtmans 5bbb147862 Fix for [b179286248]: tclZipfs.c Build Error on CentOS 6 2020-06-21 15:53:25 +00:00
jan.nijtmans e27302a170 Merge 8.6 2020-06-21 15:51:13 +00:00
jan.nijtmans 5f27d2b0e9 Clearify documentation regarding [a7c1c2c7e5] 2020-06-21 15:42:18 +00:00
kjnash 02dc502566 Merge bug-f81beca7af 2020-06-21 14:50:31 +00:00
kjnash 972914223a Merge bug-f81beca7af 2020-06-19 17:44:07 +00:00
kjnash 448bf94c32 Bump http version to 2.9.2 2020-06-19 14:40:58 +00:00
kjnash 4b7534f6ab Merge 8.6 2020-06-19 12:37:17 +00:00
jan.nijtmans 7ee73a90ca merge-mark 2020-06-19 10:29:07 +00:00
jan.nijtmans 0a8c9a817e sync zlib's crypt.h with version in Tcl 8.7 2020-06-19 10:27:45 +00:00
jan.nijtmans f15ef338b9 Suggested fix for [b179286248]: tclZipfs.c Build Error on CentOS 6 2020-06-19 09:48:44 +00:00
jan.nijtmans 1c6ca85d98 Make tclStringClassTable a little bit smaller, and save a pointer access when accessing the name of an entry. 2020-06-19 09:34:46 +00:00
andy 97399b2494 Correct man page per [ad8df845fef2c76d95b9f1aaa4815f3b23d4c472] 2020-06-19 06:06:07 +00:00
culler 476d33d6b6 Sometimes the waitTime needs to be positive to avoid missing channel io events. 2020-06-18 20:02:01 +00:00
jan.nijtmans 4dc8aea827 Merge 8.7 2020-06-16 12:43:01 +00:00
jan.nijtmans 298726d3b8 Make Tcl_GetIntForIndex() do reasonable things when endValue < -1 and when indexPtr == NULL. 2020-06-16 12:24:25 +00:00
jan.nijtmans c1d51931d9 Added DEPRECATED comment in tclConfig.sh.in (both UNIX and win32) 2020-06-15 14:14:08 +00:00
jan.nijtmans c024f79ece Merge 8.7 2020-06-15 12:43:17 +00:00
jan.nijtmans 5b449103dc Merge 8.7 2020-06-12 14:56:17 +00:00
jan.nijtmans 1de8df2918 Merge 8.6 2020-06-12 14:49:03 +00:00
jan.nijtmans 9e628cd450 rules.vc: No need to redefine values which are already the default. tclWinPort.h: Fix comment 2020-06-12 14:44:05 +00:00
jan.nijtmans b3e1525f8a Merge 8.7 2020-06-12 14:15:55 +00:00
jan.nijtmans 9e196fa34a Merge 8.6 2020-06-12 14:11:32 +00:00
jan.nijtmans 71e331a3d7 rules.vc: No need to redefine values which are already the default.
tclWinPort.h: Fix comment
2020-06-12 12:56:34 +00:00
jan.nijtmans 258e0ce323 Not really a problem, since SHLIB_CFLAGS is empty on win32 .... still this is wrong... 2020-06-11 14:34:21 +00:00
jan.nijtmans 84e4abc973 Merge 8.7 2020-06-10 09:40:32 +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 a5bc6e1045 Add "-fno-common" to SHARED_CFLAGS on various platforms (e.g. Linux, CYGWIN). This is the default with gcc-10, so better make sure it doesn't cause problems 2020-06-08 09:30:03 +00:00
jan.nijtmans 4a54b3c89a Merge-mark 8.5 (TZ update already done here)
Don't try to compile with MINGW32_ in /unix directory. 
Minor comment fix.
2020-06-08 07:47:39 +00:00
culler b345d9a593 Code simplification and cleanup 2020-06-07 22:15: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 495791db7a If "endValue" doesn't matter in TclGetIntForIndexM() call, use INT_MAX - 1, not 0 or -1. This results in skipping the Tcl_GetIntFromObj() call for all non-negative integerss 2020-06-07 19:11:27 +00:00
culler ad53d45452 Address macOS hangs in Tcl_WaitForEvent. 2020-06-06 21:23:50 +00:00
jan.nijtmans 9ee975c8c8 (cherry-pick): Update TZ info to tzdata2020a. 2020-06-06 21:22:18 +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
José Ignacio Marín c41c767bff Update TZ info to tzdata2020a. 2020-06-06 08:01:20 +00:00
José Ignacio Marín 6b9a02967b Update TZ info to tzdata2020a. 2020-06-06 07:52:49 +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 63d413a031 Improve "end-offset" type such that it can not only handle "end+/-int" format, but "int+/-int" as well. Both of those 2 forms can now be cached in the Tcl_Obj's intrep. 2020-06-05 11:27:18 +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 ee793dfa1e Merge 8.6 2020-06-04 14:38:54 +00:00
sebres 1d722dd564 merge 8.5 2020-06-02 17:05:50 +00:00
sebres f507368556 avoid segfault if Tcl_FreeParse, if parse structure remains uninitialized (parse.tokenPtr may be used uninitialized, for instance it returns from Tcl_ParseCommand etc with error before TclParseInit gets called) 2020-06-02 17:01:52 +00:00
jan.nijtmans 654d14d706 Merge 8.7 2020-05-31 20:29:48 +00:00
jan.nijtmans e1737976f9 Make tclTomMath.h usable without tommath.h by defining TCL_NO_TOMMATH_H 2020-05-31 20:24:18 +00:00
jan.nijtmans 083fb81946 Merge 8.7 2020-05-31 16:38:25 +00:00
griffin f857db0e8e tip-551 implementation. 2020-05-31 00:37:01 +00:00
griffin ea25a2d32d tip-551 implementation. 2020-05-30 23:47:10 +00:00
sebres 6e8b20f551 no functional changes (closed bracket in comment, lint concerns only) 2020-05-29 19:02:24 +00:00
jan.nijtmans 0b3e25d9ac Merge 8.7 2020-05-29 14:54:17 +00:00
jan.nijtmans a09671a0a0 Change implementation "charstart", not behaving as "prevchar" any more. Also optimize charend/charstart for TCL_UTF_MAX>3 (not need to do actual conversion then). 2020-05-29 13:36:58 +00:00
jan.nijtmans 494d65beb1 Remove nextword/prevword. Rename nextchar/prefchar to charend/charstart, for consistancy with wordend/wordstart. Slightly adapt wordend/wordstart when index is out of range. 2020-05-28 11:44:59 +00:00
jan.nijtmans 0f48821995 Merge 8.7 2020-05-28 09:49:10 +00:00
jan.nijtmans b44555477c In cookiejar, don't depend on "lrange $pieces 0 -1" doing anything useful. 2020-05-28 09:38:51 +00:00
jan.nijtmans 2956fdc0e0 clock-iso-2.patch 2020-05-27 21:11:36 +00:00
jan.nijtmans c1b87fe734 Merge 8.7 2020-05-27 15:25:19 +00:00
jan.nijtmans dc1e5ec547 Proposed soution for [a1bd37b719]: clock (free)scan of ISO 8601 timestamp with literal T behaves strange
(I like it!)
2020-05-27 13:58:09 +00:00
jan.nijtmans 4dd5bcda82 Escape the backslash in documentation 2020-05-27 13:21:07 +00:00
jan.nijtmans b8e14e3802 Merge 8.7 2020-05-27 06:35:35 +00:00
jan.nijtmans 41a031557e Fix documentation for tcl_wordchars/tcl_nonwordchars matching the implementation. See: [f1253530cdd8]. 2020-05-27 06:31:00 +00:00
jan.nijtmans ec76fbd070 Merge 8.7 2020-05-26 22:42:19 +00:00
jan.nijtmans f7024e99c9 Merge 8.6. Add MacOS build using Clang++ 2020-05-26 22:21:18 +00:00
jan.nijtmans df11804946 Merge 8.5 2020-05-26 21:49:33 +00:00
jan.nijtmans 0fce9600ee Finish implementation of "string nextchar|nextword|prevchar|prevword". Not thourougly test yet, but seems OK at first sight. 2020-05-25 11:53:11 +00:00
jan.nijtmans 52819473a2 Merge-mark 2020-05-25 09:48:24 +00:00
jan.nijtmans c856a8931e Merge 8.7 2020-05-25 09:46:54 +00:00
jan.nijtmans 53e89dcb06 Fix compiled "string is <class>" for characters > U+FFFF. Add testcase exposing this bug. 2020-05-25 09:32:13 +00:00
jan.nijtmans d3eb8cf5e3 Fix compiled "string is <class>" for TCL_UTF_MAX=4 build, for characters > U+FFFF. 2020-05-25 09:02:15 +00:00
jan.nijtmans 2d7e36f006 Fix "string is wordchar" in compiled case handling characters > U+FFFF. Adapt testcase exposing the problem. 2020-05-25 07:48:15 +00:00
jan.nijtmans f41dac7480 Merge 8.7 2020-05-24 22:34:15 +00:00
jan.nijtmans 2b1daf9bb2 Put back "string bytelength", not _that_ important for this TIP.
Document that Tcl_UtfCharComplete() can be used now to protect Tcl_UtfNext()
2020-05-24 22:29:07 +00:00
jan.nijtmans 017257e0ef Rewrite "string wordend" to use the Tcl_UniChar array. 2020-05-23 22:07:53 +00:00
jan.nijtmans 1075137cfc Fix testsuite when "string bytelength" doesn't exist. 2020-05-23 21:51:12 +00:00
griffin 6d2fb7b84d Update for TIP-551:
Add documentation for this feature to the expr man page.  The keyword
"integer value" has been added to the string and expr man page.

Added TCL_PARSE_NO_UNDERSCORE flag so that the digit separator can be
disabled when need when calling TclParseNumber.

Disabled digit separator in the "scan" command when scanning integers
and floating-point numbers.  This is the one place where existing code
may rely on number parsing to stop at an underscore.

Disallow underscore between the leading 0 and the radix specifiers
'x', 'o', 'b', and 'd'.

Added tests for disallowed underscore use and scan with underscores
between digits in the source string.
2020-05-23 03:32:30 +00:00
jan.nijtmans 0a2c1e30b1 Split more "string" functions. New helper function TclUniCharToUCS4(), not used yet but that's the next step. 2020-05-22 21:28:16 +00:00
jan.nijtmans d6deb4d6d9 New "string" subcommands: "nextchar", "nextword", "prevchar", "prevword". Not implemented yet (for now same as "wordstart"/"wordend"). Deprecate "string bytelength". 2020-05-22 15:27:43 +00:00
jan.nijtmans bc13dc596e Merge 8.7
Add function Tcl_UniCharFold(). It's the same as Tcl_UniCharToLower() for now, but that will change.
2020-05-22 14:36:34 +00:00
jan.nijtmans 434dbf154d Update from Xcode 11.4 to 11.5: Latest one should continue to work always. 2020-05-20 19:17:41 +00:00
jan.nijtmans c54b77dd74 Merge 8.7 2020-05-20 19:12:25 +00:00
jan.nijtmans 6de32c896a Adapt some comments, which are not correct for Tcl 8.7 any more 2020-05-20 19:09:25 +00:00
jan.nijtmans 4f097ce365 Possible simple solution for [4663e0636]: If TCL_NO_TOMMATH_H is defined, tclTomMath.h provides its own usable mp_int type (and some more) without the need for <tommath.h> 2020-05-19 15:42:53 +00:00
jan.nijtmans a45eed2a6c Merge-mark 2020-05-18 20:25:37 +00:00
jan.nijtmans e54cad6de1 Tiny fix for TCL_UTF_MAX=4 build only: Since Tcl_UtfNext() verifies 4 bytes for lead bytes F0-F5, Tcl_UtfCharComplete() should guarantee that those 4 bytes are available, not 3. 2020-05-18 20:23:30 +00:00
jan.nijtmans 3715125afc Merge 8.7 2020-05-18 12:48:11 +00:00
jan.nijtmans 61d8bcc4f6 If Tcl is built with external libtommath (TCL_WITH_EXTERNAL_TOMMATH is defined), do the tests with the external libtommath too.
Also, don't try to include <tommath.h> if BN_H_ is already defined.
2020-05-18 12:47:18 +00:00
jan.nijtmans 8c514a6101 Merge 8.7. Update documentation 2020-05-18 10:51:17 +00:00
jan.nijtmans 549548bacf Merge 8.7 2020-05-14 10:27:26 +00:00
jan.nijtmans 4f9fc86e5d Merge 8.6 2020-05-14 10:16:48 +00:00
jan.nijtmans 04cc75b6f5 In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence.
This effectively removes the last Tcl_UtfNext() call from the core, the only ones left are in tclTest.c for test commands. So the TclUtfNext() macro doesn't make sense any more.
Remove "register" keyword from many files.
2020-05-14 09:46:54 +00:00
jan.nijtmans 9402bad3f4 Merge 8.7. Further progress with TIP implementation. 2020-05-13 22:07:13 +00:00
jan.nijtmans 7d5a69fb31 Merge 8.7 2020-05-13 20:12:17 +00:00
jan.nijtmans 5efc8e4cfb Sync testcases with 8.6 2020-05-13 19:57:51 +00:00
jan.nijtmans 320e9f1a3c Merge-mark 2020-05-13 17:24:52 +00:00
jan.nijtmans dc5feac77a Testcase cleanup: Sync with testcases in core-8-6-branch 2020-05-13 17:23:33 +00:00
jan.nijtmans bfc534cb26 Merge 8.6 2020-05-13 16:56:17 +00:00
jan.nijtmans 20098349b6 Fix [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes 2020-05-13 16:51:16 +00:00
jan.nijtmans 683756c1bd In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence. 2020-05-13 15:23:08 +00:00
sebres 137310bc48 merge 8.5 2020-05-13 11:13:18 +00:00
sebres be515de988 clock.test: more tests for negative month offsets over threshold of a year (important for C-implementation like clock-speedup branch, see https://github.com/sebres/tclclockmod/issues/20#issuecomment-627704993) 2020-05-13 11:10:36 +00:00
jan.nijtmans 1997c5874f One Tcl_UtfPrev() -> TclUtfPrev() change. Just a little bit cheaper. 2020-05-13 10:19:27 +00:00
jan.nijtmans bc8811c498 Merge 8.7 2020-05-13 09:17:24 +00:00
jan.nijtmans ad28973d3c Merge 8.6 2020-05-13 09:13:11 +00:00
jan.nijtmans edef939668 Fix documentation of Tcl_UtfAtIndex(), in accordance with implementation. See: [81242a48c8] 2020-05-13 09:07:48 +00:00
jan.nijtmans c1638f8216 Fix documentation of Tcl_UtfAtIndex(), in accordance with implementation. See: [81242a48c8] 2020-05-13 09:06:07 +00:00
jan.nijtmans 2c687a4d1d Merge 8.7 2020-05-12 21:22:22 +00:00
jan.nijtmans 99c0854650 Little tweak to Tcl_UniCharAtIndex(): Protect against negative index, return -1 in that case. 2020-05-12 21:17:05 +00:00
jan.nijtmans e47d494335 Merge 8.7 2020-05-12 19:47:06 +00:00
jan.nijtmans dd3240d860 Merge 8.6 2020-05-12 19:41:53 +00:00
jan.nijtmans 24e4669c51 Revert implementation of Tcl_UniCharAtIndex() change done in this commit: [6596c4af31e29b5d]. Just look at the Tcl_UtfAtIndex() implementation for TCL_UTF_MAX=4: It's not the same.
There are no test-cases for Tcl_UniCharAtIndex(), see [f45d0dc1a7], not really worth to write one, since the implementation of this function didn't change in 20 years.
2020-05-12 19:20:20 +00:00
jan.nijtmans 648162204d First, experimental implementation of TIP #575. Barely tested, will fail. WIP 2020-05-12 18:59:04 +00:00
jan.nijtmans 820821d220 Change back implementation of Tcl_UtfAtIndex() to how it was. Update documentation. 2020-05-12 13:53:49 +00:00
jan.nijtmans 9cc2036c64 Merge testcase cleanup. Make Tcl_UtfPrev() behave the same for any TCL_UTF_MAX value, since we didn't figure out yet how it should behave for TCL_UTF_MAX>3. 2020-05-12 11:08:43 +00:00
jan.nijtmans 6256643a39 Merge 8.5 2020-05-12 10:34:46 +00:00
jan.nijtmans f5439dbff5 Unsplit some test-cases and renumber, for testcase which give the same results for different TCL_UTF_MAX values. 2020-05-12 10:08:13 +00:00
jan.nijtmans c1d202b112 Fix "knownBug" utf-4.11. Turns out a few other testcases where still not correct, now they are. Make next/prev behavior the same for all TCL_UTF_MAX values, since the exact behavior for TCL_UTF_MAX>3 should be worked out further for Tcl 8.7 first, then everything agreed upon can be backported. 2020-05-12 07:26:16 +00:00
jan.nijtmans c05a2fd565 Merge 8.6. Mark testcase utf-4.11 as "knownBug": this one still doesn't give the right answer. Add testcase 4.14 with similar corner-case, this one is OK. 2020-05-11 12:25:03 +00:00
jan.nijtmans d2d5ffc3b6 Merge 8.7 2020-05-11 11:26:27 +00:00
jan.nijtmans 09f4817353 Merge 8.6 2020-05-11 11:13:04 +00:00
jan.nijtmans 22648e5ebc Fix [d402ffe76]: Win32 potential crash when using main(). Thanks to Christian Werner for the Bug report and the Fix. 2020-05-11 10:41:30 +00:00
jan.nijtmans 89b734f448 Merge 8.6 2020-05-11 10:18:31 +00:00
jan.nijtmans 783b10ecec Tweak the Tcl_UtfPrev() implementation for TCL_UTF_MAX=4. This fixes 10 testcases in 4 groups (utf-7.10, utf-7.15, utf-7.40 and utf-7.48) , where Tcl_UtfPrev() didn't jump to the beginning of the UTF-8 character, even though there was no limitation which prevented that. So, this is actually a bug-fix for the TIP #389 implementation. 2020-05-11 10:03:46 +00:00
jan.nijtmans 5320364a0d Merge 8.7 2020-05-11 07:42:32 +00:00
jan.nijtmans 9751723176 Merge 8.6 2020-05-11 07:41:02 +00:00
jan.nijtmans 429a4171cb occurance -> occurrence. 2020-05-11 07:39:02 +00:00
jan.nijtmans 594b85ce18 Demonstration for documentation bug, and suggestion for improved wording. More explanation will follow in the ticket. 2020-05-10 20:58:10 +00:00
jan.nijtmans 27b62f923f Merge 8.7 2020-05-10 20:15:13 +00:00
jan.nijtmans 4e395367ed Merge 8.6 2020-05-10 20:11:31 +00:00
jan.nijtmans 0733f23274 Tweak Invalid() function: No need for "return 0" twice in the function.
For start bytes F0-F4, case TCL_UTF_MAX=4, Tcl_UtfToUniChar() reads 3 bytes but only advances 1 byte. So Tcl_UtfCharComplete() must make sure 3 bytes are available, not 1. Adapt Tcl_UtfCharComplete() accordingly. No change for TCL_UTF_MAX=[3|6]
2020-05-10 19:28:08 +00:00
jan.nijtmans 684a61e81e Merge-mark 2020-05-10 13:24:07 +00:00
jan.nijtmans 1102f22c5a Merge bug-31aa44375d branch. Mark encoding-15.5 testcase as "knownBug". Discussion is not over yet, but we need a base for comparision in order to come up with alternatives. 2020-05-10 13:10:38 +00:00
jan.nijtmans dc4018e40d Rebase to latest core-8-6-branch. 2020-05-08 15:19:43 +00:00
jan.nijtmans 0b4d13b85c Merge 8.7 2020-05-08 14:38:48 +00:00
jan.nijtmans 914c6a316c Merge 8.6 2020-05-08 14:30:24 +00:00
jan.nijtmans 07e0e0d06a Merge 8.5 2020-05-08 14:18:33 +00:00
jan.nijtmans 80317c0d6d More test-case cleanup. Enhance "testutfnext", so it can detect whether bytes after the string-end are read. The command will return -1 in that case. No need for additional arguments any more. 2020-05-08 13:47:57 +00:00
jan.nijtmans aca8877841 Merge 8.7 2020-05-08 08:15:13 +00:00
jan.nijtmans 747477a0ab Merge 8.6 2020-05-08 08:14:10 +00:00
jan.nijtmans 2f5e983d7a More testcases that can run without "testbytestring" constraints. 2020-05-08 08:09:42 +00:00
dgp fd87c6a4bb merge 8.7 2020-05-07 22:06:00 +00:00
dgp 5a4d7eb5b7 Merge 8.6 2020-05-07 21:59:47 +00:00
jan.nijtmans d239c63651 Change order of some testcases, matching 8.6 2020-05-07 21:52:53 +00:00
dgp 752f99d576 Merge changes from parent branch 2020-05-07 21:47:28 +00:00
jan.nijtmans 236622c790 Merge 8.6 2020-05-07 21:28:19 +00:00
dgp 098e262372 close fork 2020-05-07 20:50:55 +00:00
dgp 1a4f2bb690 merge 8.5 2020-05-07 20:44:28 +00:00
jan.nijtmans 6d3523c5c6 Merge 8.5 2020-05-07 20:36:23 +00:00
dgp 84eae501a3 close fork 2020-05-07 20:32:38 +00:00
dgp 3ec501f29b Same trouble with Tcl_UtfToUniCharDstring. Test and fix. 2020-05-07 20:31:48 +00:00
jan.nijtmans 9c8670e734 Simplify test-cases which don't need the "testbytestring" command to run without it. e.g. [testbytestring \xC2\xA2] is the same as just \xA2. 2020-05-07 20:24:58 +00:00
dgp 1b11028e45 merge 8.5 2020-05-07 19:22:06 +00:00
dgp 18b39d376e [b2816a3afe] Fix counting of malformed sequences at end of string. 2020-05-07 19:12:36 +00:00
dgp 2f7461f649 Fix. Note that just because we get one positive detection of an incomplete
character, we cannot conclude that the next byte also will be, or can by
taken as a single byte.  At least we cannot when TCL_UTF_MAX > 3 so that we
have room for valid two-byte sequences after incomplete sequence detection.
No need for conditional code, just use an algorithm that always works.
2020-05-07 19:08:24 +00:00
dgp 0187afa965 Test demonstrating bug in ticket [b2816a3afe]. 2020-05-07 18:56:37 +00:00
dgp 6d36267ee0 split and constrain the failing test. 2020-05-07 18:36:25 +00:00
dgp 8fc3788533 New approach to fixing the regression reported in [31aa44375d] builds on
recent reforms.  Older efforts aborted.
2020-05-07 18:23:36 +00:00
dgp a905663fb1 merge 8.6 2020-05-07 16:44:08 +00:00
jan.nijtmans 38a609f39c Merge 8.7 2020-05-07 14:47:56 +00:00
jan.nijtmans d8bebc9a8f Merge 8.6 2020-05-07 14:38:44 +00:00
jan.nijtmans 13faf8b1d4 For TCL_UTF_MAX==4: Make sure that Tcl_UtfNext()/Tcl_UtfPrev() never move more than 3 bytes. This is more consistant with what Tcl 8.7 does too.
For TCL_UTF_MAX==6: Make sure that Tcl_UtfNext()/Tcl_UtfPrev() never move more than 4 bytes.
For TCL_UTF_MAX==3: No change.
Introduce ucs2_utf16 test constraint, since many test results now become the same for ucs2 and utf16.
2020-05-07 14:15:06 +00:00
jan.nijtmans fe1e0d3a73 Merge 8.6. Some more tweaks to Tcl_UtfPrev(), so it cannot jump back 4 bytes in "utf16" build any more. 2020-05-07 13:37:18 +00:00
jan.nijtmans cd2794b2d3 Merge 8.7 2020-05-07 11:18:37 +00:00
jan.nijtmans 74330f2873 Fix [fad64a857e76f98e]: "lsearch" provides wrong errorCode with bad -stride option 2020-05-07 11:17:26 +00:00
jan.nijtmans f198eb8b6b Merge 8.7 2020-05-07 11:09:27 +00:00
jan.nijtmans 062c99cefc Merge 8.6 2020-05-07 10:56:39 +00:00
jan.nijtmans fb50148fcc Optimize Tcl_UtfToUniCharDString() 2020-05-07 10:09:26 +00:00
jan.nijtmans 846b23ab0a Tighten optimization in Tcl_UtfToUniCharDString(), just as in Tcl_NumUtfChars(). Don't use "-1" in the Tcl_NumUtfChars() calculation, since that raises more questions than it solves, but that's easy to be remedied as well: Juse use >= in stead of > in the comparation. Great idea, Don!
Backport more code formatting from Tcl 8.6 (e.g. use of CONST, which makes no sense any more in c-files)
2020-05-07 09:31:32 +00:00
dgp 22f9794cfd merge 8.7 2020-05-06 21:59:16 +00:00
dgp 402b2af43a merge 8.6 2020-05-06 21:52:19 +00:00
dgp ea47091d74 merge 8.5 2020-05-06 21:42:47 +00:00
dgp c2fa3a3fa9 Tighten optimization in Tcl_NumUtfChars. Explain in comments. 2020-05-06 21:08:35 +00:00
dgp 446d76d5f3 merge 8.7 2020-05-06 19:55:19 +00:00
dgp 289b43aefd merge 8.6 2020-05-06 19:48:34 +00:00
dgp 50fa02d30e merge 8.5 2020-05-06 19:31:49 +00:00
dgp 391bf99687 Restore safe calls of Invalid(). 2020-05-06 19:22:25 +00:00
jan.nijtmans 1a11b74770 Merge-mark 2020-05-06 17:11:37 +00:00
jan.nijtmans 58ff4bd868 Merge 8.5 2020-05-06 17:10:37 +00:00
dgp 7e53c7afca close fork 2020-05-06 16:59:57 +00:00
dgp 30f444a254 The routine Invalid() has been revised to do something different.
Update the comments to describe what it does now, and cautions that callers
take into account.
2020-05-06 16:58:51 +00:00
jan.nijtmans da60a1af9f Backport testutfprev/testutfnex testcase improvements from 8.7. This makes testdescriptions/testresults more equal among branches, so the real differences are more visible. 2020-05-06 16:38:45 +00:00
jan.nijtmans b17f64a406 Merge 8.7 2020-05-06 13:31:29 +00:00
jan.nijtmans c5e55206a2 Merge 8.6 2020-05-06 13:22:05 +00:00
jan.nijtmans 391948de40 Merge 8.5. More usage of UCHAR() macro. 2020-05-06 13:14:41 +00:00
jan.nijtmans 6c9fa195b0 Change Invalid() parameter type to "const char *". Also call Invalid() first in Tcl_UtfNext(), so if src[1] is invalid src[2] doesn't need to be checked any more.
Note: This order change, calling Invalid() first was wrong, and is corrected in later commits. Thanks, Don, for noticing this!
2020-05-06 13:03:29 +00:00
jan.nijtmans 10d25a2209 Merge 8.7 2020-05-06 09:28:59 +00:00
jan.nijtmans 7adecdbf4a Merge 8.6 2020-05-06 09:05:55 +00:00
jan.nijtmans 73f359fe17 Merge 8.5.
Make testcases utf-7.20.[01] content the same as in core-8-5-branch, core-8-branch and trunk (0xF4 -> 0xF2)
2020-05-06 08:15:49 +00:00
jan.nijtmans 22751e62a6 3 testcases don't need pairsTo4bytes, fullutf is enough, since the dubble-surrogate-backslash syntac has no relation to the internal byte format. 2020-05-06 07:58:25 +00:00
jan.nijtmans e288cc94fa Merge 8.7 2020-05-05 16:31:14 +00:00
jan.nijtmans dfc1625fc3 Remove PROTO_FLAGS here too 2020-05-05 16:23:56 +00:00
jan.nijtmans e81e9b9bc2 Merge 8.6 2020-05-05 16:20:24 +00:00
jan.nijtmans 96f7e93f0b More usage of TclUtfToUCS4(), so we can use the whole Unicode range better in TCL_UTF_MAX>3 builds. 2020-05-05 16:00:06 +00:00
jan.nijtmans c6d9c4cee0 Remove PROTO_FLAGS support from the Makefile, since it isn't used anywhere any more. 2020-05-05 15:56:14 +00:00
jan.nijtmans cc86f6e11e Add 4 test-cases that could fool Tcl_UtfPrev (but ... actually they don't).
Make sure that Tcl_UtfPrev() never reads more than 3 trail bytes (or 4 when TCL_UTF_MAX > 4). Those are the same limits as for Tcl_UtfNext() and Tcl_UtfToUniChar()
2020-05-05 13:23:17 +00:00
jan.nijtmans 9392c28ed8 Merge 8.7 2020-05-05 11:54:58 +00:00
jan.nijtmans a2f768dce6 Fix Tcl_UtfPrev() such that it can never go back more than TCL_UTF_MAX bytes. Already done correctly on core-8-6-branch, but this was never forwarded to core-8-branch. 2020-05-05 11:44:32 +00:00
jan.nijtmans 697a7c9fe1 Merge 8.6 2020-05-05 10:06:25 +00:00
jan.nijtmans 22274089f5 Merge 8.7 2020-05-05 09:51:32 +00:00
jan.nijtmans 28840fbf89 Merge 8.6 2020-05-05 08:16:10 +00:00
jan.nijtmans 9ae5f06a2b One more tip389 selector 2020-05-05 07:44:36 +00:00
jan.nijtmans e76b63ac05 Merge 8.5 2020-05-05 07:39:25 +00:00
jan.nijtmans 9d533c3d48 Properly protect "Invalid" function against lead bytes 0x80-0xBF. This fixes "knownBug" testcase utf-6.93.1.
Rename tip389 selector to utf16, since that's what it actually is, in contrast to ucs2 and ucs4.
2020-05-05 07:29:46 +00:00
jan.nijtmans 413ea81a28 More progress/simplification 2020-05-04 14:17:23 +00:00
jan.nijtmans 476dc5395c Merge-mark 2020-05-04 13:02:10 +00:00
jan.nijtmans 30c34fb956 Merge 8.6 2020-05-04 13:01:03 +00:00
jan.nijtmans 7759441602 New internal function TclGetUCS4() only available when TCL_UTF_MAX=4. This fixes all "knownBug" testcases related to tip389. 2020-05-04 12:31:51 +00:00
jan.nijtmans b6ae0182ce Merge 8.6 2020-05-04 11:08:25 +00:00
jan.nijtmans 27d61fe1d7 Merge 8.6 2020-05-04 09:41:12 +00:00
jan.nijtmans 66197cab8b Merge 8.5 2020-05-04 09:40:05 +00:00
jan.nijtmans 35051648af Test-case cleanup. Increase timeout a little bit in main.test, making Travis build errors because of this less likely. 2020-05-04 09:37:15 +00:00
jan.nijtmans 8c3587a6e8 (partial) fix for [9d0cb35bb2]: Various issues with core-8-6-branch, TCL_UTF_MAX=4. (even though TCL_UTF_MAX=4 is unsupported, it would be nice to make it work)
Marked various test-cases as "knownBug", those work correctly in core-8-branch (8.7). The fix there could be backported. Low prio.
2020-05-04 08:35:44 +00:00
jan.nijtmans 40f4b78949 Merge 8.6 2020-05-03 22:27:19 +00:00
jan.nijtmans ac279b7258 Merge-mark 2020-05-03 22:19:37 +00:00
jan.nijtmans c17661c31e Re-join utf-6.93.0 and utf-6.93.1 (please disregard comment in previous commit, it was not correct).
Perfectionalize TclUtfToUCS4()/TclUCS4Complete() and new (internal) function TclUCS4ToUtf(). They can help preventing bugs regarding splitting/joining surrogates. Used them in a few more places.
2020-05-03 22:16:21 +00:00
jan.nijtmans e137127ae3 Merge 8.7 2020-05-02 23:05:49 +00:00
jan.nijtmans d46279e4ae Merge 8.6 2020-05-02 23:03:14 +00:00
jan.nijtmans 9501890b6c Join test-cases utf-6.93.0 and utf-6.93.1, which MUST give the same answer always for whatever testConstraints.
Fix one invalid use of TclUCS4Complete(), and let TclUtfToUCS4() handle (invalid) 4-byte sequences.
Test-case cleanup (removal of unnecessary quoting)
2020-05-02 22:48:20 +00:00
jan.nijtmans 797bc84ed2 Seems almost correct. Still problem with "string index" for TCL_UTF_MAX>3 2020-05-02 21:54:14 +00:00
jan.nijtmans cc90266615 More fixes for [ed29806baf]. Not working yet. WIP 2020-05-02 10:15:29 +00:00
jan.nijtmans d8fdcffdf7 Merge 8.7 2020-05-01 22:23:37 +00:00
jan.nijtmans 2368ea0a97 Improve/simplify "testutfnext" and "testutfprev" commands. Now don't need to do special things with byte arrays. You can use "testbytestring" for that. This makes it more clear which test-cases use invalid byte-sequences. Now "testutfnext" also checks whether Tcl_UtfNext() reads src[-1] and src[end], and will warn you when it does. 2020-05-01 22:15:50 +00:00
jan.nijtmans 889df48bf0 Merge 8.7 2020-05-01 15:07:39 +00:00
jan.nijtmans 87969cfb0e Never mind remark about TIP #573 in previous commit: Test failure was due to typo. Fixed now. 2020-05-01 14:53:58 +00:00
jan.nijtmans afba02fe04 Merge 8.7 2020-05-01 14:44:31 +00:00
jan.nijtmans c0381fd712 Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes.
Tcl_UtfToUniChar() now never reads more than TCL_UTF_MAX bytes any more. 
Since the UtfToUtf encoder/decoder now uses TclUtfToUCS4() it doesn't join 2 surrogates as 2 x 3-byte sequences any more. Actually, it shouldn't, because such sequences are invalid UTF-8.
Therefore, added the ucs2 constraint to testcase encoding-15.4. Let's see how TIP #573 goes, this TIP should make this change official.
Other callers of Tcl_UtfToUniChar() needs to be revised for the same problem. Most callers will need to change Tcl_UtfToUniChar() -> TclUtfToUCS4() and Tcl_UtfCharComplete() -> TclUCS4Complete(), but that's not done yet.
2020-05-01 14:20:21 +00:00
jan.nijtmans 9eaf82b745 Fix first part of [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes.
Tcl_UtfToUniChar() now never reads more than TCL_UTF_MAX bytes any more. The UtfToUtf encoder/decoder is adapted to do attitional checks (more tricky than in Tcl 8.7, since we want compatibility with earlier 8.6 releases).
Other callers of Tcl_UtfToUniChar() needs to be revised for the same problem. Most callers will need to change Tcl_UtfToUniChar() -> TclUtfToUCS4() and Tcl_UtfCharComplete() -> TclUCS4Complete(), but that's not done yet.
2020-05-01 13:38:22 +00:00
jan.nijtmans 62c00ac54a Fix [ed29806baf] by introducing TclUCS4Complete(). All other calls of Tcl_UtfToUniChar() are suspicious, because those cannot handle 4-byte UTF-8 sequences reliable.
So, there's more work to do, but this part can already be backported to Tcl 8.6 and see where we get.
2020-05-01 08:51:09 +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 9a8559d4cb First, prove that bug [ed29806baf] is present in 8.7 too. Let's see what test-cases fail when we no longer check the validity of the 3th trail byte. 2020-04-30 14:54:59 +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
jan.nijtmans 45b096ac88 Better structurize the UTF-8 (mainly around Tcl_UtfNext()/Tcl_UtfPrev(), but not only those) test-cases:
Selector "ucs2" is meant for Tcl 8.5: No knowledge at all about 4-byte sequences.
Selector "ucs4" is meant for Tcl 8.5 or 8.7 with TCL_UTF_MAX=4 or Tcl 8.6 with TCL_UTF_MAX=6
Selector "tip389" is meant for Tcl 8.6 with TCL_UTF_MAX=4 and Tcl 8.7 with TCL_UTF_MAX=3
(of course, this is too simple: there will be testcases needing more than those 3
2020-04-29 11:10:44 +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 e4c1bf052f Tests demonstrating the bug. Work on a fix can go here. 2020-04-26 20:49:43 +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
sebres b0791473e9 code simplification, no interim copy/move buffers, no decompression d-string, the inflate occurring in single step (ResultDecompress combines ResultGenerate and ResultCopy); better handling in non-blocking mode (also recognizes or distinguish no data/EAGAIN cases) 2020-04-16 19:08:57 +00:00
jan.nijtmans 14abfaa3d0 Merge 8.7 2020-04-16 14:54:21 +00:00
sebres becf4bcc18 few documentation changes (limit default and handling is changed) 2020-04-16 14:37:05 +00:00
sebres fb7b5ca9d3 small amend combining similar parts 2020-04-16 14:05:24 +00:00
sebres 3577e36e79 zlib: optimize ZlibTransformInput, if inflate is done no read and no generate needed anymore 2020-04-16 13:43:07 +00:00
sebres b7f84c7bc0 zlib: performance - set default read ahead limit to DEFAULT_BUFFER_SIZE (4K); better fix avoiding BO (replacement for [54605d16b9]) 2020-04-16 13:28:49 +00:00
sebres 14143230c8 added (reworked) patch suggested by aku in [f70ce1fead]: recognize stream is done (and unget the unprocessed data back to input channel) 2020-04-16 11:54:34 +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 f3d156bf80 Merge 8.7 2020-04-13 10:05:04 +00:00
jan.nijtmans 2280b62ae3 Merge 8.7 2020-04-13 10:04:17 +00:00
jan.nijtmans 527a481e1a Merge 8.7 2020-04-13 09:25:35 +00:00
jan.nijtmans ae2a5363a3 Merge 8.7 2020-04-10 21:21:39 +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 744ac0e8e6 Merge 8.7 2020-04-08 09:44:52 +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 bc7b59b6f6 Merge 8.7 2020-03-31 21:16:45 +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 ad15c7af55 Merge 8.7 2020-03-31 11:03:42 +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 988aec3c94 Merge 8.7 2020-03-30 15:30:06 +00:00
jan.nijtmans 3597e830be Merge 8.7 2020-03-30 13:03:14 +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 4c5782603a Merge 8.7 2020-03-30 10:33:08 +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
jan.nijtmans 712dea6f45 Merge 8.7 2020-03-29 19:42:25 +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 329bb2e68d Merge 8.7 2020-03-27 21:11:01 +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 c8658d80cf Merge 8.7 2020-03-26 08:36:38 +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 c33fbde8df Merge 8.7 2020-03-22 21:30:39 +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
jan.nijtmans d6150b3cd3 Merge 8.7 2020-03-20 12:59:42 +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 d5d003595a Merge 8.7 2020-03-17 16:56:50 +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 adc1fbb1f1 Merge 8.7 2020-03-16 15:28:26 +00:00
jan.nijtmans a4232f298f Complete implementation. Let's take some time for testing. 2020-03-16 14:51:06 +00:00
jan.nijtmans da292a768b More WIP 2020-03-16 13:38:05 +00:00
jan.nijtmans b083441639 Further simply TclIndexEncode(), and fix range checks. 2020-03-16 09:07:42 +00:00
jan.nijtmans bc266f9d91 Simplify TclIndexEncode(). Range checks not 100% correct yet. More WIP. 2020-03-15 23:44:03 +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 8a2823e5f8 WIP: Reform internal representation of "end-offset" type, so it can be used for "integer-integer" as well. 2020-03-13 23:32:36 +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 5821819beb Merge 8.7 2020-03-10 15:25:14 +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 3d8bc1b9ce Merge 8.7 2020-02-12 13:25:50 +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 992ba81694 Few more DBGX cleanups 2020-02-04 10:40:27 +00:00
jan.nijtmans 2345630acb Adapt rules.vc too 2020-02-04 09:52:22 +00:00
jan.nijtmans 31a63a3247 Death to DBGX 2020-02-04 09:46:33 +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
griffin e38608eeb3 Initial implementation for TIP-551 Permit underscores in numeric literals 2019-12-07 05:52:14 +00:00
griffin 5a7749b042 Create new branch named "tip-551" 2019-12-07 05:46:10 +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
kjnash f14b27d119 Bugfix for #f81beca7af. Revert mistaken change to -querychannel -translation in library/http/http.tcl. Bump http version to 2.9.1. Also, give correct major version in doc/http.n and adjust example user-agent string to a 2.9 value. 2019-07-14 09:04:15 +00:00
kjnash 03c20aae29 Create new branch named "bug-f81beca7af" 2019-07-13 19:38:55 +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 35776acac0 Merge 8.7 2018-10-23 21:35:16 +00:00
jan.nijtmans cd2d12e256 Merge 9.0 2018-10-23 19:42:47 +00:00
jan.nijtmans 86ee149689 merge 8.7 2018-10-19 19:22:33 +00:00
jan.nijtmans dc465cd88f merge trunk 2018-10-19 19:21:09 +00:00
jan.nijtmans d883e08781 Merge 8.7 2018-10-11 18:54:23 +00:00
jan.nijtmans bedeed1c1b Merge trunk 2018-10-09 18:52:44 +00:00
jan.nijtmans 89d6aec1f9 Merge 8.7
Add Unsigned functions to the implementation. TIP text is still far behind describing what's going on here.
2018-10-09 18:12:41 +00:00
jan.nijtmans 617405c023 Re-base to 8.7 2018-10-08 22:22:14 +00:00
jan.nijtmans f61c3bdb28 Start implementing TIP #497. regexp's now are >BMP-aware. WIP 2018-05-01 19:02:32 +00:00
jan.nijtmans b616f99ca6 rebase 2013-07-09 09:30:34 +00:00
jan.nijtmans 6546b1dd3d Tk bug [http://core.tcl.tk/tk/tktview?name=1712098|1712098] 2013-06-28 12:31:47 +00:00
604 changed files with 29294 additions and 28795 deletions

No files matched your search

-17
View File
@@ -1,20 +1,3 @@
compat/zlib/win32/zdll.lib
compat/zlib/win32/zlib1.dll
compat/zlib/win64/zdll.lib
compat/zlib/win64/zlib1.dll
compat/zlib/win64/libz.dll.a
compat/zlib/zlib.3.pdf
compat/zlib/win32/zdll.lib
compat/zlib/win32/zlib1.dll
compat/zlib/win64/zdll.lib
compat/zlib/win64/zlib1.dll
compat/zlib/win64/libz.dll.a
compat/zlib/zlib.3.pdf
libtommath/win32/tommath.lib
libtommath/win32/libtommath.dll
libtommath/win64/tommath.lib
libtommath/win64/libtommath.dll
libtommath/win64/libtommath.dll.a
*.a
*.bmp
*.dll
+1 -2
View File
@@ -1,12 +1,12 @@
compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
compat/zlib/contrib/vstudio/readme.txt
compat/zlib/contrib/vstudio/*/zlib.rc
compat/zlib/contrib/vstudio/*/*.sln
compat/zlib/win32/*.txt
compat/zlib/win64/*.txt
libtommath/*.dsp
libtommath/*.sln
libtommath/*.vcproj
tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
@@ -16,4 +16,3 @@ win/rules-ext.vc
win/targets.vc
win/tcl.dsp
win/tcl.dsw
win/tcl.hpj.in
+1 -3
View File
@@ -1,9 +1,7 @@
tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
win/makefile.vc
win/rules.vc
win/tcl.dsp
win/tcl.dsw
win/tcl.hpj.in
win/tcl.dsw
+13 -1
View File
@@ -1,6 +1,7 @@
*.a
*.dll
*.dylib
*.dylib.E
*.exe
*.exp
*.la
@@ -13,6 +14,7 @@
*.sl
*.so
*/Makefile
*/autom4te.cache
*/config.cache
*/config.log
*/config.status
@@ -30,7 +32,7 @@ libtommath/pretty.build
libtommath/tommath.src
libtommath/*.log
libtommath/*.pdf
libtommath/gen.pl
libtommath/*.pl
libtommath/*.sh
libtommath/doc/*
libtommath/tombc/*
@@ -42,10 +44,19 @@ libtommath/etc/*
libtommath/demo/*
libtommath/*.out
libtommath/*.tex
macosx/configure
unix/autoMkindex.tcl
unix/dltest.marker
unix/dltest/*.bundle
unix/dltest/*.dll
unix/dltest/*.dylib
unix/dltest/*.o
unix/dltest/*.sl
unix/dltest/*.so
unix/tcl.pc
unix/tclIndex
unix/Tcl-Info.plist
unix/Tclsh-Info.plist
unix/pkgs/*
win/Debug*
win/Release*
@@ -53,4 +64,5 @@ win/*.manifest
win/pkgs/*
win/coffbase.txt
win/tcl.hpj
win/nmakehlp.out
win/nmhlp-out.txt
+1
View File
@@ -0,0 +1 @@
u
+1
View File
@@ -27,6 +27,7 @@
# Denote all files that are truly binary and should not be modified.
*.a binary
*.bmp binary
*.dll binary
*.exe binary
*.gif binary
+51
View File
@@ -0,0 +1,51 @@
name: Linux
on: [push]
jobs:
gcc:
runs-on: ubuntu-20.04
strategy:
matrix:
cfgopt:
- ""
- "CFLAGS=-DTCL_UTF_MAX=4"
- "CFLAGS=-DTCL_NO_DEPRECATED=1"
- "--disable-shared"
- "--enable-symbols"
- "--enable-symbols=mem"
defaults:
run:
shell: bash
working-directory: unix
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c tclOOScript.h
working-directory: generic
- name: Configure ${{ matrix.cfgopt }}
run: |
mkdir "${HOME}/install dir"
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
env:
CFGOPT: ${{ matrix.cfgopt }}
- name: Build
run: |
make all
- name: Build Test Harness
run: |
make tcltest
- name: Run Tests
run: |
make test
env:
ERROR_ON_FAILURES: 1
- name: Test-Drive Installation
run: |
make install
- name: Create Distribution Package
run: |
make dist
- name: Convert Documentation to HTML
run: |
make html-tcl
+63
View File
@@ -0,0 +1,63 @@
name: macOS
on: [push]
jobs:
xcode:
runs-on: macos-11.0
defaults:
run:
shell: bash
working-directory: macosx
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c tclOOScript.h
working-directory: generic
- name: Build
run: make all
env:
CFLAGS: -arch x86_64 -arch arm64e
- name: Run Tests
run: make test styles=develop
env:
ERROR_ON_FAILURES: 1
MAC_CI: 1
clang:
runs-on: macos-11.0
strategy:
matrix:
cfgopt:
- ""
- "--disable-shared"
- "--enable-symbols"
- "--enable-symbols=mem"
defaults:
run:
shell: bash
working-directory: unix
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c tclOOScript.h
mkdir "$HOME/install dir"
working-directory: generic
- name: Configure ${{ matrix.cfgopt }}
# Note that macOS is always a 64 bit platform
run: ./configure --enable-64bit --enable-dtrace --enable-framework ${CFGOPT} "--prefix=$HOME/install" || (cat config.log && exit 1)
env:
CFLAGS: -arch x86_64 -arch arm64e
CFGOPT: ${{ matrix.cfgopt }}
- name: Build
run: |
make all tcltest
env:
CFLAGS: -arch x86_64 -arch arm64e
- name: Run Tests
run: |
make test
env:
ERROR_ON_FAILURES: 1
MAC_CI: 1
+138
View File
@@ -0,0 +1,138 @@
name: Build Binaries
on: [push]
jobs:
linux:
name: Linux
runs-on: ubuntu-16.04
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare
run: |
touch generic/tclStubInit.c generic/tclOOStubInit.c
mkdir 1dist
echo "VER_PATH=$(cd tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
working-directory: .
- name: Configure
run: ./configure --disable-symbols --disable-shared --enable-zipfs
working-directory: unix
- name: Build
run: |
make tclsh
make shell SCRIPT="$VER_PATH $GITHUB_ENV"
echo "TCL_ZIP=`pwd`/`echo libtcl*.zip`" >> $GITHUB_ENV
working-directory: unix
- name: Package
run: |
cp ../unix/tclsh tclsh${TCL_PATCHLEVEL}_unofficial
chmod +x tclsh${TCL_PATCHLEVEL}_unofficial
tar -cf tclsh${TCL_PATCHLEVEL}_unofficial.tar tclsh${TCL_PATCHLEVEL}_unofficial
working-directory: 1dist
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Tclsh ${{ env.TCL_PATCHLEVEL }} Linux single-file build (unofficial)
path: 1dist/*.tar
macos:
name: macOS
runs-on: macos-11.0
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Checkout create-dmg
uses: actions/checkout@v2
with:
repository: create-dmg/create-dmg
ref: v1.0.8
path: create-dmg
- name: Prepare
run: |
mkdir 1dist
touch generic/tclStubInit.c generic/tclOOStubInit.c || true
wget https://github.com/culler/macher/releases/download/v1.3/macher
sudo cp macher /usr/local/bin
sudo chmod a+x /usr/local/bin/macher
echo "VER_PATH=$(cd tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
echo "CREATE_DMG=$(cd create-dmg;pwd)/create-dmg" >> $GITHUB_ENV
echo "CFLAGS=-arch x86_64 -arch arm64e" >> $GITHUB_ENV
- name: Configure
run: ./configure --disable-symbols --disable-shared --enable-zipfs
working-directory: unix
- name: Build
run: |
make tclsh
make shell SCRIPT="$VER_PATH $GITHUB_ENV"
echo "TCL_BIN=`pwd`/tclsh" >> $GITHUB_ENV
echo "TCL_ZIP=`pwd`/`echo libtcl*.zip`" >> $GITHUB_ENV
working-directory: unix
- name: Package
run: |
mkdir contents
cp $TCL_BIN contents/tclsh${TCL_PATCHLEVEL}_unofficial
chmod +x contents/tclsh${TCL_PATCHLEVEL}_unofficial
cat > contents/README.txt <<EOF
This is a single-file executable developer preview of Tcl $TCL_PATCHLEVEL
It is not intended as an official release at all, so it is unsigned and unnotarized.
Use strictly at your own risk.
To run it, you need to copy the executable out and run:
xattr -d com.apple.quarantine tclsh${TCL_PATCHLEVEL}_unofficial
to mark the executable as runnable on your machine.
EOF
$CREATE_DMG \
--volname "Tcl $TCL_PATCHLEVEL (unofficial)" \
--window-pos 200 120 \
--window-size 800 400 \
"Tcl-$TCL_PATCHLEVEL-(unofficial).dmg" \
"contents/"
working-directory: 1dist
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Tclsh ${{ env.TCL_PATCHLEVEL }} macOS single-file build (unofficial)
path: 1dist/*.dmg
win:
name: Windows
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install MSYS2
uses: msys2/setup-msys2@v2
- name: Prepare
run: |
touch generic/tclStubInit.c generic/tclOOStubInit.c
echo "VER_PATH=$(cd tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
mkdir 1dist
working-directory: .
- name: Configure
run: ./configure --disable-symbols --disable-shared --enable-zipfs
working-directory: win
- name: Build
run: |
make binaries libraries
echo "TCL_ZIP=`pwd`/`echo libtcl*.zip`" >> $GITHUB_ENV
working-directory: win
- name: Get Exact Version
run: |
./tclsh*.exe $VER_PATH $GITHUB_ENV
working-directory: win
- name: Set Executable Name
run: |
cp ../win/tclsh*.exe tclsh${TCL_PATCHLEVEL}_unofficial.exe
working-directory: 1dist
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Tclsh ${{ env.TCL_PATCHLEVEL }} Windows single-file build (unofficial)
path: '1dist/*_unofficial.exe'
+87
View File
@@ -0,0 +1,87 @@
name: Windows
on: [push]
jobs:
msvc:
runs-on: windows-latest
defaults:
run:
shell: powershell
working-directory: win
strategy:
matrix:
cfgopt:
- ""
- "OPTS=utfmax"
- "CHECKS=nodep"
- "OPTS=static"
- "OPTS=symbols"
- "OPTS=memdbg"
# Using powershell means we need to explicitly stop on failure
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Init MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Build ${{ matrix.cfgopt }}
run: |
&nmake -f makefile.vc ${{ matrix.cfgopt }} all
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
- name: Build Test Harness ${{ matrix.cfgopt }}
run: |
&nmake -f makefile.vc ${{ matrix.cfgopt }} tcltest
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
- name: Run Tests ${{ matrix.cfgopt }}
run: |
&nmake -f makefile.vc ${{ matrix.cfgopt }} test
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
env:
ERROR_ON_FAILURES: 1
CI_BUILD_WITH_MSVC: 1
gcc:
runs-on: windows-latest
defaults:
run:
shell: bash
working-directory: win
strategy:
matrix:
cfgopt:
- ""
- "CFLAGS=-DTCL_UTF_MAX=4"
- "CFLAGS=-DTCL_NO_DEPRECATED=1"
- "--disable-shared"
- "--enable-symbols"
- "--enable-symbols=mem"
# Using powershell means we need to explicitly stop on failure
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install MSYS2 and Make
run: choco install msys2 make
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c tclOOScript.h
mkdir "${HOME}/install dir"
working-directory: generic
- name: Configure ${{ matrix.cfgopt }}
run: |
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
env:
CFGOPT: --enable-64bit ${{ matrix.cfgopt }}
- name: Build
run: make all
- name: Build Test Harness
run: make tcltest
- name: Run Tests
run: make test
env:
ERROR_ON_FAILURES: 1
# If you add builds with Wine, be sure to define the environment variable
# CI_USING_WINE when running them so that broken tests know not to run.
+16 -5
View File
@@ -1,6 +1,8 @@
*.a
*.bundle
*.dll
*.dylib
*.dylib.E
*.exe
*.exp
*.lib
@@ -10,10 +12,18 @@
*.res
*.sl
*.so
*/Makefile
*/config.cache
*/config.log
*/config.status
.fslckout
Makefile
Tcl-Info.plist
Tclsh-Info.plist
autom4te.cache
config.cache
config.log
config.status
config.status.lineno
html
manifest.uuid
_FOSSIL_
*/tclConfig.sh
*/tclsh*
*/tcltest*
@@ -21,7 +31,6 @@
*/version.vc
*/libtcl.vfs
*/libtcl_*.zip
html
libtommath/bn.ilg
libtommath/bn.ind
libtommath/pretty.build
@@ -40,6 +49,7 @@ libtommath/etc/*
libtommath/demo/*
libtommath/*.out
libtommath/*.tex
macosx/configure
unix/autoMkindex.tcl
unix/dltest.marker
unix/tcl.pc
@@ -51,4 +61,5 @@ win/*.manifest
win/pkgs/*
win/coffbase.txt
win/tcl.hpj
win/nmakehlp.out
win/nmhlp-out.txt
+74 -99
View File
@@ -1,7 +1,8 @@
sudo: false
language: c
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- binutils-mingw-w64-i686
- binutils-mingw-w64-x86-64
@@ -10,85 +11,59 @@ addons:
- gcc-mingw-w64-i686
- gcc-mingw-w64-x86-64
- gcc-multilib
homebrew:
packages:
- libtommath
update: true
matrix:
jobs:
include:
# Testing on Linux with various compilers
# Testing on Linux GCC
- name: "Linux/GCC/Shared"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
- name: "Linux/GCC/Shared: UTF_MAX=4"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
- CFGOPT=CFLAGS=-DTCL_UTF_MAX=4
- name: "Linux/GCC/Shared: NO_DEPRECATED"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
- CFGOPT="CFLAGS=-DTCL_NO_DEPRECATED=1"
- name: "Linux/GCC/Static"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- CFGOPT="--disable-shared"
- BUILD_DIR=unix
- name: "Linux/GCC/Debug"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
- CFGOPT="--enable-symbols"
- name: "Linux/GCC/Mem-Debug"
os: linux
dist: bionic
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
- CFGOPT="--enable-symbols=mem"
# C++ build.
- name: "Linux/G++/Shared"
# Newer/Older versions of GCC
- name: "Linux/GCC 10/Shared"
os: linux
dist: bionic
compiler: g++
env:
- BUILD_DIR=unix
- CFGOPT="CC=g++ CFLAGS=-Dregister=dont+use+register"
# Older versions of GCC...
- name: "Linux/GCC 7/Shared"
os: linux
dist: bionic
compiler: gcc-7
dist: focal
compiler: gcc-10
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- BUILD_DIR=unix
- name: "Linux/GCC 6/Shared"
os: linux
dist: bionic
compiler: gcc-6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- g++-10
env:
- BUILD_DIR=unix
- name: "Linux/GCC 5/Shared"
@@ -97,16 +72,14 @@ matrix:
compiler: gcc-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- BUILD_DIR=unix
# Clang
# Testing on Linux Clang
- name: "Linux/Clang/Shared"
os: linux
dist: bionic
dist: focal
compiler: clang
env:
- BUILD_DIR=unix
@@ -119,29 +92,29 @@ matrix:
- CFGOPT="CFLAGS=-DTCL_NO_DEPRECATED=1"
- name: "Linux/Clang/Static"
os: linux
dist: bionic
dist: focal
compiler: clang
env:
- CFGOPT="--disable-shared"
- BUILD_DIR=unix
- name: "Linux/Clang/Debug"
os: linux
dist: bionic
dist: focal
compiler: clang
env:
- BUILD_DIR=unix
- CFGOPT="--enable-symbols"
- name: "Linux/Clang/Mem-Debug"
os: linux
dist: bionic
dist: focal
compiler: clang
env:
- BUILD_DIR=unix
- CFGOPT="--enable-symbols=mem"
# Testing on Mac, various styles
- name: "macOS/Xcode 11.4/Shared"
- name: "macOS/Clang/Xcode 12/Shared"
os: osx
osx_image: xcode11.4
osx_image: xcode12.2
env:
- BUILD_DIR=macosx
install: []
@@ -149,57 +122,65 @@ matrix:
- make all
# The styles=develop avoids some weird problems on OSX
- make test styles=develop
- name: "macOS/Xcode 11.4/Shared/Unix-like"
- name: "macOS/Clang/Xcode 12/Shared/Unix-like"
os: osx
osx_image: xcode11.4
osx_image: xcode12.2
env:
- BUILD_DIR=unix
# Older MacOS versions
- name: "macOS/Xcode 11/Shared"
- CFGOPT="--enable-dtrace"
- name: "macOS/Clang/Xcode 12/Shared/libtommath"
os: osx
osx_image: xcode11
osx_image: xcode12.2
env:
- BUILD_DIR=macosx
install: []
script: *mactest
- name: "macOS/Xcode 10/Shared"
addons:
homebrew:
packages:
- libtommath
# 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.7
env:
- BUILD_DIR=macosx
install: []
script: *mactest
- name: "macOS/Clang/Xcode 10/Shared"
os: osx
osx_image: xcode10.3
env:
- BUILD_DIR=macosx
install: []
script: *mactest
addons:
homebrew:
packages:
- libtommath
- name: "macOS/Xcode 9/Shared"
- name: "macOS/Clang/Xcode 9/Shared"
os: osx
osx_image: xcode9.2
osx_image: xcode9.4
env:
- BUILD_DIR=macosx
install: []
script: *mactest
addons:
homebrew:
packages:
- libtommath
- name: "macOS/Xcode 8/Shared"
- name: "macOS/Clang/Xcode 8/Shared"
os: osx
osx_image: xcode8.3
env:
- BUILD_DIR=macosx
install: []
script: *mactest
addons:
homebrew:
packages:
- libtommath
# Test with mingw-w64 cross-compile
# Doesn't run tests because wine is only an imperfect Windows emulation
- name: "Linux-cross-Windows/GCC/Shared/no test"
os: linux
dist: bionic
dist: focal
compiler: x86_64-w64-mingw32-gcc
env:
- BUILD_DIR=win
@@ -213,7 +194,7 @@ matrix:
# Doesn't run tests because wine is only an imperfect Windows emulation
- name: "Linux-cross-Windows-32/GCC/Shared/no test"
os: linux
dist: bionic
dist: focal
compiler: i686-w64-mingw32-gcc
env:
- BUILD_DIR=win
@@ -227,6 +208,7 @@ matrix:
- BUILD_DIR=win
- VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"
before_install: &vcpreinst
- touch generic/tclStubInit.c generic/tclOOStubInit.c generic/tclOOScript.h
- PATH="$PATH:$VCDIR"
- cd ${BUILD_DIR}
install: []
@@ -249,8 +231,8 @@ matrix:
before_install: *vcpreinst
install: []
script:
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=nodep' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=nodep' '-f' makefile.vc test
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'CHECKS=nodep' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'CHECKS=nodep' '-f' makefile.vc test
- name: "Windows/MSVC/Static"
os: windows
compiler: cl
@@ -258,8 +240,8 @@ matrix:
before_install: *vcpreinst
install: []
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
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static' '-f' makefile.vc test
- name: "Windows/MSVC/Debug"
os: windows
compiler: cl
@@ -304,8 +286,8 @@ matrix:
before_install: *vcpreinst
install: []
script:
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=nodep' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=nodep' '-f' makefile.vc test
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'CHECKS=nodep' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'CHECKS=nodep' '-f' makefile.vc test
- name: "Windows/MSVC-x86/Static"
os: windows
compiler: cl
@@ -313,8 +295,8 @@ matrix:
before_install: *vcpreinst
install: []
script:
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static' '-f' makefile.vc all tcltest
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static' '-f' makefile.vc test
- name: "Windows/MSVC-x86/Debug"
os: windows
compiler: cl
@@ -341,6 +323,7 @@ matrix:
- BUILD_DIR=win
- CFGOPT="--enable-64bit"
before_install: &makepreinst
- 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"
@@ -357,15 +340,6 @@ matrix:
- BUILD_DIR=win
- CFGOPT="--enable-64bit CFLAGS=-DTCL_NO_DEPRECATED=1"
before_install: *makepreinst
- name: "Windows/G++/Shared"
os: windows
compiler: g++
env:
- BUILD_DIR=win
- CFGOPT="CC=g++ --enable-64bit"
before_install: *makepreinst
script:
- make all tcltest
- name: "Windows/GCC/Static"
os: windows
compiler: gcc
@@ -408,15 +382,6 @@ matrix:
- BUILD_DIR=win
- CFGOPT="CFLAGS=-DTCL_NO_DEPRECATED=1"
before_install: *makepreinst
- name: "Windows/G++-x86/Shared"
os: windows
compiler: g++
env:
- BUILD_DIR=win
- CFGOPT="CC=g++"
before_install: *makepreinst
script:
- make all tcltest
- name: "Windows/GCC-x86/Static"
os: windows
compiler: gcc
@@ -438,7 +403,17 @@ matrix:
- BUILD_DIR=win
- CFGOPT="--enable-symbols=mem"
before_install: *makepreinst
# "make dist" only
- name: "Linux: make dist"
os: linux
dist: focal
compiler: gcc
env:
- BUILD_DIR=unix
script:
- make dist
before_install:
- touch generic/tclStubInit.c generic/tclOOStubInit.c generic/tclOOScript.h
- cd ${BUILD_DIR}
install:
- mkdir "$HOME/install dir"
@@ -446,6 +421,6 @@ install:
before_script:
- export ERROR_ON_FAILURES=1
script:
- make all tcltest
- make all tcltest || echo "Something wrong, maybe a hickup, let's try again"
- make test
- make install
+1 -1
View File
@@ -1779,7 +1779,7 @@
* generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all]
[Bug: 4981].
* tests/*.test: Changed all occurances of "namespace import
* tests/*.test: Changed all occurrences of "namespace import
::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
2000-04-09 Brent Welch <welch@scriptics.com>
+2 -2
View File
@@ -351,7 +351,7 @@
* mac/tclMacFile.c: fixed bug in permission checking code
* mac/tclMacLoad.c: corrected utf8 handling, comparison of package
* mac/tclMacLoad.c: corrected utf-8 handling, comparison of package
names to code fragment names changed to only match on the length of
package name, this allows for fragment names with version numbers
appended.
@@ -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]
+1 -1
View File
@@ -1753,7 +1753,7 @@
2002-07-05 Reinhard Max <max@suse.de>
* generic/tclClock.c (FormatClock): Convert the format string to UTF8
* generic/tclClock.c (FormatClock): Convert the format string to utf-8
before calling TclpStrftime, so that non-ASCII characters don't get
mangled when the result string is being converted back.
* tests/clock.test: Added a test for that.
+2 -2
View File
@@ -2302,7 +2302,7 @@
934511].
* doc/CrtCommand.3: Added note that the arguments given to the command
proc of a Tcl_CreateCommand are in utf8 since Tcl 8.1. Closing [Patch
proc of a Tcl_CreateCommand are in utf-8 since Tcl 8.1. Closing [Patch
414778].
* doc/ChnlStack.3: Removed the declaration that the interp argument to
@@ -2873,7 +2873,7 @@
2004-06-02 Jeff Hobbs <jeffh@ActiveState.com>
* win/tclWinFile.c (TclpFindExecutable): when using GetModuleFileNameA
(Win9x), convert from CP_ACP to WCHAR then convert back to utf8.
(Win9x), convert from CP_ACP to WCHAR then convert back to utf-8.
Adjunct to 2004-04-07 fix.
2004-06-02 David Gravereaux <davygrvy@pobox.com>
+9 -7
View File
@@ -5,7 +5,9 @@ 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)
[![Build Status](https://github.com/tcltk/tcl/workflows/Linux/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Linux%22+branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tcl/workflows/Windows/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22Windows%22+branch%3Acore-8-branch)
[![Build Status](https://github.com/tcltk/tcl/workflows/macOS/badge.svg?branch=core-8-branch)](https://github.com/tcltk/tcl/actions?query=workflow%3A%22macOS%22+branch%3Acore-8-branch)
## Contents
1. [Introduction](#intro)
@@ -29,19 +31,19 @@ powerful command languages for applications.
Tcl is maintained, enhanced, and distributed freely by the Tcl community.
Source code development and tracking of bug reports and feature requests
takes place at [core.tcl-lang.org](https://core.tcl-lang.org/).
take place at [core.tcl-lang.org](https://core.tcl-lang.org/).
Tcl/Tk release and mailing list services are [hosted by
SourceForge](https://sourceforge.net/projects/tcl/)
with the Tcl Developer Xchange hosted at
[www.tcl-lang.org](https://www.tcl-lang.org).
Tcl is a freely available open source package. You can do virtually
Tcl is a freely available open-source package. You can do virtually
anything you like with it, such as modifying it, redistributing it,
and selling it either in whole or in part. See the file
`license.terms` for complete information.
## <a id="doc">2.</a> Documentation
Extensive documentation is available at our website.
Extensive documentation is available on our website.
The home page for this release, including new features, is
[here](https://www.tcl.tk/software/tcltk/8.7.html).
Detailed release notes can be found at the
@@ -88,16 +90,16 @@ about building Tcl from sources
[online](https://www.tcl-lang.org/doc/howto/compile.html).
## <a id="devtools">4.</a> Development tools
ActiveState produces a high quality set of commercial quality development
ActiveState produces a high-quality set of commercial quality development
tools that is available to accelerate your Tcl application development.
Tcl Dev Kit builds on the earlier TclPro toolset and provides a debugger,
static code checker, single-file wrapping utility, bytecode compiler and
static code checker, single-file wrapping utility, bytecode compiler, and
more. More information can be found at
http://www.ActiveState.com/Tcl
## <a id="complangtcl">5.</a> Tcl newsgroup
There is a USENET news group, "`comp.lang.tcl`", intended for the exchange of
There is a USENET newsgroup, "`comp.lang.tcl`", intended for the exchange of
information about Tcl, Tk, and related applications. The newsgroup is a
great place to ask general information questions. For bug reports, please
see the "Support and bug fixes" section below.
+135
View File
@@ -8992,6 +8992,135 @@ in this changeset (new minor version) rather than bug fixes:
- Released 8.6.10, Nov 21, 2019 - details at http://core.tcl-lang.org/tcl/ -
2019-12-03 (bug)[3cd9be] Corner case in surrogate handling (nijtmans)
2019-12-09 (new) Add tcltest::(Setup|Eval|Cleanup|)Test (coulter,sebres)
=> tcltest 2.5.2
2019-12-12 (new) Add 3 libtommath functions to stub table (nijtmans)
2019-12-23 (bug)[ce3b9f] compilation errors with clang, windows msys2 (nijtmans)
2019-12-27 (bug)[1de6b0] [expr 1e2147483648] => 0.0 (kbk)
2020-01-04 (bug)[912886] tis-620 encoding fails to load (coulter)
2020-01-13 (bug)[0b9332] Win: support system encoding init to utf-8 (jedlička)
2020-01-17 (bug)[8cd2fe] [unload] corrupted list of loaded packages (berc)
2020-01-17 (bug)[5d989f] segfault in lsort for large list length (sebres)
2020-01-30 (bug) Reset WSAGetLastError()/errno in channel close (nijtmans)
2020-02-17 (bug) Win: avoid create of legacy error-vars on init phase (sebres)
2020-02-25 (bug) release refs when setting class's superclasses fails (dkf)
2020-02-26 (bug) C++ compiler compatibility for registry and dde (nijtmans)
=> registry 1.3.5
=> dde 1.4.3
2020-03-05 (new) Update to Unicode-13 (nijtmans)
2020-03-16 (bug)[8f89e2] Win: env var encoding, env-2.5 (sebres, nijtmans)
2020-03-27 (bug)[767e07] Tcl_Get(Range|UniChar) validate index inputs (nijtmans)
2020-03-28 (bug)[8edfce] [binary encode base64] & multi-byte wrapchars (dgp)
2020-03-28 (bug)[ffeb20] [binary decode base64] ignore invalid chars (dgp)
See RFC 2045
*** POTENTIAL INCOMPATIBILITY ***
2020-03-31 (bug)[b8e82d] some -maxlen values break uuencode round trip (dgp)
*** POTENTIAL INCOMPATIBILITY ***
2020-04-01 (bug)[f58371] Fileevent run in proper thread (bron,sebres)
2020-04-13 (bug)[afa4b2] TclNeedSpace bug; tests util-8.5 .. util-8.11 (dgp)
2020-04-13 (bug)[085913] Tcl_DStringAppendElement # quoting precision (dgp)
*** POTENTIAL INCOMPATIBILITY ***
2020-04-13 (bug)[a7f685] test util-5.52 (dgp)
2020-04-13 (bug)[c61818] Tcl_UtfPrev regression (dgp)
2020-04-15 (bug)[8af92d] zlib transform issue, bad inflate (sebres)
2020-04-16 (bug)[5e6346] Tcl_UtfPrev handling of overlong sequences (dgp)
2020-04-27 (bug)[45ca23] [string tolower] inconsistency (dgp)
2020-04-30 (bug)[da2352] init [info hostname] with DNS, not NetBIOS (nadkarni)
2020-05-11 (bug)[d402ff] Win32 potential crash when using main() (werner)
2020-05-13 (bug)[81242a] revised documentation for Tcl_UtfAtIndex() (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2020-05-13 (bug)[ed2980] Tcl_UtfToUniChar reads > TCL_UTF_MAX bytes (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2020-06-02 (bug) prevent segfault in parser (sebres)
2020-06-21 (bug)[f81bec] http POST a binary file (alakendu,nash)
=> http 2.9.2
2020-06-23 (bug)[41c985] auto_path nonsense in Safe Base (nash)
2020-06-24 (bug)[f70ce1] zlib multi-stream inflate acts only on first (sebres)
2020-07-09 (bug)[a1bd37] [clock scan] new ISO format (clock-34.(19-24)) (sebres)
*** POTENTIAL INCOMPATIBILITY ***
2020-07-10 (bug)[501974] [clock scan] +time zone (clock-34.(53-68)) (sebres)
*** POTENTIAL INCOMPATIBILITY ***
2020-07-15 (bug)[3c6e47] compiled [lappend] performance, avoid copy (sebres)
2020-07-16 (bug)[5bbd04] Fix index underflow (schwab)
2020-07-27 (bug)[cb0373] http::geturl -keepalive fixes (nash)
=> http 2.9.3
2020-08-10 (bug)[29e884] cmd resolution cycle (namespace-57.0) (coulter,sebres)
2020-08-12 (bug)[e87000] Tcl_BadChannelOption tolerate NULL (werner,nijtmans)
2020-08-31 (TIP #581) disfavor Master/Slave terminology (nijtmans)
=> opt 0.4.8
2020-09-11 (bug)[3bc0f4] UBSan complains about body.chars[] usage (nijtmans)
2020-09-17 (bug)[835c93] Support TIP 525 exit code for -singleproc 1 (nijtmans)
=> tcltest 2.5.3
2020-09-25 (new) force -eofchar \032 when evaluating library scripts (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2020-09-29 (bug)[0063cb] http::geturl -headers must be dict (oehlmann,nijtmans)
2020-10-19 (bug)[cb4582] Update install-sh script (stu,nijtmans)
2020-10-22 (bug)[c97593] Usage of gnu_printf in latest mingw-w64 (nijtmans)
2020-10-26 (new)[48898a] improve error message consistency (stu)
*** POTENTIAL INCOMPATIBILITY ***
2020-11-06 (new) revised case of module names (nijtmans)
*** POTENTIAL INCOMPATIBILITY ***
2020-12-10 (bug)[ed5be7] Win: recognize "comx:" as serial port (oehlmann)
2020-12-11 (new) support for msys2, Big Sur (nijtmans)
=> platform 1.0.15
2020-12-23 tzdata updated to Olson's tzdata2020e (jima)
- Released 8.6.11, Dec 31, 2020 - details at http://core.tcl-lang.org/tcl/ -
Changes to 8.7a3 include all changes to the 8.6 line through 8.6.10,
plus the following, which focuses on the high-level feature changes
in this changeset (new minor version) rather than bug fixes:
@@ -9120,3 +9249,9 @@ in this changeset (new minor version) rather than bug fixes:
2019-09-14 [TIP 548] wchar_t conversion functions
- Released 8.7a3, Nov 21, 2019 --- http://core.tcl-lang.org/tcl/ for details -
Changes to 8.7a5 include all changes to the 8.6 line through 8.6.11,
plus the following, which focuses on the high-level feature changes
in this changeset (new minor version) rather than bug fixes:
- Released 8.7a5, Jan 21, 2021 --- http://core.tcl-lang.org/tcl/ for details -
+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);
+5 -5
View File
@@ -36,10 +36,10 @@
char *
strstr(
char *string, /* String to search. */
char *substring) /* Substring to try to find in string. */
const char *string, /* String to search. */
const char *substring) /* Substring to try to find in string. */
{
char *a, *b;
const char *a, *b;
/*
* First scan quickly through the two strings looking for a
@@ -49,7 +49,7 @@ strstr(
b = substring;
if (*b == 0) {
return string;
return (char *)string;
}
for ( ; *string != 0; string += 1) {
if (*string != *b) {
@@ -58,7 +58,7 @@ strstr(
a = string;
while (1) {
if (*b == 0) {
return string;
return (char *)string;
}
if (*a++ != *b++) {
break;
-6
View File
@@ -29,12 +29,6 @@
#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8))
#ifdef Z_U4
typedef Z_U4 z_crc_t;
#else
typedef unsigned long z_crc_t;
#endif
/***********************************************************************
* Return the next byte in the pseudo-random sequence
*/
+1 -1
View File
@@ -1,4 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
+1 -1
View File
@@ -1,4 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
+119 -119
View File
@@ -1,119 +1,119 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Itanium = Debug|Itanium
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Itanium = Release|Itanium
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Itanium = Debug|Itanium
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Itanium = Release|Itanium
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+119 -119
View File
@@ -1,119 +1,119 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Itanium = Debug|Itanium
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Itanium = Release|Itanium
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Itanium = Debug|Itanium
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Itanium = Release|Itanium
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+1 -1
View File
@@ -1,4 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
+10 -1
View File
@@ -8,7 +8,7 @@
.so man.macros
.BS
.SH NAME
Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc \- allocate or free heap memory
Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, Tcl_GetMemoryInfo, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc \- allocate or free heap memory
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -28,6 +28,9 @@ char *
char *
\fBTcl_AttemptRealloc\fR(\fIptr, size\fR)
.sp
void
\fBTcl_GetMemoryInfo\fR(\fIdsPtr\fR)
.sp
char *
\fBckalloc\fR(\fIsize\fR)
.sp
@@ -48,6 +51,8 @@ char *
Size in bytes of the memory block to allocate.
.AP char *ptr in
Pointer to memory block to free or realloc.
.AP Tcl_DString *dsPtr in
Initialized DString pointer.
.BE
.SH DESCRIPTION
@@ -88,5 +93,9 @@ these macros are redefined to be special debugging versions
of these procedures. To support Tcl's memory debugging within a
module, use the macros rather than direct calls to \fBTcl_Alloc\fR, etc.
\fBTcl_GetMemoryInfo\fR appends a list-of-lists of memory stats to the
provided DString. This function cannot be used in stub-enabled extensions,
and it is only available if Tcl is compiled with the threaded memory allocator.
.SH KEYWORDS
alloc, allocation, free, malloc, memory, realloc, TCL_MEM_DEBUG
+3 -2
View File
@@ -37,8 +37,9 @@ byte-array type. For \fBTcl_GetByteArrayFromObj\fR and
\fBTcl_SetByteArrayLength\fR, this points to the value from which to get
the byte-array value; if \fIobjPtr\fR does not already point to a byte-array
value, it will be converted to one.
.AP int *lengthPtr out
If non-NULL, filled with the length of the array of bytes in the value.
.AP size_t | int *lengthPtr out
Filled with the length of the array of bytes in the value.
May be (int *)NULL when not used.
.BE
.SH DESCRIPTION
+53 -38
View File
@@ -4,11 +4,11 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
.TH Tcl_CreateSlave 3 7.6 Tcl "Tcl Library Procedures"
.TH Tcl_CreateAlias 3 7.6 Tcl "Tcl Library Procedures"
.so man.macros
.BS
.SH NAME
Tcl_IsSafe, Tcl_MakeSafe, Tcl_CreateSlave, Tcl_GetSlave, Tcl_GetMaster, Tcl_GetInterpPath, Tcl_CreateAlias, Tcl_CreateAliasObj, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_ExposeCommand, Tcl_HideCommand \- manage multiple Tcl interpreters, aliases and hidden commands
Tcl_IsSafe, Tcl_MakeSafe, Tcl_CreateChild, Tcl_CreateSlave, Tcl_GetChild, Tcl_GetSlave, Tcl_GetParent, Tcl_GetMaster, Tcl_GetInterpPath, Tcl_CreateAlias, Tcl_CreateAliasObj, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_ExposeCommand, Tcl_HideCommand \- manage multiple Tcl interpreters, aliases and hidden commands
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -20,31 +20,40 @@ int
\fBTcl_MakeSafe\fR(\fIinterp\fR)
.sp
Tcl_Interp *
\fBTcl_CreateSlave\fR(\fIinterp, slaveName, isSafe\fR)
\fBTcl_CreateChild\fR(\fIinterp, name, isSafe\fR)
.sp
Tcl_Interp *
\fBTcl_GetSlave\fR(\fIinterp, slaveName\fR)
\fBTcl_CreateSlave\fR(\fIinterp, name, isSafe\fR)
.sp
Tcl_Interp *
\fBTcl_GetSlave\fR(\fIinterp, name\fR)
.sp
Tcl_Interp *
\fBTcl_GetChild\fR(\fIinterp, name\fR)
.sp
Tcl_Interp *
\fBTcl_GetMaster\fR(\fIinterp\fR)
.sp
int
\fBTcl_GetInterpPath\fR(\fIaskingInterp, slaveInterp\fR)
Tcl_Interp *
\fBTcl_GetParent\fR(\fIinterp\fR)
.sp
int
\fBTcl_CreateAlias\fR(\fIslaveInterp, slaveCmd, targetInterp, targetCmd,
\fBTcl_GetInterpPath\fR(\fIinterp, childInterp\fR)
.sp
int
\fBTcl_CreateAlias\fR(\fIchildInterp, childCmd, targetInterp, targetCmd,
argc, argv\fR)
.sp
int
\fBTcl_CreateAliasObj\fR(\fIslaveInterp, slaveCmd, targetInterp, targetCmd,
\fBTcl_CreateAliasObj\fR(\fIchildInterp, childCmd, targetInterp, targetCmd,
objc, objv\fR)
.sp
int
\fBTcl_GetAlias\fR(\fIinterp, slaveCmd, targetInterpPtr, targetCmdPtr,
\fBTcl_GetAlias\fR(\fIinterp, childCmd, targetInterpPtr, targetCmdPtr,
argcPtr, argvPtr\fR)
.sp
int
\fBTcl_GetAliasObj\fR(\fIinterp, slaveCmd, targetInterpPtr, targetCmdPtr,
\fBTcl_GetAliasObj\fR(\fIinterp, childCmd, targetInterpPtr, targetCmdPtr,
objcPtr, objvPtr\fR)
.sp
int
@@ -56,17 +65,17 @@ int
.AS "const char *const" **targetInterpPtr out
.AP Tcl_Interp *interp in
Interpreter in which to execute the specified command.
.AP "const char" *slaveName in
Name of slave interpreter to create or manipulate.
.AP "const char" *name in
Name of child interpreter to create or manipulate.
.AP int isSafe in
If non-zero, a
.QW safe
slave that is suitable for running untrusted code
is created, otherwise a trusted slave is created.
.AP Tcl_Interp *slaveInterp in
child that is suitable for running untrusted code
is created, otherwise a trusted child is created.
.AP Tcl_Interp *childInterp in
Interpreter to use for creating the source command for an alias (see
below).
.AP "const char" *slaveCmd in
.AP "const char" *childCmd in
Name of source command for alias.
.AP Tcl_Interp *targetInterp in
Interpreter that contains the target command for an alias.
@@ -121,17 +130,19 @@ interpreter. The return value for those procedures that return an \fBint\fR
is either \fBTCL_OK\fR or \fBTCL_ERROR\fR. If \fBTCL_ERROR\fR is returned
then the interpreter's result contains an error message.
.PP
\fBTcl_CreateSlave\fR creates a new interpreter as a slave of \fIinterp\fR.
It also creates a slave command named \fIslaveName\fR in \fIinterp\fR which
allows \fIinterp\fR to manipulate the new slave.
If \fIisSafe\fR is zero, the command creates a trusted slave in which Tcl
\fBTcl_CreateChild\fR creates a new interpreter as a child of \fIinterp\fR.
It also creates a child command named \fIname\fR in \fIinterp\fR which
allows \fIinterp\fR to manipulate the new child.
If \fIisSafe\fR is zero, the command creates a trusted child in which Tcl
code has access to all the Tcl commands.
If it is \fB1\fR, the command creates a
.QW safe
slave in which Tcl code has access only to set of Tcl commands defined as
child in which Tcl code has access only to set of Tcl commands defined as
.QW "Safe Tcl" ;
see the manual entry for the Tcl \fBinterp\fR command for details.
If the creation of the new slave interpreter failed, \fBNULL\fR is returned.
If the creation of the new child interpreter failed, \fBNULL\fR is returned.
.PP
\fBTcl_CreateSlave\fR is a synonym for \fBTcl_CreateChild\fR.
.PP
\fBTcl_IsSafe\fR returns \fB1\fR if \fIinterp\fR is
.QW safe
@@ -147,34 +158,38 @@ from \fIinterp\fR. However, it cannot know what parts of an extension
or application are safe and does not make any attempt to remove those
parts, so safety is not guaranteed after calling \fBTcl_MakeSafe\fR.
Callers will want to take care with their use of \fBTcl_MakeSafe\fR
to avoid false claims of safety. For many situations, \fBTcl_CreateSlave\fR
to avoid false claims of safety. For many situations, \fBTcl_CreateChild\fR
may be a better choice, since it creates interpreters in a known-safe state.
.PP
\fBTcl_GetSlave\fR returns a pointer to a slave interpreter of
\fIinterp\fR. The slave interpreter is identified by \fIslaveName\fR.
If no such slave interpreter exists, \fBNULL\fR is returned.
\fBTcl_GetChild\fR returns a pointer to a child interpreter of
\fIinterp\fR. The child interpreter is identified by \fIname\fR.
If no such child interpreter exists, \fBNULL\fR is returned.
.PP
\fBTcl_GetMaster\fR returns a pointer to the master interpreter of
\fIinterp\fR. If \fIinterp\fR has no master (it is a
\fBTcl_GetSlave\fR is a synonym for \fBTcl_GetChild\fR.
.PP
\fBTcl_GetParent\fR returns a pointer to the parent interpreter of
\fIinterp\fR. If \fIinterp\fR has no parent (it is a
top-level interpreter) then \fBNULL\fR is returned.
.PP
\fBTcl_GetInterpPath\fR stores in the result of \fIaskingInterp\fR
the relative path between \fIaskingInterp\fR and \fIslaveInterp\fR;
\fIslaveInterp\fR must be a slave of \fIaskingInterp\fR. If the computation
\fBTcl_GetMaster\fR is a synonym for \fBTcl_GetParent\fR.
.PP
\fBTcl_GetInterpPath\fR stores in the result of \fIinterp\fR
the relative path between \fIinterp\fR and \fIchildInterp\fR;
\fIchildInterp\fR must be a child of \fIinterp\fR. If the computation
of the relative path succeeds, \fBTCL_OK\fR is returned, else
\fBTCL_ERROR\fR is returned and an error message is stored as the
result of \fIaskingInterp\fR.
result of \fIinterp\fR.
.PP
\fBTcl_CreateAlias\fR creates a command named \fIslaveCmd\fR in
\fIslaveInterp\fR that when invoked, will cause the command \fItargetCmd\fR
\fBTcl_CreateAlias\fR creates a command named \fIchildCmd\fR in
\fIchildInterp\fR that when invoked, will cause the command \fItargetCmd\fR
to be invoked in \fItargetInterp\fR. The arguments specified by the strings
contained in \fIargv\fR are always prepended to any arguments supplied in the
invocation of \fIslaveCmd\fR and passed to \fItargetCmd\fR.
invocation of \fIchildCmd\fR and passed to \fItargetCmd\fR.
This operation returns \fBTCL_OK\fR if it succeeds, or \fBTCL_ERROR\fR if
it fails; in that case, an error message is left in the value result
of \fIslaveInterp\fR.
of \fIchildInterp\fR.
Note that there are no restrictions on the ancestry relationship (as
created by \fBTcl_CreateSlave\fR) between \fIslaveInterp\fR and
created by \fBTcl_CreateChild\fR) between \fIchildInterp\fR and
\fItargetInterp\fR. Any two interpreters can be used, without any
restrictions on how they are related.
.PP
@@ -233,4 +248,4 @@ interp
.SH KEYWORDS
alias, command, exposed commands, hidden commands, interpreter, invoke,
master, slave
parent, child
+5 -4
View File
@@ -259,7 +259,8 @@ outside this range, \fBTcl_SetChannelBufferSize\fR sets the buffer size to
the generic layer that the events specified by \fImask\fR have
occurred on the channel. Channel drivers are responsible for invoking
this function whenever the channel handlers need to be called for the
channel. See \fBWATCHPROC\fR below for more details.
channel (or other pending tasks like a write flush should be performed).
See \fBWATCHPROC\fR below for more details.
.PP
\fBTcl_BadChannelOption\fR is called from driver specific
\fIsetOptionProc\fR or \fIgetOptionProc\fR to generate a complete
@@ -599,9 +600,9 @@ in preference to the \fIseekProc\fR, but both must be defined if the
following prototype:
.PP
.CS
typedef Tcl_WideInt \fBTcl_DriverWideSeekProc\fR(
typedef long long \fBTcl_DriverWideSeekProc\fR(
ClientData \fIinstanceData\fR,
Tcl_WideInt \fIoffset\fR,
long long \fIoffset\fR,
int \fIseekMode\fR,
int *\fIerrorCodePtr\fR);
.CE
@@ -823,7 +824,7 @@ length. It can be NULL.
.CS
typedef int \fBTcl_DriverTruncateProc\fR(
ClientData \fIinstanceData\fR,
Tcl_WideInt \fIlength\fR);
long long \fIlength\fR);
.CE
.PP
\fIInstanceData\fR is the same as the value passed to
+1 -1
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1989-1993 The Regents of the University of California.
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
'\" Copyright (c) 2002 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\" Copyright (c) 2002 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+2 -2
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1992-1999 Karl Lehenbauer and Mark Diekhans.
'\" Copyright (c) 2000 by Scriptics Corporation.
'\" Copyright (c) 1992-1999 Karl Lehenbauer & Mark Diekhans.
'\" Copyright (c) 2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH "Tcl_DumpActiveMemory" 3 8.1 Tcl "Tcl Library Procedures"
+11 -11
View File
@@ -144,16 +144,16 @@ Tcl_Obj *
Tcl_StatBuf *
\fBTcl_AllocStatBuf\fR()
.sp
Tcl_WideInt
long long
\fBTcl_GetAccessTimeFromStat\fR(\fIstatPtr\fR)
.sp
unsigned
\fBTcl_GetBlockSizeFromStat\fR(\fIstatPtr\fR)
.sp
Tcl_WideUInt
unsigned long long
\fBTcl_GetBlocksFromStat\fR(\fIstatPtr\fR)
.sp
Tcl_WideInt
long long
\fBTcl_GetChangeTimeFromStat\fR(\fIstatPtr\fR)
.sp
int
@@ -174,10 +174,10 @@ int
unsigned
\fBTcl_GetModeFromStat\fR(\fIstatPtr\fR)
.sp
Tcl_WideInt
long long
\fBTcl_GetModificationTimeFromStat\fR(\fIstatPtr\fR)
.sp
Tcl_WideUInt
unsigned long long
\fBTcl_GetSizeFromStat\fR(\fIstatPtr\fR)
.sp
int
@@ -241,9 +241,9 @@ The structure that contains the result of a stat or lstat operation.
Name of a procedure to look up in the file's symbol table
.AP "const char" *sym2 in
Name of a procedure to look up in the file's symbol table
.AP Tcl_PackageInitProc **proc1Ptr out
.AP Tcl_LibraryInitProc **proc1Ptr out
Filled with the init function for this code.
.AP Tcl_PackageInitProc **proc2Ptr out
.AP Tcl_LibraryInitProc **proc2Ptr out
Filled with the safe-init function for this code.
.AP ClientData *clientDataPtr out
Filled with the clientData value to pass to this code's unload
@@ -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
@@ -1340,11 +1340,11 @@ is considered to be owned by the filesystem (not by Tcl's core), but
should be given a reference count for Tcl. Tcl will use the contents of the
list and then decrement that reference count. This allows filesystems to
choose whether they actually want to retain a
.QW "master list"
.QW "global list"
of volumes
or not (if not, they generate the list on the fly and pass it to Tcl
with a reference count of 1 and then forget about the list, if yes, then
they simply increment the reference count of their master list and pass it
they simply increment the reference count of their global list and pass it
to Tcl which will copy the contents and then decrement the count back
to where it was).
.PP
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" Copyright (c) 1998-2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH Tcl_GetHostName 3 8.3 Tcl "Tcl Library Procedures"
+13 -6
View File
@@ -27,19 +27,22 @@ Interpreter to use for error reporting; if NULL, then no message is
provided on errors.
.AP Tcl_Obj *objPtr in/out
The string value of this value is used to search through \fItablePtr\fR.
The internal representation is modified to hold the index of the matching
If the \fBTCL_INDEX_TEMP_TABLE\fR flag is not specified,
the internal representation is modified to hold the index of the matching
table entry.
.AP "const char *const" *tablePtr in
An array of null-terminated strings. The end of the array is marked
by a NULL string pointer.
Note that references to the \fItablePtr\fR may be retained in the
Note that, unless the \fBTCL_INDEX_TEMP_TABLE\fR flag is specified,
references to the \fItablePtr\fR may be retained in the
internal representation of \fIobjPtr\fR, so this should represent the
address of a statically-allocated array.
.AP "const void" *structTablePtr in
An array of arbitrary type, typically some \fBstruct\fR type.
The first member of the structure must be a null-terminated string.
The size of the structure is given by \fIoffset\fR.
Note that references to the \fIstructTablePtr\fR may be retained in the
Note that, unless the \fBTCL_INDEX_TEMP_TABLE\fR flag is specified,
references to the \fIstructTablePtr\fR may be retained in the
internal representation of \fIobjPtr\fR, so this should represent the
address of a statically-allocated array of structures.
.AP int offset in
@@ -50,7 +53,8 @@ Null-terminated string describing what is being looked up, such as
\fBoption\fR. This string is included in error messages.
.AP int flags in
OR-ed combination of bits providing additional information for
operation. The only bit that is currently defined is \fBTCL_EXACT\fR.
operation. The only bits that are currently defined are \fBTCL_EXACT\fR
and \fBTCL_INDEX_TEMP_TABLE\fR.
.AP int *indexPtr out
The index of the string in \fItablePtr\fR that matches the value of
\fIobjPtr\fR is returned here.
@@ -76,7 +80,8 @@ error message to indicate what was being looked up. For example,
if \fImsg\fR is \fBoption\fR the error message will have a form like
.QW "\fBbad option \N'34'firt\N'34': must be first, second, or third\fR" .
.PP
If \fBTcl_GetIndexFromObj\fR completes successfully it modifies the
If the \fBTCL_INDEX_TEMP_TABLE\fR was not specified, when
\fBTcl_GetIndexFromObj\fR completes successfully it modifies the
internal representation of \fIobjPtr\fR to hold the address of
the table and the index of the matching entry. If \fBTcl_GetIndexFromObj\fR
is invoked again with the same \fIobjPtr\fR and \fItablePtr\fR
@@ -84,7 +89,9 @@ arguments (e.g. during a reinvocation of a Tcl command), it returns
the matching index immediately without having to redo the lookup
operation. Note: \fBTcl_GetIndexFromObj\fR assumes that the entries
in \fItablePtr\fR are static: they must not change between
invocations. If the value of \fIobjPtr\fR is the empty string,
invocations. This caching mechanism can be disallowed by specifying
the \fBTCL_INDEX_TEMP_TABLE\fR flag.
If the value of \fIobjPtr\fR is the empty string,
\fBTcl_GetIndexFromObj\fR will treat it as a non-matching value
and return \fBTCL_ERROR\fR.
.PP
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1996 by Sun Microsystems, Inc.
'\" Copyright (c) 1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2001 by Kevin B. Kenny <kennykb@acm.org>.
'\" Copyright (c) 2001 Kevin B. Kenny <kennykb@acm.org>.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" Copyright (c) 1998-2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH Tcl_Init 3 8.0 Tcl "Tcl Library Procedures"
+1 -1
View File
@@ -102,7 +102,7 @@ are provided by the C language standard. The \fBTcl_WideInt\fR type is a
typedef defined to be whatever signed integral type covers at least the
64-bit integer range (-9223372036854775808 to 9223372036854775807). Depending
on the platform and the C compiler, the actual type might be
\fBlong long int\fR, \fB__int64\fR, or something else.
\fBlong long int\fR, or something else.
The \fBmp_int\fR type is a multiple-precision integer type defined
by the LibTomMath multiple-precision integer library.
.PP
+1 -1
View File
@@ -116,7 +116,7 @@ execution of the callbacks is unspecified) execution in the limited
interpreter is stopped by raising an error and setting a flag that
prevents the \fBcatch\fR command in that interpreter from trapping
that error. It is up to the context that started execution in that
interpreter (typically a master interpreter) to handle the error.
interpreter (typically the main interpreter) to handle the error.
.SH "LIMIT CHECKING API"
.PP
To check the resource limits for an interpreter, call
+4 -4
View File
@@ -1,6 +1,6 @@
.\"
.\" Copyright (c) 2008 by Kevin B. Kenny.
.\" Copyright (c) 2018 by Nathan Coulter.
.\" Copyright (c) 2008 Kevin B. Kenny.
.\" Copyright (c) 2018 Nathan Coulter.
.\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -232,5 +232,5 @@ Tcl_CreateCommand(3), Tcl_CreateObjCommand(3), Tcl_EvalObjEx(3), Tcl_GetCommandF
.SH KEYWORDS
stackless, nonrecursive, execute, command, global, value, result, script
.SH COPYRIGHT
Copyright (c) 2008 by Kevin B. Kenny.
Copyright (c) 2018 by Nathan Coulter.
Copyright \(co 2008 Kevin B. Kenny.
Copyright \(co 2018 Nathan Coulter.
+4 -4
View File
@@ -92,10 +92,10 @@ int
int
\fBTcl_OutputBuffered\fR(\fIchannel\fR)
.sp
Tcl_WideInt
long long
\fBTcl_Seek\fR(\fIchannel, offset, seekMode\fR)
.sp
Tcl_WideInt
long long
\fBTcl_Tell\fR(\fIchannel\fR)
.sp
int
@@ -190,7 +190,7 @@ A buffer containing the bytes to output to the channel.
.AP int bytesToWrite in
The number of bytes to consume from \fIcharBuf\fR or \fIbyteBuf\fR and
output to the channel.
.AP Tcl_WideInt offset in
.AP "long long" offset in
How far to move the access point in the channel at which the next input or
output operation will be applied, measured in bytes from the position
given by \fIseekMode\fR. May be either positive or negative.
@@ -198,7 +198,7 @@ given by \fIseekMode\fR. May be either positive or negative.
Relative to which point to seek; used with \fIoffset\fR to calculate the new
access point for the channel. Legal values are \fBSEEK_SET\fR,
\fBSEEK_CUR\fR, and \fBSEEK_END\fR.
.AP Tcl_WideInt length in
.AP "long long" length in
The (non-negative) length to truncate the channel the channel to.
.AP "const char" *optionName in
The name of an option applicable to this channel, such as \fB\-blocking\fR.
+1 -1
View File
@@ -94,4 +94,4 @@ compatibility and translate their invocations to this form.
.SH KEYWORDS
package, present, provide, require, version
.SH "SEE ALSO"
package(n), Tcl_StaticPackage(3)
package(n), Tcl_StaticLibrary(3)
+4 -4
View File
@@ -28,7 +28,7 @@ configuration as ASCII string. This means that this information is in
UTF-8 too. Must not be NULL.
.AP "const Tcl_Config" *configuration in
Refers to an array of Tcl_Config entries containing the information
embedded in the binary library. Must not be NULL. The end of the array
embedded in the library. Must not be NULL. The end of the array
is signaled by either a key identical to NULL, or a key referring to
the empty string.
.AP "const char" *valEncoding in
@@ -40,10 +40,10 @@ too. Must not be NULL.
.PP
The function described here has its base in TIP 59 and provides
extensions with support for the embedding of configuration
information into their binary library and the generation of a
information into their library and the generation of a
Tcl-level interface for querying this information.
.PP
To embed configuration information into their binary library an
To embed configuration information into their library an
extension has to define a non-volatile array of Tcl_Config entries in
one if its source files and then call \fBTcl_RegisterConfig\fR to
register that information.
@@ -108,4 +108,4 @@ typedef struct Tcl_Config {
.\" No cross references yet.
.\" .SH "SEE ALSO"
.SH KEYWORDS
embedding, configuration, binary library
embedding, configuration, library
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1997 by Sun Microsystems, Inc.
'\" Copyright (c) 1997 Sun Microsystems, Inc.
'\" Contributions from Don Porter, NIST, 2004. (not subject to US copyright)
'\" Copyright (c) 2018 Nathan Coulter.
'\"
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" Copyright (c) 1998-2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH Tcl_SourceRCFile 3 8.3 Tcl "Tcl Library Procedures"
+78
View File
@@ -0,0 +1,78 @@
'\"
'\" Copyright (c) 1995-1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
.TH Tcl_StaticLibrary 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
.SH NAME
Tcl_StaticLibrary, Tcl_StaticPackage \- make a statically linked library available via the 'load' command
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
\fBTcl_StaticLibrary\fR(\fIinterp, prefix, initProc, safeInitProc\fR)
.sp
\fBTcl_StaticPackage\fR(\fIinterp, prefix, initProc, safeInitProc\fR)
.SH ARGUMENTS
.AS Tcl_LibraryInitProc *safeInitProc
.AP Tcl_Interp *interp in
If not NULL, points to an interpreter into which the library has
already been incorporated (i.e., the caller has already invoked the
appropriate initialization procedure). NULL means the library
has not yet been incorporated into any interpreter.
.AP "const char" *prefix in
Prefix for library initialization function; should be properly
capitalized (first letter upper-case, all others lower-case).
.AP Tcl_LibraryInitProc *initProc in
Procedure to invoke to incorporate this library into a trusted
interpreter.
.AP Tcl_LibraryInitProc *safeInitProc in
Procedure to call to incorporate this library into a safe interpreter
(one that will execute untrusted scripts). NULL means the library
cannot be used in safe interpreters.
.BE
.SH DESCRIPTION
.PP
This procedure may be invoked to announce that a library has been
linked statically with a Tcl application and, optionally, that it
has already been incorporated into an interpreter.
Once \fBTcl_StaticLibrary\fR has been invoked for a library, it
may be incorporated into interpreters using the \fBload\fR command.
\fBTcl_StaticLibrary\fR is normally invoked only by the \fBTcl_AppInit\fR
procedure for the application, not by libraries for themselves
(\fBTcl_StaticLibrary\fR should only be invoked for statically
linked libraries, and code in the library itself should not need
to know whether the library is dynamically loaded or statically linked).
.PP
When the \fBload\fR command is used later to incorporate the library into
an interpreter, one of \fIinitProc\fR and \fIsafeInitProc\fR will
be invoked, depending on whether the target interpreter is safe
or not.
\fIinitProc\fR and \fIsafeInitProc\fR must both match the
following prototype:
.PP
.CS
typedef int \fBTcl_LibraryInitProc\fR(
Tcl_Interp *\fIinterp\fR);
.CE
.PP
The \fIinterp\fR argument identifies the interpreter in which the library
is to be incorporated. The initialization procedure must return \fBTCL_OK\fR or
\fBTCL_ERROR\fR to indicate whether or not it completed successfully; in
the event of an error it should set the interpreter's result to point to an
error message. The result or error from the initialization procedure will
be returned as the result of the \fBload\fR command that caused the
initialization procedure to be invoked.
.PP
\fBTcl_StaticLibrary\fR was named \fBTcl_StaticPackage\fR in Tcl 8.6 and
earlier, but the old name is deprecated now.
.PP
\fBTcl_StaticLibrary\fR can not be used in stub-enabled extensions. Its symbol
entry in the stub table is deprecated and it will be removed in Tcl 9.0.
.SH KEYWORDS
initialization procedure, package, static linking
.SH "SEE ALSO"
load(n), package(n), Tcl_PkgRequire(3)
-73
View File
@@ -1,73 +0,0 @@
'\"
'\" Copyright (c) 1995-1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
.TH Tcl_StaticPackage 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
.SH NAME
Tcl_StaticPackage \- make a statically linked package available via the 'load' command
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
\fBTcl_StaticPackage\fR(\fIinterp, pkgName, initProc, safeInitProc\fR)
.SH ARGUMENTS
.AS Tcl_PackageInitProc *safeInitProc
.AP Tcl_Interp *interp in
If not NULL, points to an interpreter into which the package has
already been loaded (i.e., the caller has already invoked the
appropriate initialization procedure). NULL means the package
has not yet been incorporated into any interpreter.
.AP "const char" *pkgName in
Name of the package; should be properly capitalized (first letter
upper-case, all others lower-case).
.AP Tcl_PackageInitProc *initProc in
Procedure to invoke to incorporate this package into a trusted
interpreter.
.AP Tcl_PackageInitProc *safeInitProc in
Procedure to call to incorporate this package into a safe interpreter
(one that will execute untrusted scripts). NULL means the package
cannot be used in safe interpreters.
.BE
.SH DESCRIPTION
.PP
This procedure may be invoked to announce that a package has been
linked statically with a Tcl application and, optionally, that it
has already been loaded into an interpreter.
Once \fBTcl_StaticPackage\fR has been invoked for a package, it
may be loaded into interpreters using the \fBload\fR command.
\fBTcl_StaticPackage\fR is normally invoked only by the \fBTcl_AppInit\fR
procedure for the application, not by packages for themselves
(\fBTcl_StaticPackage\fR should only be invoked for statically
loaded packages, and code in the package itself should not need
to know whether the package is dynamically or statically loaded).
.PP
When the \fBload\fR command is used later to load the package into
an interpreter, one of \fIinitProc\fR and \fIsafeInitProc\fR will
be invoked, depending on whether the target interpreter is safe
or not.
\fIinitProc\fR and \fIsafeInitProc\fR must both match the
following prototype:
.PP
.CS
typedef int \fBTcl_PackageInitProc\fR(
Tcl_Interp *\fIinterp\fR);
.CE
.PP
The \fIinterp\fR argument identifies the interpreter in which the package
is to be loaded. The initialization procedure must return \fBTCL_OK\fR or
\fBTCL_ERROR\fR to indicate whether or not it completed successfully; in
the event of an error it should set the interpreter's result to point to an
error message. The result or error from the initialization procedure will
be returned as the result of the \fBload\fR command that caused the
initialization procedure to be invoked.
.PP
\fBTcl_StaticPackage\fR can not be used in stub-enabled extensions. Its symbol
entry in the stub table is deprecated and it will be removed in Tcl 9.0.
.SH KEYWORDS
initialization procedure, package, static linking
.SH "SEE ALSO"
load(n), package(n), Tcl_PkgRequire(3)
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2001 by ActiveState Corporation
'\" Copyright (c) 2001 ActiveState Corporation
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+3 -3
View File
@@ -119,9 +119,9 @@ returned as a new value.
Points to a value to manipulate.
.AP Tcl_Obj *appendObjPtr in
The value to append to \fIobjPtr\fR in \fBTcl_AppendObjToObj\fR.
.AP int *lengthPtr out
If non-NULL, the location where \fBTcl_GetStringFromObj\fR will store
the length of a value's string representation.
.AP size_t | int *lengthPtr out
The location where \fBTcl_GetStringFromObj\fR will store the length
of a value's string representation. May be (int *)NULL when not used.
.AP "const char" *string in
Null-terminated string value to append to \fIobjPtr\fR.
.AP va_list argList in
+2 -2
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1992-1999 Karl Lehenbauer and Mark Diekhans.
'\" Copyright (c) 2000 by Scriptics Corporation.
'\" Copyright (c) 1992-1999 Karl Lehenbauer & Mark Diekhans.
'\" Copyright (c) 2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH TCL_MEM_DEBUG 3 8.1 Tcl "Tcl Library Procedures"
+4 -1
View File
@@ -223,7 +223,10 @@ before this range overflows, or when the maximum of eight digits
is reached. The upper bits of the Unicode character will be 0.
.RS
.PP
The range U+010000\(enU+10FFFD is reserved for the future.
The range U+00D800\(enU+00DFFF is reserved for surrogates, which
are illegal on their own. Therefore, such sequences will result in
the replacement character U+FFFD. Surrogate pairs should be
encoded as single \e\fBU\fIhhhhhhhh\fR character.
.RE
.PP
Backslash substitution is not performed on words enclosed in braces,
+17 -7
View File
@@ -10,13 +10,17 @@
.so man.macros
.BS
.SH NAME
Tcl_Main, Tcl_SetStartupScript, Tcl_GetStartupScript, Tcl_SetMainLoop \- main program, startup script, and event loop definition for Tcl-based applications
Tcl_Main, Tcl_MainEx, Tcl_MainExW, Tcl_SetStartupScript, Tcl_GetStartupScript, Tcl_SetMainLoop \- main program, startup script, and event loop definition for Tcl-based applications
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
.sp
\fBTcl_Main\fR(\fIargc, argv, appInitProc\fR)
.sp
\fBTcl_MainEx\fR(\fIargc, charargv, appInitProc, interp\fR)
.sp
\fBTcl_MainExW\fR(\fIargc, wideargv, appInitProc, interp\fR)
.sp
\fBTcl_SetStartupScript\fR(\fIpath, encoding\fR)
.sp
Tcl_Obj *
@@ -30,6 +34,10 @@ Number of elements in \fIargv\fR.
.AP char *argv[] in
Array of strings containing command-line arguments. On Windows, when
using -DUNICODE, the parameter type changes to wchar_t *.
.AP char *charargv[] in
As argv, but does not change type to wchar_t.
.AP char *wideargv[] in
As argv, but type is always wchar_t.
.AP Tcl_AppInitProc *appInitProc in
Address of an application-specific initialization procedure.
The value for this argument is usually \fBTcl_AppInit\fR.
@@ -42,6 +50,8 @@ If non-NULL, location to write a copy of the (const char *)
pointing to the encoding name.
.AP Tcl_MainLoopProc *mainLoopProc in
Address of an application-specific event loop procedure.
.AP Tcl_Interp *interp in
Already created Tcl Interpreter.
.BE
.SH DESCRIPTION
.PP
@@ -79,7 +89,7 @@ against the standard Tcl library. Extensions (stub-enabled or
not) are not intended to call \fBTcl_Main\fR.
.PP
\fBTcl_Main\fR is not thread-safe. It should only be called by
a single master thread of a multi-threaded application. This
a single main thread of a multi-threaded application. This
restriction is not a problem with normal use described above.
.PP
\fBTcl_Main\fR and therefore all applications based upon it, like
@@ -112,7 +122,7 @@ The file name and encoding values managed by the routines
\fBTcl_SetStartupScript\fR and \fBTcl_GetStartupScript\fR
are stored per-thread. Although the storage and retrieval
functions of these routines work in any thread, only those
calls in the same master thread as \fBTcl_Main\fR can have
calls in the same main thread as \fBTcl_Main\fR can have
any influence on it.
.PP
The caller of \fBTcl_Main\fR may call \fBTcl_SetStartupScript\fR
@@ -126,7 +136,7 @@ a \fIstartup script\fR, and \fIname\fR is taken to be the name
of the encoding of the contents of that file. \fBTcl_Main\fR
then calls \fBTcl_SetStartupScript\fR with these values.
.PP
\fBTcl_Main\fR then defines in its master interpreter
\fBTcl_Main\fR then defines in its main interpreter
the Tcl variables \fIargc\fR, \fIargv\fR, \fIargv0\fR, and
\fItcl_interactive\fR, as described in the documentation for \fBtclsh\fR.
.PP
@@ -154,9 +164,9 @@ When the \fIappInitProc\fR is finished, \fBTcl_Main\fR calls
been requested, if any. If a startup script has been provided,
\fBTcl_Main\fR attempts to evaluate it. Otherwise, interactive
mode begins with examination of the variable \fItcl_rcFileName\fR
in the master interpreter. If that variable exists and holds the
in the main interpreter. If that variable exists and holds the
name of a readable file, the contents of that file are evaluated
in the master interpreter. Then interactive operations begin,
in the main interpreter. Then interactive operations begin,
with prompts and command evaluation results written to the standard
output channel, and commands read from the standard input channel
and then evaluated. The prompts written to the standard output
@@ -164,7 +174,7 @@ channel may be customized by defining the Tcl variables \fItcl_prompt1\fR
and \fItcl_prompt2\fR as described in the documentation for \fBtclsh\fR.
The prompts and command evaluation results are written to the standard
output channel only if the Tcl variable \fItcl_interactive\fR in the
master interpreter holds a non-zero integer value.
main interpreter holds a non-zero integer value.
.PP
\fBTcl_SetMainLoop\fR allows setting an event loop procedure to be run.
This allows, for example, Tk to be dynamically loaded and set its event
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1997 by Sun Microsystems, Inc.
'\" Copyright (c) 1997 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+15 -10
View File
@@ -233,10 +233,10 @@ characters.
.PP
\fBTcl_UtfCharComplete\fR returns 1 if the source UTF-8 string \fIsrc\fR
of \fIlength\fR bytes is long enough to be decoded by
\fBTcl_UtfToUniChar\fR, or 0 otherwise. This function does not guarantee
that the UTF-8 string is properly formed. This routine is used by
procedures that are operating on a byte at a time and need to know if a
full Unicode character has been seen.
\fBTcl_UtfToUniChar\fR/\fBTcl_UtfNext\fR, or 0 otherwise. This function
does not guarantee that the UTF-8 string is properly formed. This routine
is used by procedures that are operating on a byte at a time and need to
know if a full Unicode character has been seen.
.PP
\fBTcl_NumUtfChars\fR corresponds to \fBstrlen\fR for UTF-8 strings. It
returns the number of Tcl_UniChars that are represented by the UTF-8 string
@@ -257,7 +257,8 @@ Given \fIsrc\fR, a pointer to some location in a UTF-8 string,
\fBTcl_UtfNext\fR returns a pointer to the next UTF-8 character in the
string. The caller must not ask for the next character after the last
character in the string if the string is not terminated by a null
character.
character. \fBTcl_UtfCharComplete\fR can be used in that case to
make sure enough bytes are available before calling \fBTcl_UtfNext\fR.
.PP
\fBTcl_UtfPrev\fR is used to step backward through but not beyond the
UTF-8 string that begins at \fIstart\fR. If the UTF-8 string is made
@@ -274,24 +275,28 @@ always a pointer to a location in the string. It always returns a pointer to
a byte that begins a character when scanning for characters beginning
from \fIstart\fR. When \fIsrc\fR is greater than \fIstart\fR, it
always returns a pointer less than \fIsrc\fR and greater than or
equal to (\fIsrc\fR - \fBTCL_UTF_MAX\fR). The character that begins
equal to (\fIsrc\fR - 4). The character that begins
at the returned pointer is the first one that either includes the
byte \fIsrc[-1]\fR, or might include it if the right trail bytes are
present at \fIsrc\fR and greater. \fBTcl_UtfPrev\fR never reads the
byte \fIsrc[0]\fR nor the byte \fIstart[-1]\fR nor the byte
\fIsrc[-\fBTCL_UTF_MAX\fI-1]\fR.
\fIsrc[-5]\fR.
.PP
\fBTcl_UniCharAtIndex\fR corresponds to a C string array dereference or the
Pascal Ord() function. It returns the Unicode character represented at the
specified character (not byte) \fIindex\fR in the UTF-8 string
\fIsrc\fR. The source string must contain at least \fIindex\fR
characters. Behavior is undefined if a negative \fIindex\fR is given.
characters. If a negative \fIindex\fR is given or \fIindex\fR points
to the second half of a surrogate pair, it returns -1.
.PP
\fBTcl_UtfAtIndex\fR returns a pointer to the specified character (not
byte) \fIindex\fR in the UTF-8 string \fIsrc\fR. The source string must
contain at least \fIindex\fR characters. This is equivalent to calling
\fBTcl_UtfNext\fR \fIindex\fR times. If a negative \fIindex\fR is given,
the return pointer points to the first character in the source string.
\fBTcl_UtfToUniChar\fR \fIindex\fR times, except if that would return
a pointer to the second byte of a valid 4-byte UTF-8 sequence, in which
case, \fBTcl_UtfToUniChar\fR will be called once more to find the end
of the sequence. If a negative \fIindex\fR is given, the returned pointer
points to the first character in the source string.
.PP
\fBTcl_UtfBackslash\fR is a utility procedure used by several of the Tcl
commands. It parses a backslash sequence and stores the properly formed
+1 -1
View File
@@ -12,7 +12,7 @@
oo::abstract \- a class that does not allow direct instances of itself
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::abstract\fI method \fR?\fIarg ...\fR?
.fi
+11 -2
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1997 by Sun Microsystems, Inc.
'\" Copyright (c) 2008 by Donal K. Fellows
'\" Copyright (c) 1997 Sun Microsystems, Inc.
'\" Copyright (c) 2008 Donal K. Fellows
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -762,6 +762,15 @@ high-to-low order within each byte. For example,
will return \fB2\fR with \fB01110\fR stored in \fIvar1\fR and
\fB1000011100000101\fR stored in \fIvar2\fR.
.RE
.IP \fBC\fR 5
This form is similar to \fBA\fR, except that it scans the data from start
and terminates at the first null (C string semantics). For example,
.RS
.CS
\fBbinary scan\fR "abc\e000efghi" C* var1
.CE
will return \fB1\fR with \fBabc\fR stored in \fIvar1\fR.
.RE
.IP \fBH\fR 5
The data is turned into a string of \fIcount\fR hexadecimal digits in
high-to-low order represented as a sequence of characters in the set
+1 -1
View File
@@ -12,7 +12,7 @@
callback, mymethod \- generate callbacks to methods
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBcallback\fR \fImethodName\fR ?\fIarg ...\fR?
\fBmymethod\fR \fImethodName\fR ?\fIarg ...\fR?
+3 -3
View File
@@ -175,7 +175,7 @@ operating system, as returned by \fBencoding system\fR.
.TP
\fB\-eofchar\fR \fB{\fIinChar outChar\fB}\fR
.
This option supports DOS file systems that use Control-z (\ex1a) as an
This option supports DOS file systems that use Control-z (\ex1A) as an
end of file marker. If \fIchar\fR is not an empty string, then this
character signals end-of-file when it is encountered during input.
For output, the end-of-file character is output when the channel is
@@ -188,7 +188,7 @@ will apply to both reading and writing. When querying the end-of-file
character of a read-write channel, a two-element list will always be
returned. The default value for \fB\-eofchar\fR is the empty string
in all cases except for files under Windows. In that case the
\fB\-eofchar\fR is Control-z (\ex1a) for reading and the empty string
\fB\-eofchar\fR is Control-z (\ex1A) for reading and the empty string
for writing.
The acceptable range for \fB\-eofchar\fR values is \ex01 - \ex7f;
attempting to set \fB\-eofchar\fR to a value outside of this range will
@@ -772,7 +772,7 @@ set offset 0
\fI# Search for string "FOOBAR" in the file\fR
while {[\fBchan gets\fR $f line] >= 0} {
set idx [string first FOOBAR $line]
if {$idx > -1} {
if {$idx >= 0} {
\fI# Found it; rewrite line\fR
\fBchan seek\fR $f [expr {$offset + $idx}]
+1 -1
View File
@@ -12,7 +12,7 @@
oo::class \- class of all classes
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::class\fI method \fR?\fIarg ...\fR?
.fi
+1 -1
View File
@@ -13,7 +13,7 @@
classvariable \- create link from local variable to variable in class
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBclassvariable\fR \fIvariableName\fR ?\fI...\fR?
.fi
+12 -11
View File
@@ -8,7 +8,7 @@
.SH NAME
clock \- Obtain and manipulate dates and times
.SH "SYNOPSIS"
package require \fBTcl 8.5\fR
package require \fBTcl 8.5-\fR
.sp
\fBclock add\fR \fItimeVal\fR ?\fIcount unit...\fR? ?\fI\-option value\fR?
.sp
@@ -471,36 +471,36 @@ The following format groups are recognized by the \fBclock scan\fR and
\fBclock format\fR commands.
.TP
\fB%a\fR
On output, receives an abbreviation (\fIe.g.,\fR \fBMon\fR) for the day
On output, produces an abbreviation (\fIe.g.,\fR \fBMon\fR) for the day
of the week in the given locale. On input, matches the name of the day
of the week in the given locale (in either abbreviated or full form, or
any unique prefix of either form).
.TP
\fB%A\fR
On output, receives the full name (\fIe.g.,\fR \fBMonday\fR) of the day
On output, produces the full name (\fIe.g.,\fR \fBMonday\fR) of the day
of the week in the given locale. On input, matches the name of the day
of the week in the given locale (in either abbreviated or full form, or
any unique prefix of either form).
.TP
\fB%b\fR
On output, receives an abbreviation (\fIe.g.,\fR \fBJan\fR) for the name
On output, produces an abbreviation (\fIe.g.,\fR \fBJan\fR) for the name
of the month in the given locale. On input, matches the name of the month
in the given locale (in either abbreviated or full form, or
any unique prefix of either form).
.TP
\fB%B\fR
On output, receives the full name (\fIe.g.,\fR \fBJanuary\fR)
On output, produces the full name (\fIe.g.,\fR \fBJanuary\fR)
of the month in the given locale. On input, matches the name of the month
in the given locale (in either abbreviated or full form, or
any unique prefix of either form).
.TP
\fB%c\fR
On output, receives a localized representation of date and time of day;
On output, produces a localized representation of date and time of day;
the localized representation is expected to use the Gregorian calendar.
On input, matches whatever \fB%c\fR produces.
.TP
\fB%C\fR
On output, receives the number of the century in Indo-Arabic numerals.
On output, produces the number of the century in Indo-Arabic numerals.
On input, matches one or two digits, possibly with leading whitespace,
that are expected to be the number of the century.
.TP
@@ -913,13 +913,14 @@ an error may result if these years are used.
\fIISO 8601 point-in-time\fR
.
An ISO 8601 point-in-time specification, such as
.QW \fICCyymmdd\fBT\fIhhmmss\fR,
.QW "\fICCyymmdd\fBT\fIhhmmss\fR",
where \fBT\fR is the literal
.QW T ,
.QW "\fICCyymmdd hhmmss\fR" ,
.QW "\fICCyymmdd\fBT\fIhh:mm:ss\fR" ,
or
.QW \fICCyymmdd\fBT\fIhh\fB:\fImm\fB:\fIss\fR .
Note that only these three formats are accepted.
.QW "\fICCyy-mm-dd\fBT\fIhh\fB:\fImm\fB:\fIss\fR".
Note that only these four formats are accepted.
The command does \fInot\fR accept the full range of point-in-time
specifications specified in ISO8601. Other formats can be recognized by
giving an explicit \fB\-format\fR option to the \fBclock scan\fR command.
@@ -950,7 +951,7 @@ msgcat(n)
.SH KEYWORDS
clock, date, time
.SH "COPYRIGHT"
Copyright (c) 2004 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
Copyright \(co 2004 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\" Local Variables:
'\" mode: nroff
'\" End:
+1 -1
View File
@@ -12,7 +12,7 @@
oo::copy \- create copies of objects and classes
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::copy\fI sourceObject \fR?\fItargetObject\fR? ?\fItargetNamespace\fR?
.fi
+1 -1
View File
@@ -12,7 +12,7 @@
oo::define, oo::objdefine \- define and configure classes and objects
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::define\fI class defScript\fR
\fBoo::define\fI class subcommand arg\fR ?\fIarg ...\fR?
+8 -8
View File
@@ -28,7 +28,7 @@ writing the resulting dictionary value back to that variable.
Non-existent keys are treated as if they map to an empty string. The
updated dictionary value is returned.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the appending operation.
.VE TIP508
@@ -61,7 +61,7 @@ of the given patterns (in the style of \fBstring match\fR.)
.
The script rule tests for matching by assigning the key to the
\fIkeyVariable\fR and the value to the \fIvalueVariable\fR, and then evaluating
the given script which should return a boolean value (with the
the given script which should result in a boolean value (with the
key/value pair only being included in the result of the \fBdict
filter\fR when a true value is returned.) Note that the first
argument after the rule selection word is a two-element list. If the
@@ -142,7 +142,7 @@ are treated as if they map to 0. It is an error to increment a value
for an existing key if that value is not an integer. The updated
dictionary value is returned.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the incrementing operation.
.VE TIP508
@@ -172,7 +172,7 @@ there to be no items to append to the list. It is an error for the
value that the key maps to to not be representable as a list. The
updated dictionary value is returned.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the list-appending operation.
.VE TIP508
@@ -234,7 +234,7 @@ containing a mapping from the given key to the given value. When
multiple keys are present, this operation creates or updates a chain
of nested dictionaries. The updated dictionary value is returned.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the value insert/update operation.
.VE TIP508
@@ -254,7 +254,7 @@ must be specified, but the last key on the key-path need not exist.
All other components on the path must exist. The updated dictionary
value is returned.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the value remove operation.
.VE TIP508
@@ -274,7 +274,7 @@ or some other kind of exceptional exit. The result of \fBdict
update\fR is (unless some kind of error occurs) the result of the
evaluation of \fIbody\fR.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the update operation.
.VE TIP508
@@ -313,7 +313,7 @@ dictionaries no longer exists. The result of \fBdict with\fR is
(unless some kind of error occurs) the result of the evaluation of
\fIbody\fR.
.VS TIP508
If \fIdictionaryVarable\fR indicates an element that does not exist of an
If \fIdictionaryVariable\fR indicates an element that does not exist of an
array that has a default value set, the default value and will be used as the
value of the dictionary prior to the updating operation.
.VE TIP508
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1998 by Scriptics Corporation.
'\" Copyright (c) 1998 Scriptics Corporation.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+8 -13
View File
@@ -22,6 +22,10 @@ of one or more subprocesses to execute.
The arguments take the form of a standard shell pipeline
where each \fIarg\fR becomes one word of a command, and
each distinct command becomes a subprocess.
The result of the command is the standard output of the final subprocess in
the pipeline, interpreted using the system \fBencoding\fR; to use any other
encoding (especially including binary data), the pipeline must be
\fBopen\fRed, configured and read explicitly.
.PP
If the initial arguments to \fBexec\fR start with \fB\-\fR then
they are treated as command-line switches and are not part
@@ -246,15 +250,6 @@ the backslash character. If an argument contains forward slashes as the
path separator, it may or may not be recognized as a path name, depending on
the program.
.PP
Additionally, when calling a 16-bit DOS or Windows 3.X application, all path
names must use the short, cryptic, path format (e.g., using
.QW applba~1.def
instead of
.QW applbakery.default ),
which can be obtained with the
.QW "\fBfile attributes\fI fileName \fB\-shortname\fR"
command.
.PP
Two or more forward or backward slashes in a row in a path refer to a
network path. For example, a simple concatenation of the root directory
\fBc:/\fR with a subdirectory \fB/windows/system\fR will yield
@@ -295,11 +290,9 @@ The directory from which the Tcl executable was loaded.
.IP \(bu 3
The current directory.
.IP \(bu 3
The Windows NT 32-bit system directory.
The Windows 32-bit system directory.
.IP \(bu 3
The Windows NT 16-bit system directory.
.IP \(bu 3
The Windows NT home directory.
The Windows home directory.
.IP \(bu 3
The directories listed in the path.
.PP
@@ -422,7 +415,9 @@ With the file \fIcmp.bat\fR looking something like:
.CS
@gcc %*
.CE
.PP
or like another variant using single parameters:
.PP
.CS
@gcc %1 %2 %3 %4 %5 %6 %7 %8 %9
.CE
+60 -24
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1993 The Regents of the University of California.
'\" Copyright (c) 1994-2000 Sun Microsystems, Inc.
'\" Copyright (c) 2005 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\" Copyright (c) 2005 Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -17,7 +17,7 @@ expr \- Evaluate an expression
.BE
.SH DESCRIPTION
.PP
Concatenates \fIarg\fRs, separated by a space, into an expression, and evaluates
The \fIexpr\fR command concatenates \fIarg\fRs, separated by a space, into an expression, and evaluates
that expression, returning its value.
The operators permitted in an expression include a subset of
the operators permitted in C expressions. For those operators
@@ -41,27 +41,17 @@ 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
commas, possibly with whitespace between any of these elements, which is
ignored.
An integer operand may be specified in decimal (the normal case, the optional
first two characters are \fB0d\fR), binary
(the first two characters are \fB0b\fR), octal
(the first two characters are \fB0o\fR), or hexadecimal
(the first two characters are \fB0x\fR) form. For
compatibility with older Tcl releases, an operand that begins with \fB0\fR is
interpreted as an octal integer even if the second character is not \fBo\fR.
A floating-point number may be specified in any of several
common decimal formats, and may use the decimal point \fB.\fR,
\fBe\fR or \fBE\fR for scientific notation, and
the sign characters \fB+\fR and \fB\-\fR. The
following are all valid floating-point numbers: 2.1, 3., 6e4, 7.91e+16.
The strings \fBInf\fR
and \fBNaN\fR, in any combination of case, are also recognized as floating point
values. An operand that doesn't have a numeric interpretation must be quoted
with either braces or with double quotes.
.PP
An operand may be specified in any of the following ways:
.IP [1]
@@ -98,11 +88,54 @@ 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
\fBInteger value\fR
.PP
An integer operand may be specified in decimal (the normal case, the optional
first two characters are \fB0d\fR), binary
(the first two characters are \fB0b\fR), octal
(the first two characters are \fB0o\fR), or hexadecimal
(the first two characters are \fB0x\fR) form. For
compatibility with older Tcl releases, an operand that begins with \fB0\fR is
interpreted as an octal integer even if the second character is not \fBo\fR.
.PP
\fBFloating-point value\fR
.PP
A floating-point number may be specified in any of several
common decimal formats, and may use the decimal point \fB.\fR,
\fBe\fR or \fBE\fR for scientific notation, and
the sign characters \fB+\fR and \fB\-\fR. The
following are all valid floating-point numbers: 2.1, 3., 6e4, 7.91e+16.
The strings \fBInf\fR
and \fBNaN\fR, in any combination of case, are also recognized as floating point
values. An operand that doesn't have a numeric interpretation must be quoted
with either braces or with double quotes.
.PP
\fBBoolean value\fR
.PP
A boolean value may be represented by any of the values \fB0\fR, \fBfalse\fR, \fBno\fR,
or \fBoff\fR and any of the values \fB1\fR, \fBtrue\fR, \fByes\fR, or \fBon\fR.
.PP
\fBDigit Separator\fR
.PP
Digits in any numeric value may be separated with one or more underscore
characters, "\fB_\fR", to improve readability. These separators may only
appear between digits. The separator may not appear at the start of a
numeric value, between the leading 0 and radix specifier, or at the
end of a numeric value. Here are some examples:
.PP
.CS
.ta 9c
\fBexpr\fR 100_000_000 \fI100000000\fR
\fBexpr\fR 0xffff_ffff \fI4294967295\fR
\fBformat\fR 0x%x 0b1111_1110_1101_1011 \fI0xfedb\fR
.CE
.PP
.SS OPERATORS
.PP
For operators having both a numeric mode and a string mode, the numeric mode is
@@ -243,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,
@@ -460,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
@@ -474,13 +509,14 @@ set randNum [\fBexpr\fR { int(100 * rand()) }]
array(n), for(n), if(n), mathfunc(n), mathop(n), namespace(n), proc(n),
string(n), Tcl(n), while(n)
.SH KEYWORDS
arithmetic, boolean, compare, expression, fuzzy comparison
arithmetic, boolean, compare, expression, fuzzy comparison, integer value
.SH COPYRIGHT
.nf
Copyright \(co 1993 The Regents of the University of California.
Copyright \(co 1994-2000 Sun Microsystems Incorporated.
Copyright \(co 2005 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
Copyright \(co 2005 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
.fi
'\" Local Variables:
'\" mode: nroff
'\" fill-column: 78
'\" End:
+3 -3
View File
@@ -105,7 +105,7 @@ system, as returned by \fBencoding system\fR.
.TP
\fB\-eofchar\fR \fB{\fIinChar outChar\fB}\fR
.
This option supports DOS file systems that use Control-z (\ex1a) as an
This option supports DOS file systems that use Control-z (\ex1A) as an
end of file marker. If \fIchar\fR is not an empty string, then this
character signals end-of-file when it is encountered during input. For
output, the end-of-file character is output when the channel is closed.
@@ -117,9 +117,9 @@ channel you can specify a single value that will apply to both reading
and writing. When querying the end-of-file character of a read-write
channel, a two-element list will always be returned. The default value
for \fB\-eofchar\fR is the empty string in all cases except for files
under Windows. In that case the \fB\-eofchar\fR is Control-z (\ex1a) for
under Windows. In that case the \fB\-eofchar\fR is Control-z (\ex1A) for
reading and the empty string for writing.
The acceptable range for \fB\-eofchar\fR values is \ex01 - \ex7f;
The acceptable range for \fB\-eofchar\fR values is \ex01 - \ex7F;
attempting to set \fB\-eofchar\fR to a value outside of this range will
generate an error.
.TP
+23 -20
View File
@@ -38,28 +38,31 @@ generated. On Windows, FAT file systems do not support access time.
.TP
\fBfile attributes \fIname\fR ?\fIoption value option value...\fR?
.
This subcommand returns or sets platform specific values associated
with a file. The first form returns a list of the platform specific
flags and their values. The second form returns the value for the
specific option. The third form sets one or more of the values. The
values are as follows:
This subcommand returns or sets platform-specific values associated
with a file. The first form returns a list of the platform-specific
options and their values. The second form returns the value for the
given option. The third form sets one or more of the values. The values
are as follows:
.RS
.PP
On Unix, \fB\-group\fR gets or sets the group name for the file. A group id
can be given to the command, but it returns a group name. \fB\-owner\fR gets
or sets the user name of the owner of the file. The command returns the
owner name, but the numerical id can be passed when setting the
owner. \fB\-permissions\fR sets or retrieves the octal code that chmod(1)
uses. This command does also has limited support for setting using the
symbolic attributes for chmod(1), of the form [ugo]?[[+\-=][rwxst],[...]],
where multiple symbolic attributes can be separated by commas (example:
\fBu+s,go\-rw\fR add sticky bit for user, remove read and write
permissions for group and other). A simplified \fBls\fR style string,
of the form rwxrwxrwx (must be 9 characters), is also supported
(example: \fBrwxr\-xr\-t\fR is equivalent to 01755).
On versions of Unix supporting file flags, \fB\-readonly\fR gives the
value or sets or clears the readonly attribute of the file,
i.e. the user immutable flag \fBuchg\fR to chflags(1).
On Unix, \fB\-group\fR gets or sets the group name for the file. A
group id can be given to the command, but it returns a group name.
\fB\-owner\fR gets or sets the user name of the owner of the file. The
command returns the owner name, but the numerical id can be passed when
setting the owner. \fB\-permissions\fR retrieves or sets a file's
access permissions, using octal notation by default. This option also
provides limited support for setting permissions using the symbolic
notation accepted by the \fBchmod\fR command, following the form
[\fBugo\fR]?[[\fB+-=\fR][\fBrwxst\fR]\fB,\fR[...]]. Multiple permission
specifications may be given, separated by commas. E.g., \fBu+s,go-rw\fR
would set the setuid bit for a file's owner as well as remove read and
write permission for the file's group and other users. An
\fBls\fR-style string of the form \fBrwxrwxrwx\fR is also accepted but
must always be 9 characters long. E.g., \fBrwxr-xr-t\fR is equivalent
to \fB01755\fR. On versions of Unix supporting file flags,
\fB-readonly\fR returns the value of, or sets, or clears the readonly
attribute of a file, i.e., the user immutable flag (\fBuchg\fR) to the
\fBchflags\fR command.
.PP
On Windows, \fB\-archive\fR gives the value or sets or clears the
archive attribute of the file. \fB\-hidden\fR gives the value or sets
+1 -3
View File
@@ -150,9 +150,7 @@ The safest approach is to use names consisting of
alphanumeric characters only. Care should be taken with filenames
which contain spaces (common on Windows systems) and
filenames where the backslash is the directory separator (Windows
native path names). Also Windows 3.1 only supports file
names with a root of no more than 8 characters and an extension of no
more than 3 characters.
native path names).
.PP
On Windows platforms there are file and path length restrictions.
Complete paths or filenames longer than about 260 characters will lead
+3 -3
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 2018 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\" Copyright (c) 2019 by Donal Fellows
'\" Copyright (c) 2018 Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\" Copyright (c) 2019 Donal Fellows
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -12,7 +12,7 @@
.SH NAME
fpclassify \- Floating point number classification of Tcl values
.SH SYNOPSIS
package require \fBTcl 8.7\fR
package require \fBtcl 8.7\fR
.sp
\fBfpclassify \fIvalue\fR
.BE
+26 -10
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1995-1997 Sun Microsystems, Inc.
'\" Copyright (c) 1998-2000 by Ajuba Solutions.
'\" Copyright (c) 1998-2000 Ajuba Solutions.
'\" Copyright (c) 2004 ActiveState Corporation.
'\"
'\" See the file "license.terms" for information on usage and redistribution
@@ -13,7 +13,7 @@
.SH NAME
http \- Client-side implementation of the HTTP/1.1 protocol
.SH SYNOPSIS
\fBpackage require http\fI ?\fB2.8\fR?
\fBpackage require http\fI ?\fB2.9\fR?
.\" See Also -useragent option documentation in body!
.sp
\fB::http::config\fR ?\fI\-option value\fR ...?
@@ -78,6 +78,9 @@ when the transaction completes. For this to work, the Tcl event loop
must be active. In Tk applications this is always true. For pure-Tcl
applications, the caller can use \fB::http::wait\fR after calling
\fB::http::geturl\fR to start the event loop.
.PP
\fBNote:\fR The event queue is even used without the \fB-command\fR option.
As a side effect, arbitrary commands may be processed while \fBhttp::geturl\fR is running.
.SH COMMANDS
.TP
\fB::http::config\fR ?\fIoptions\fR?
@@ -170,7 +173,7 @@ throwing an error processing non-latin-1 characters.
The value of the User-Agent header in the HTTP request. In an unsafe
interpreter, the default value depends upon the operating system, and
the version numbers of \fBhttp\fR and \fBTcl\fR, and is (for example)
.QW "\fBMozilla/5.0 (Windows; U; Windows NT 10.0) http/2.8.12 Tcl/8.6.8\fR" .
.QW "\fBMozilla/5.0 (Windows; U; Windows NT 10.0) http/2.9.0 Tcl/8.6.9\fR" .
A safe interpreter cannot determine its operating system, and so the default
in a safe interpreter is to use a Windows 10 value with the current version
numbers of \fBhttp\fR and \fBTcl\fR.
@@ -259,6 +262,10 @@ proc httpHandlerCallback {socket token} {
return $nbytes
}
.CE
.PP
The \fBhttp::geturl\fR code for the \fB-handler\fR option is not compatible with either compression or chunked transfer-encoding. If \fB-handler\fR is specified, then to work around these issues \fBhttp::geturl\fR will reduce the HTTP protocol to 1.0, and override the \fB-zip\fR option (i.e. it will not send the header "\fBAccept-Encoding: gzip,deflate,compress\fR").
.PP
If options \fB-handler\fR and \fB-channel\fR are used together, the handler is responsible for copying the data from the HTTP socket to the specified channel. The name of the channel is available to the handler as element \fB-channel\fR of the token array.
.RE
.TP
\fB\-headers\fR \fIkeyvaluelist\fR
@@ -321,9 +328,11 @@ otherwise complain about HTTP/1.1.
\fB\-query\fR \fIquery\fR
.
This flag causes \fB::http::geturl\fR to do a POST request that passes the
\fIquery\fR to the server. The \fIquery\fR must be an x-url-encoding
formatted query. The \fB::http::formatQuery\fR procedure can be used to
do the formatting.
\fIquery\fR as payload verbatim to the server.
The content format (and encoding) of \fIquery\fR is announced by the header
field \fBcontent-type\fR set by the option \fB-type\fR.
\fIquery\fR is an x-url-encoding formatted query, if used for html forms.
The \fB::http::formatQuery\fR procedure can be used to do the formatting.
.TP
\fB\-queryblocksize\fR \fIsize\fR
.
@@ -547,6 +556,14 @@ is raised, but the status of the transaction will be \fBeof\fR.
.
The error message will also be stored in the \fBerror\fR status
array element, accessible via \fB::http::error\fR.
.TP
\fBtimeout\fR
.
A timeout occurred before the transaction could complete
.TP
\fBreset\fR
.
user-reset
.PP
Another error possibility is that \fB::http::geturl\fR is unable to
write all the post query data to the server before the server
@@ -662,10 +679,9 @@ the post query data to the server.
.TP
\fBstatus\fR
.
Either \fBok\fR, for successful completion, \fBreset\fR for
user-reset, \fBtimeout\fR if a timeout occurred before the transaction
could complete, or \fBerror\fR for an error condition. During the
transaction this value is the empty string.
See description in the chapter \fBERRORS\fR above for a
list and description of \fBstatus\fR.
During the transaction this value is the empty string.
.TP
\fBtotalsize\fR
.
+2 -2
View File
@@ -64,7 +64,7 @@ instance of \fBoo::object\fR or one of its subclasses.
that represents an instance of \fBoo::object\fR or one of its subclasses.
.IP \fBproc\fR
\fIcommandName\fR was created by \fBproc\fR.
.IP \fBslave\fR
.IP \fBinterp\fR
\fIcommandName\fR was created by \fBinterp create\fR.
.IP \fBzlibStream\fR
\fIcommandName\fR was created by \fBzlib stream\fR.
@@ -278,7 +278,7 @@ Returns the name of each file loaded in \fIinterp\fR va \fBload\fR as part of
\fIpackage\fR . If \fIpackage\fR is not given, returns a list where each item
is the name of the loaded file and the name of the package for which the file
was loaded. For a statically-loaded package the name of the file is the empty
string. For \fInterp\fR, the empty string is the current interpreter.
string. For \fIinterp\fR, the empty string is the current interpreter.
.TP
\fBinfo locals \fR?\fIpattern\fR?
.
+126 -122
View File
@@ -19,18 +19,18 @@ interp \- Create and manipulate Tcl interpreters
.PP
This command makes it possible to create one or more new Tcl
interpreters that co-exist with the creating interpreter in the
same application. The creating interpreter is called the \fImaster\fR
and the new interpreter is called a \fIslave\fR.
A master can create any number of slaves, and each slave can
itself create additional slaves for which it is master, resulting
same application. The creating interpreter is called the \fIparent\fR
and the new interpreter is called a \fIchild\fR.
A parent can create any number of children, and each child can
itself create additional children for which it is parent, resulting
in a hierarchy of interpreters.
.PP
Each interpreter is independent from the others: it has its own name
space for commands, procedures, and global variables.
A master interpreter may create connections between its slaves and
A parent interpreter may create connections between its children and
itself using a mechanism called an \fIalias\fR. An \fIalias\fR is
a command in a slave interpreter which, when invoked, causes a
command to be invoked in its master interpreter or in another slave
a command in a child interpreter which, when invoked, causes a
command to be invoked in its parent interpreter or in another child
interpreter. The only other connections between interpreters are
through environment variables (the \fBenv\fR variable), which are
normally shared among all interpreters in the application,
@@ -41,7 +41,7 @@ share files and to transfer references to open files from one interpreter
to another.
.PP
The \fBinterp\fR command also provides support for \fIsafe\fR
interpreters. A safe interpreter is a slave whose functions have
interpreters. A safe interpreter is a child whose functions have
been greatly restricted, so that it is safe to execute untrusted
scripts without fear of them damaging other interpreters or the
application's environment. For example, all IO channel creation
@@ -54,18 +54,18 @@ instead, it is \fIhidden\fR, so that only trusted interpreters can obtain
access to it. For a detailed explanation of hidden commands, see
\fBHIDDEN COMMANDS\fR, below.
The alias mechanism can be used for protected communication (analogous to a
kernel call) between a slave interpreter and its master.
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 master. Interpreter names are relative to the
interpreter in its immediate parent. Interpreter names are relative to the
interpreter in which they are used. For example, if
.QW \fBa\fR
is a slave of the current interpreter and it has a slave
is a child of the current interpreter and it has a child
.QW \fBa1\fR ,
which in turn has a slave
which in turn has a child
.QW \fBa11\fR ,
the qualified name of
.QW \fBa11\fR
@@ -77,14 +77,14 @@ is the list
The \fBinterp\fR command, described below, accepts qualified interpreter
names as arguments; the interpreter in which the command is being evaluated
can always be referred to as \fB{}\fR (the empty list or string). Note that
it is impossible to refer to a master (ancestor) interpreter by name in a
slave interpreter except through aliases. Also, there is no global name by
it is impossible to refer to a parent (ancestor) interpreter by name in a
child interpreter except through aliases. Also, there is no global name by
which one can refer to the first interpreter created in an application.
Both restrictions are motivated by safety concerns.
.SH "THE INTERP COMMAND"
.PP
The \fBinterp\fR command is used to create, delete, and manipulate
slave interpreters, and to share or transfer
child interpreters, and to share or transfer
channels between interpreters. It can have any of several forms, depending
on the \fIsubcommand\fR argument:
.TP
@@ -94,11 +94,11 @@ Returns a Tcl list whose elements are the \fItargetCmd\fR and
\fIarg\fRs associated with the alias represented by \fIsrcToken\fR
(this is the value returned when the alias was
created; it is possible that the name of the source command in the
slave is different from \fIsrcToken\fR).
child is different from \fIsrcToken\fR).
.TP
\fBinterp\fR \fBalias\fR \fIsrcPath\fR \fIsrcToken\fR \fB{}\fR
.
Deletes the alias for \fIsrcToken\fR in the slave interpreter identified by
Deletes the alias for \fIsrcToken\fR in the child interpreter identified by
\fIsrcPath\fR.
\fIsrcToken\fR refers to the value returned when the alias
was created; if the source command has been renamed, the renamed
@@ -106,9 +106,9 @@ command will be deleted.
.TP
\fBinterp\fR \fBalias\fR \fIsrcPath\fR \fIsrcCmd\fR \fItargetPath\fR \fItargetCmd \fR?\fIarg arg ...\fR?
.
This command creates an alias between one slave and another (see the
\fBalias\fR slave command below for creating aliases between a slave
and its master). In this command, either of the slave interpreters
This command creates an alias between one child and another (see the
\fBalias\fR child command below for creating aliases between a child
and its parent). In this command, either of the child interpreters
may be anywhere in the hierarchy of interpreters under the interpreter
invoking the command.
\fISrcPath\fR and \fIsrcCmd\fR identify the source of the alias.
@@ -117,9 +117,9 @@ interpreter. For example,
.QW "\fBa b\fR"
identifies an interpreter
.QW \fBb\fR ,
which is a slave of interpreter
which is a child of interpreter
.QW \fBa\fR ,
which is a slave of the invoking interpreter. An empty list specifies
which is a child of the invoking interpreter. An empty list specifies
the interpreter invoking the command. \fIsrcCmd\fR gives the name of
a new command, which will be created in the source interpreter.
\fITargetPath\fR and \fItargetCmd\fR specify a target interpreter
@@ -169,33 +169,33 @@ used.
.TP
\fBinterp\fR \fBcreate \fR?\fB\-safe\fR? ?\fB\-\|\-\fR? ?\fIpath\fR?
.
Creates a slave interpreter identified by \fIpath\fR and a new command,
called a \fIslave command\fR. The name of the slave command is the last
component of \fIpath\fR. The new slave interpreter and the slave command
Creates a child interpreter identified by \fIpath\fR and a new command,
called a \fIchild command\fR. The name of the child command is the last
component of \fIpath\fR. The new child interpreter and the child command
are created in the interpreter identified by the path obtained by removing
the last component from \fIpath\fR. For example, if \fIpath\fR is \fBa b
c\fR then a new slave interpreter and slave command named \fBc\fR are
c\fR then a new child interpreter and child command named \fBc\fR are
created in the interpreter identified by the path \fBa b\fR.
The slave command may be used to manipulate the new interpreter as
The child command may be used to manipulate the new interpreter as
described below. If \fIpath\fR is omitted, Tcl creates a unique name of the
form \fBinterp\fIx\fR, where \fIx\fR is an integer, and uses it for the
interpreter and the slave command. If the \fB\-safe\fR switch is specified
(or if the master interpreter is a safe interpreter), the new slave
interpreter and the child command. If the \fB\-safe\fR switch is specified
(or if the parent interpreter is a safe interpreter), the new child
interpreter will be created as a safe interpreter with limited
functionality; otherwise the slave will include the full set of Tcl
functionality; otherwise the child will include the full set of Tcl
built-in commands and variables. The \fB\-\|\-\fR switch can be used to
mark the end of switches; it may be needed if \fIpath\fR is an unusual
value such as \fB\-safe\fR. The result of the command is the name of the
new interpreter. The name of a slave interpreter must be unique among all
the slaves for its master; an error occurs if a slave interpreter by the
given name already exists in this master.
The initial recursion limit of the slave interpreter is set to the
new interpreter. The name of a child interpreter must be unique among all
the children for its parent; an error occurs if a child interpreter by the
given name already exists in this parent.
The initial recursion limit of the child interpreter is set to the
current recursion limit of its parent interpreter.
.TP
\fBinterp\fR \fBdebug \fIpath\fR ?\fB\-frame\fR ?\fIbool\fR??
.
Controls whether frame-level stack information is captured in the
slave interpreter identified by \fIpath\fR. If no arguments are
child interpreter identified by \fIpath\fR. If no arguments are
given, option and current setting are returned. If \fB\-frame\fR
is given, the debug setting is set to the given boolean if provided
and the current setting is returned.
@@ -237,8 +237,8 @@ consistency of the underlying interpreter's state.
\fBinterp\fR \fBdelete \fR?\fIpath ...\fR?
.
Deletes zero or more interpreters given by the optional \fIpath\fR
arguments, and for each interpreter, it also deletes its slaves. The
command also deletes the slave command for each interpreter deleted.
arguments, and for each interpreter, it also deletes its children. The
command also deletes the child command for each interpreter deleted.
For each \fIpath\fR argument, if no interpreter by that name
exists, the command raises an error.
.TP
@@ -246,20 +246,20 @@ exists, the command raises an error.
.
This command concatenates all of the \fIarg\fR arguments in the same
fashion as the \fBconcat\fR command, then evaluates the resulting string as
a Tcl script in the slave interpreter identified by \fIpath\fR. The result
a Tcl script in the child interpreter identified by \fIpath\fR. The result
of this evaluation (including all \fBreturn\fR options,
such as \fB\-errorinfo\fR and \fB\-errorcode\fR information, if an
error occurs) is returned to the invoking interpreter.
Note that the script will be executed in the current context stack frame of the
\fIpath\fR interpreter; this is so that the implementations (in a master
interpreter) of aliases in a slave interpreter can execute scripts in
the slave that find out information about the slave's current state
\fIpath\fR interpreter; this is so that the implementations (in a parent
interpreter) of aliases in a child interpreter can execute scripts in
the child that find out information about the child's current state
and stack frame.
.TP
\fBinterp exists \fIpath\fR
.
Returns \fB1\fR if a slave interpreter by the specified \fIpath\fR
exists in this master, \fB0\fR otherwise. If \fIpath\fR is omitted, the
Returns \fB1\fR if a child interpreter by the specified \fIpath\fR
exists in this parent, \fB0\fR otherwise. If \fIpath\fR is omitted, the
invoking interpreter is used.
.TP
\fBinterp expose \fIpath\fR \fIhiddenName\fR ?\fIexposedCmdName\fR?
@@ -285,7 +285,7 @@ Currently both \fIexposedCmdName\fR and \fIhiddenCmdName\fR can
not contain namespace qualifiers, or an error is raised.
Commands to be hidden by \fBinterp hide\fR are looked up in the global
namespace even if the current namespace is not the global one. This
prevents slaves from fooling a master interpreter into hiding the wrong
prevents children from fooling a parent interpreter into hiding the wrong
command, by making the current namespace be different from the global one.
Hidden commands are explained in more detail in \fBHIDDEN COMMANDS\fR, below.
.TP
@@ -369,12 +369,16 @@ Both interpreters must close it to close the underlying IO channel; IO
channels accessible in an interpreter are automatically closed when an
interpreter is destroyed.
.TP
\fBinterp\fR \fBslaves\fR ?\fIpath\fR?
\fBinterp\fR \fBchildren\fR ?\fIpath\fR?
.
Returns a Tcl list of the names of all the slave interpreters associated
Returns a Tcl list of the names of all the child interpreters associated
with the interpreter identified by \fIpath\fR. If \fIpath\fR is omitted,
the invoking interpreter is used.
.TP
\fBinterp\fR \fBslaves\fR ?\fIpath\fR?
.
Synonym for . \fBinterp\fR \fBchildren\fR ?\fIpath\fR?
.TP
\fBinterp\fR \fBtarget\fR \fIpath alias\fR
.
Returns a Tcl list describing the target interpreter for an alias. The
@@ -391,48 +395,48 @@ The target command does not have to be defined at the time of this invocation.
Causes the IO channel identified by \fIchannelId\fR to become available in
the interpreter identified by \fIdestPath\fR and unavailable in the
interpreter identified by \fIsrcPath\fR.
.SH "SLAVE COMMAND"
.SH "CHILD COMMAND"
.PP
For each slave interpreter created with the \fBinterp\fR command, a
new Tcl command is created in the master interpreter with the same
For each child interpreter created with the \fBinterp\fR command, a
new Tcl command is created in the parent interpreter with the same
name as the new interpreter. This command may be used to invoke
various operations on the interpreter. It has the following
general form:
.PP
.CS
\fIslave command \fR?\fIarg arg ...\fR?
\fIchild command \fR?\fIarg arg ...\fR?
.CE
.PP
\fISlave\fR is the name of the interpreter, and \fIcommand\fR
\fIChild\fR is the name of the interpreter, and \fIcommand\fR
and the \fIarg\fRs determine the exact behavior of the command.
The valid forms of this command are:
.TP
\fIslave \fBaliases\fR
\fIchild \fBaliases\fR
.
Returns a Tcl list whose elements are the tokens of all the
aliases in \fIslave\fR. The tokens correspond to the values returned when
aliases in \fIchild\fR. The tokens correspond to the values returned when
the aliases were created (which may not be the same
as the current names of the commands).
.TP
\fIslave \fBalias \fIsrcToken\fR
\fIchild \fBalias \fIsrcToken\fR
.
Returns a Tcl list whose elements are the \fItargetCmd\fR and
\fIarg\fRs associated with the alias represented by \fIsrcToken\fR
(this is the value returned when the alias was
created; it is possible that the actual source command in the
slave is different from \fIsrcToken\fR).
child is different from \fIsrcToken\fR).
.TP
\fIslave \fBalias \fIsrcToken \fB{}\fR
\fIchild \fBalias \fIsrcToken \fB{}\fR
.
Deletes the alias for \fIsrcToken\fR in the slave interpreter.
Deletes the alias for \fIsrcToken\fR in the child interpreter.
\fIsrcToken\fR refers to the value returned when the alias
was created; if the source command has been renamed, the renamed
command will be deleted.
.TP
\fIslave \fBalias \fIsrcCmd targetCmd \fR?\fIarg ..\fR?
\fIchild \fBalias \fIsrcCmd targetCmd \fR?\fIarg ..\fR?
.
Creates an alias such that whenever \fIsrcCmd\fR is invoked
in \fIslave\fR, \fItargetCmd\fR is invoked in the master.
in \fIchild\fR, \fItargetCmd\fR is invoked in the parent.
The \fIarg\fR arguments will be passed to \fItargetCmd\fR as additional
arguments, prepended before any arguments passed in the invocation of
\fIsrcCmd\fR.
@@ -441,69 +445,69 @@ The command returns a token that uniquely identifies the command created
\fIsrcCmd\fR, even if the command is renamed afterwards. The token may but
does not have to be equal to \fIsrcCmd\fR.
.TP
\fIslave \fBbgerror\fR ?\fIcmdPrefix\fR?
\fIchild \fBbgerror\fR ?\fIcmdPrefix\fR?
.
This command either gets or sets the current background exception handler
for the \fIslave\fR interpreter. If \fIcmdPrefix\fR is
for the \fIchild\fR interpreter. If \fIcmdPrefix\fR is
absent, the current background exception handler is returned, and if it is
present, it is a list of words (of minimum length one) that describes
what to set the interpreter's background exception handler to. See the
\fBBACKGROUND EXCEPTION HANDLING\fR section for more details.
.TP
\fIslave \fBeval \fIarg \fR?\fIarg ..\fR?
\fIchild \fBeval \fIarg \fR?\fIarg ..\fR?
.
This command concatenates all of the \fIarg\fR arguments in
the same fashion as the \fBconcat\fR command, then evaluates
the resulting string as a Tcl script in \fIslave\fR.
the resulting string as a Tcl script in \fIchild\fR.
The result of this evaluation (including all \fBreturn\fR options,
such as \fB\-errorinfo\fR and \fB\-errorcode\fR information, if an
error occurs) is returned to the invoking interpreter.
Note that the script will be executed in the current context stack frame
of \fIslave\fR; this is so that the implementations (in a master
interpreter) of aliases in a slave interpreter can execute scripts in
the slave that find out information about the slave's current state
of \fIchild\fR; this is so that the implementations (in a parent
interpreter) of aliases in a child interpreter can execute scripts in
the child that find out information about the child's current state
and stack frame.
.TP
\fIslave \fBexpose \fIhiddenName \fR?\fIexposedCmdName\fR?
\fIchild \fBexpose \fIhiddenName \fR?\fIexposedCmdName\fR?
.
This command exposes the hidden command \fIhiddenName\fR, eventually bringing
it back under a new \fIexposedCmdName\fR name (this name is currently
accepted only if it is a valid global name space name without any ::),
in \fIslave\fR.
in \fIchild\fR.
If an exposed command with the targeted name already exists, this command
fails.
For more details on hidden commands, see \fBHIDDEN COMMANDS\fR, below.
.TP
\fIslave \fBhide \fIexposedCmdName\fR ?\fIhiddenCmdName\fR?
\fIchild \fBhide \fIexposedCmdName\fR ?\fIhiddenCmdName\fR?
.
This command hides the exposed command \fIexposedCmdName\fR, renaming it to
the hidden command \fIhiddenCmdName\fR, or keeping the same name if the
argument is not given, in the \fIslave\fR interpreter.
argument is not given, in the \fIchild\fR interpreter.
If a hidden command with the targeted name already exists, this command
fails.
Currently both \fIexposedCmdName\fR and \fIhiddenCmdName\fR can
not contain namespace qualifiers, or an error is raised.
Commands to be hidden are looked up in the global
namespace even if the current namespace is not the global one. This
prevents slaves from fooling a master interpreter into hiding the wrong
prevents children from fooling a parent interpreter into hiding the wrong
command, by making the current namespace be different from the global one.
For more details on hidden commands, see \fBHIDDEN COMMANDS\fR, below.
.TP
\fIslave \fBhidden\fR
\fIchild \fBhidden\fR
.
Returns a list of the names of all hidden commands in \fIslave\fR.
Returns a list of the names of all hidden commands in \fIchild\fR.
.TP
\fIslave \fBinvokehidden\fR ?\fI\-option ...\fR? \fIhiddenName \fR?\fIarg ..\fR?
\fIchild \fBinvokehidden\fR ?\fI\-option ...\fR? \fIhiddenName \fR?\fIarg ..\fR?
.
This command invokes the hidden command \fIhiddenName\fR with the
supplied arguments, in \fIslave\fR. No substitutions or evaluations are
supplied arguments, in \fIchild\fR. No substitutions or evaluations are
applied to the arguments. Three \fI\-option\fRs are supported, all
of which start with \fB\-\fR: \fB\-namespace\fR (which takes a single
argument afterwards, \fInsName\fR), \fB\-global\fR, and \fB\-\|\-\fR.
If the \fB\-namespace\fR flag is given, the hidden command is invoked in
the specified namespace in the slave.
the specified namespace in the child.
If the \fB\-global\fR flag is given, the command is invoked at the global
level in the slave; otherwise it is invoked at the current call frame and
level in the child; otherwise it is invoked at the current call frame and
can access local variables in that or outer call frames.
The \fB\-\|\-\fR flag allows the \fIhiddenCmdName\fR argument to start with a
.QW \-
@@ -511,37 +515,37 @@ character, and is otherwise unnecessary.
If both the \fB\-namespace\fR and \fB\-global\fR flags are given, the
\fB\-namespace\fR flag is ignored.
Note that the hidden command will be executed (by default) in the
current context stack frame of \fIslave\fR.
current context stack frame of \fIchild\fR.
For more details on hidden commands,
see \fBHIDDEN COMMANDS\fR, below.
.TP
\fIslave \fBissafe\fR
\fIchild \fBissafe\fR
.
Returns \fB1\fR if the slave interpreter is safe, \fB0\fR otherwise.
Returns \fB1\fR if the child interpreter is safe, \fB0\fR otherwise.
.TP
\fIslave \fBlimit\fR \fIlimitType\fR ?\fI\-option\fR? ?\fIvalue\fR \fI...\fR?
\fIchild \fBlimit\fR \fIlimitType\fR ?\fI\-option\fR? ?\fIvalue\fR \fI...\fR?
.
Sets up, manipulates and queries the configuration of the resource
limit \fIlimitType\fR for the slave interpreter. If no \fI\-option\fR
limit \fIlimitType\fR for the child interpreter. If no \fI\-option\fR
is specified, return the current configuration of the limit. If
\fI\-option\fR is the sole argument, return the value of that option.
Otherwise, a list of \fI\-option\fR/\fIvalue\fR argument pairs must
supplied. See \fBRESOURCE LIMITS\fR below for a more detailed explanation of
what limits and options are supported.
.TP
\fIslave \fBmarktrusted\fR
\fIchild \fBmarktrusted\fR
.
Marks the slave interpreter as trusted. Can only be invoked by a
Marks the child interpreter as trusted. Can only be invoked by a
trusted interpreter. This command does not expose any hidden
commands in the slave interpreter. The command has no effect if the slave
commands in the child interpreter. The command has no effect if the child
is already trusted.
.TP
\fIslave\fR \fBrecursionlimit\fR ?\fInewlimit\fR?
\fIchild\fR \fBrecursionlimit\fR ?\fInewlimit\fR?
.
Returns the maximum allowable nesting depth for the \fIslave\fR interpreter.
If \fInewlimit\fR is specified, the recursion limit in \fIslave\fR will be
Returns the maximum allowable nesting depth for the \fIchild\fR interpreter.
If \fInewlimit\fR is specified, the recursion limit in \fIchild\fR will be
set so that nesting of more than \fInewlimit\fR calls to \fBTcl_Eval()\fR
and related procedures in \fIslave\fR will return an error.
and related procedures in \fIchild\fR will return an error.
The \fInewlimit\fR value is also returned.
The \fInewlimit\fR value must be a positive integer between 1 and the
maximum value of a non-long integer on the platform.
@@ -565,14 +569,14 @@ For example, commands to create files on disk are removed, and the
\fBexec\fR command is removed, since it could be used to cause damage
through subprocesses.
Limited access to these facilities can be provided, by creating
aliases to the master interpreter which check their arguments carefully
aliases to the parent interpreter which check their arguments carefully
and provide restricted access to a safe subset of facilities.
For example, file creation might be allowed in a particular subdirectory
and subprocess invocation might be allowed for a carefully selected and
fixed set of programs.
.PP
A safe interpreter is created by specifying the \fB\-safe\fR switch
to the \fBinterp create\fR command. Furthermore, any slave created
to the \fBinterp create\fR command. Furthermore, any child created
by a safe interpreter will also be safe.
.PP
A safe interpreter is created with exactly the following set of
@@ -659,15 +663,15 @@ including itself.
.SH "ALIAS INVOCATION"
.PP
The alias mechanism has been carefully designed so that it can
be used safely when an untrusted script is executing
in a safe slave and the target of the alias is a trusted
master. The most important thing in guaranteeing safety is to
ensure that information passed from the slave to the master is
never evaluated or substituted in the master; if this were to
occur, it would enable an evil script in the slave to invoke
arbitrary functions in the master, which would compromise security.
be used safely in an untrusted script which is being executed in a
safe interpreter even if the target of the alias is not a safe
interpreter. The most important thing in guaranteeing safety is to
ensure that information passed from the child to the parent is
never evaluated or substituted in the parent; if this were to
occur, it would enable an evil script in the child to invoke
arbitrary functions in the parent, which would compromise security.
.PP
When the source for an alias is invoked in the slave interpreter, the
When the source for an alias is invoked in the child interpreter, the
usual Tcl substitutions are performed when parsing that command.
These substitutions are carried out in the source interpreter just
as they would be for any other command invoked in that interpreter.
@@ -694,8 +698,8 @@ the alias's source command is parsed in the source interpreter.
When writing the \fItargetCmd\fRs for aliases in safe interpreters,
it is very important that the arguments to that command never be
evaluated or substituted, since this would provide an escape
mechanism whereby the slave interpreter could execute arbitrary
code in the master. This in turn would compromise the security
mechanism whereby the child interpreter could execute arbitrary
code in the parent. This in turn would compromise the security
of the system.
.SH "HIDDEN COMMANDS"
.PP
@@ -722,28 +726,28 @@ invoke\fR. Hidden commands and exposed commands reside in separate name
spaces. It is possible to define a hidden command and an exposed command by
the same name within one interpreter.
.PP
Hidden commands in a slave interpreter can be invoked in the body of
procedures called in the master during alias invocation. For example, an
alias for \fBsource\fR could be created in a slave interpreter. When it is
invoked in the slave interpreter, a procedure is called in the master
Hidden commands in a child interpreter can be invoked in the body of
procedures called in the parent during alias invocation. For example, an
alias for \fBsource\fR could be created in a child interpreter. When it is
invoked in the child interpreter, a procedure is called in the parent
interpreter to check that the operation is allowable (e.g. it asks to
source a file that the slave interpreter is allowed to access). The
procedure then it invokes the hidden \fBsource\fR command in the slave
source a file that the child interpreter is allowed to access). The
procedure then it invokes the hidden \fBsource\fR command in the child
interpreter to actually source in the contents of the file. Note that two
commands named \fBsource\fR exist in the slave interpreter: the alias, and
commands named \fBsource\fR exist in the child interpreter: the alias, and
the hidden command.
.PP
Because a master interpreter may invoke a hidden command as part of
Because a parent interpreter may invoke a hidden command as part of
handling an alias invocation, great care must be taken to avoid evaluating
any arguments passed in through the alias invocation.
Otherwise, malicious slave interpreters could cause a trusted master
Otherwise, malicious child interpreters could cause a trusted parent
interpreter to execute dangerous commands on their behalf. See the section
on \fBALIAS INVOCATION\fR for a more complete discussion of this topic.
To help avoid this problem, no substitutions or evaluations are
applied to arguments of \fBinterp invokehidden\fR.
.PP
Safe interpreters are not allowed to invoke hidden commands in themselves
or in their descendants. This prevents safe slaves from gaining access to
or in their descendants. This prevents them from gaining access to
hidden functionality in themselves or their descendants.
.PP
The set of hidden commands in an interpreter can be manipulated by a trusted
@@ -762,12 +766,12 @@ qualifiers, and you must first rename a command in a namespace to the
global namespace before you can hide it.
Commands to be hidden by \fBinterp hide\fR are looked up in the global
namespace even if the current namespace is not the global one. This
prevents slaves from fooling a master interpreter into hiding the wrong
prevents children from fooling a parent interpreter into hiding the wrong
command, by making the current namespace be different from the global one.
.SH "RESOURCE LIMITS"
.PP
Every interpreter has two kinds of resource limits that may be imposed by any
master interpreter upon its slaves. Command limits (of type \fBcommand\fR)
parent interpreter upon its children. Command limits (of type \fBcommand\fR)
restrict the total number of Tcl commands that may be executed by an
interpreter (as can be inspected via the \fBinfo cmdcount\fR command), and
time limits (of type \fBtime\fR) place a limit by which execution within the
@@ -776,7 +780,7 @@ interpreter must complete. Note that time limits are expressed as
\fBafter\fR) because they may be modified after creation.
.PP
When a limit is exceeded for an interpreter, first any handler callbacks
defined by master interpreters are called. If those callbacks increase or
defined by parent interpreters are called. If those callbacks increase or
remove the limit, execution within the (previously) limited interpreter
continues. If the limit is still in force, an error is generated at that point
and normal processing of errors within the interpreter (by the \fBcatch\fR
@@ -833,13 +837,13 @@ This option specifies the number of commands that the interpreter may execute
before triggering the command limit. This option may be the empty string,
which indicates that a command limit is not set for the interpreter.
.PP
Where an interpreter with a resource limit set on it creates a slave
interpreter, that slave interpreter will have resource limits imposed on it
that are at least as restrictive as the limits on the creating master
interpreter. If the master interpreter of the limited master wishes to relax
Where an interpreter with a resource limit set on it creates a child
interpreter, that child interpreter will have resource limits imposed on it
that are at least as restrictive as the limits on the creating parent
interpreter. If the parent interpreter of the limited parent wishes to relax
these conditions, it should hide the \fBinterp\fR command in the child and
then use aliases and the \fBinterp invokehidden\fR subcommand to provide such
access as it chooses to the \fBinterp\fR command to the limited master as
access as it chooses to the \fBinterp\fR command to the limited parent as
necessary.
.SH "BACKGROUND EXCEPTION HANDLING"
.PP
@@ -900,9 +904,9 @@ set i [\fBinterp create\fR]
}
.CE
.SH "SEE ALSO"
bgerror(n), load(n), safe(n), Tcl_CreateSlave(3), Tcl_Eval(3), Tcl_BackgroundException(3)
bgerror(n), load(n), safe(n), Tcl_CreateChild(3), Tcl_Eval(3), Tcl_BackgroundException(3)
.SH KEYWORDS
alias, master interpreter, safe interpreter, slave interpreter
alias, parent interpreter, safe interpreter, child interpreter
'\"Local Variables:
'\"mode: nroff
'\"End:
+3 -8
View File
@@ -124,7 +124,7 @@ will read all the \fB.tcl\fR files in subdirectory \fBfoo\fR and
generate a new index file \fBfoo/tclIndex\fR.
.PP
\fBAuto_mkindex\fR parses the Tcl scripts by sourcing them into a
slave interpreter and monitoring the proc and namespace commands that
child interpreter and monitoring the proc and namespace commands that
are executed. Extensions can use the (undocumented)
auto_mkindex_parser package to register other commands that can
contribute to the auto_load index. You will have to read through
@@ -299,18 +299,13 @@ These variables are only used in the \fBtcl_endOfWord\fR,
This variable contains a regular expression that is used by routines
like \fBtcl_endOfWord\fR to identify whether a character is part of a
word or not. If the pattern matches a character, the character is
considered to be a non-word character. On Windows platforms, spaces,
tabs, and newlines are considered non-word characters. Under Unix,
everything but numbers, letters and underscores are considered
non-word characters.
considered to be a non-word character. The default is "\\W".
.TP
\fBtcl_wordchars\fR
This variable contains a regular expression that is used by routines
like \fBtcl_endOfWord\fR to identify whether a character is part of a
word or not. If the pattern matches a character, the character is
considered to be a word character. On Windows platforms, words are
comprised of any character that is not a space, tab, or newline. Under
Unix, words are comprised of numbers, letters or underscores.
considered to be a word character. The default is "\\w".
.SH "SEE ALSO"
env(n), info(n), re_syntax(n)
.SH KEYWORDS
+1 -1
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1993 The Regents of the University of California.
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
'\" Copyright (c) 2001 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\" Copyright (c) 2001 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+1 -1
View File
@@ -13,7 +13,7 @@
link \- create link from command to method of object
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBlink\fR \fImethodName\fR ?\fI...\fR?
\fBlink\fR \fB{\fIcommandName methodName\fB}\fR ?\fI...\fR?
+39 -39
View File
@@ -13,22 +13,21 @@ load \- Load machine code and initialize new commands
.SH SYNOPSIS
\fBload\fR ?\fB\-global\fR? ?\fB\-lazy\fR? ?\fB\-\-\fR? \fIfileName\fR
.br
\fBload\fR ?\fB\-global\fR? ?\fB\-lazy\fR? ?\fB\-\-\fR? \fIfileName packageName\fR
\fBload\fR ?\fB\-global\fR? ?\fB\-lazy\fR? ?\fB\-\-\fR? \fIfileName prefix\fR
.br
\fBload\fR ?\fB\-global\fR? ?\fB\-lazy\fR? ?\fB\-\-\fR? \fIfileName packageName interp\fR
\fBload\fR ?\fB\-global\fR? ?\fB\-lazy\fR? ?\fB\-\-\fR? \fIfileName prefix interp\fR
.BE
.SH DESCRIPTION
.PP
This command loads binary code from a file into the
application's address space and calls an initialization procedure
in the package to incorporate it into an interpreter. \fIfileName\fR
in the library to incorporate it into an interpreter. \fIfileName\fR
is the name of the file containing the code; its exact form varies
from system to system but on most systems it is a shared library,
such as a \fB.so\fR file under Solaris or a DLL under Windows.
\fIpackageName\fR is the name of the package, and is used to
compute the name of an initialization procedure.
\fIprefix\fR is used to compute the name of an initialization procedure.
\fIinterp\fR is the path name of the interpreter into which to load
the package (see the \fBinterp\fR manual entry for details);
the library (see the \fBinterp\fR manual entry for details);
if \fIinterp\fR is omitted, it defaults to the
interpreter in which the \fBload\fR command was invoked.
.PP
@@ -37,32 +36,32 @@ one of two initialization procedures will be invoked in the new code.
Typically the initialization procedure will add new commands to a
Tcl interpreter.
The name of the initialization procedure is determined by
\fIpackageName\fR and whether or not the target interpreter
\fIprefix\fR and whether or not the target interpreter
is a safe one. For normal interpreters the name of the initialization
procedure will have the form \fIpkg\fB_Init\fR, where \fIpkg\fR
is the same as \fIpackageName\fR except that the first letter is
procedure will have the form \fIpfx\fB_Init\fR, where \fIpfx\fR
is the same as \fIprefix\fR except that the first letter is
converted to upper case and all other letters
are converted to lower case. For example, if \fIpackageName\fR is
are converted to lower case. For example, if \fIprefix\fR is
\fBfoo\fR or \fBFOo\fR, the initialization procedure's name will
be \fBFoo_Init\fR.
.PP
If the target interpreter is a safe interpreter, then the name
of the initialization procedure will be \fIpkg\fB_SafeInit\fR
instead of \fIpkg\fB_Init\fR.
The \fIpkg\fB_SafeInit\fR function should be written carefully, so that it
of the initialization procedure will be \fIpfx\fB_SafeInit\fR
instead of \fIpfx\fB_Init\fR.
The \fIpfx\fB_SafeInit\fR function should be written carefully, so that it
initializes the safe interpreter only with partial functionality provided
by the package that is safe for use by untrusted code. For more information
by the library that is safe for use by untrusted code. For more information
on Safe\-Tcl, see the \fBsafe\fR manual entry.
.PP
The initialization procedure must match the following prototype:
.PP
.CS
typedef int \fBTcl_PackageInitProc\fR(
typedef int \fBTcl_LibraryInitProc\fR(
Tcl_Interp *\fIinterp\fR);
.CE
.PP
The \fIinterp\fR argument identifies the interpreter in which the
package is to be loaded. The initialization procedure must return
library is to be loaded. The initialization procedure must return
\fBTCL_OK\fR or \fBTCL_ERROR\fR to indicate whether or not it completed
successfully; in the event of an error it should set the interpreter's result
to point to an error message. The result of the \fBload\fR command
@@ -74,36 +73,37 @@ interpreters, then the first \fBload\fR will load the code and
call the initialization procedure; subsequent \fBload\fRs will
call the initialization procedure without loading the code again.
For Tcl versions lower than 8.5, it is not possible to unload or reload a
package. From version 8.5 however, the \fBunload\fR command allows the unloading
library. From version 8.5 however, the \fBunload\fR command allows the unloading
of libraries loaded with \fBload\fR, for libraries that are aware of the
Tcl's unloading mechanism.
.PP
The \fBload\fR command also supports packages that are statically
linked with the application, if those packages have been registered
by calling the \fBTcl_StaticPackage\fR procedure.
If \fIfileName\fR is an empty string, then \fIpackageName\fR must
The \fBload\fR command also supports libraries that are statically
linked with the application, if those libraries have been registered
by calling the \fBTcl_StaticLibrary\fR procedure.
If \fIfileName\fR is an empty string, then \fIprefix\fR must
be specified.
.PP
If \fIpackageName\fR is omitted or specified as an empty string,
Tcl tries to guess the name of the package.
This may be done differently on different platforms.
The default guess, which is used on most UNIX platforms, is to
take the last element of \fIfileName\fR, strip off the first
three characters if they are \fBlib\fR, and use any following
alphabetic and underline characters as the module name.
For example, the command \fBload libxyz4.2.so\fR uses the module
name \fBxyz\fR and the command \fBload bin/last.so {}\fR uses the
module name \fBlast\fR.
If \fIprefix\fR is omitted or specified as an empty string,
Tcl tries to guess the prefix. This may be done differently on
different platforms. The default guess, which is used on most
UNIX platforms, is to take the last element of
\fIfileName\fR, strip off the first three characters if they
are \fBlib\fR, then strip off the next three characters if they
are \fBtcl\fR, and use any following alphabetic and
underline characters, converted to titlecase as the prefix.
For example, the command \fBload libxyz4.2.so\fR uses the prefix
\fBXyz\fR and the command \fBload bin/last.so {}\fR uses the
prefix \fBLast\fR.
.PP
If \fIfileName\fR is an empty string, then \fIpackageName\fR must
If \fIfileName\fR is an empty string, then \fIprefix\fR must
be specified.
The \fBload\fR command first searches for a statically loaded package
(one that has been registered by calling the \fBTcl_StaticPackage\fR
The \fBload\fR command first searches for a statically loaded library
(one that has been registered by calling the \fBTcl_StaticLibrary\fR
procedure) by that name; if one is found, it is used.
Otherwise, the \fBload\fR command searches for a dynamically loaded
package by that name, and uses it if it is found. If several
library by that name, and uses it if it is found. If several
different files have been \fBload\fRed with different versions of
the package, Tcl picks the file that was loaded first.
the library, Tcl picks the file that was loaded first.
.PP
If \fB\-global\fR is specified preceding the filename, all symbols
found in the shared library are exported for global use by other
@@ -111,7 +111,7 @@ libraries. The option \fB\-lazy\fR delays the actual loading of
symbols until their first actual use. The options may be abbreviated.
The option \fB\-\-\fR indicates the end of the options, and should
be used if you wish to use a filename which starts with \fB\-\fR
and you provide a packageName to the \fBload\fR command.
and you provide a prefix to the \fBload\fR command.
.PP
On platforms which do not support the \fB\-global\fR or \fB\-lazy\fR
options, the options still exist but have no effect. Note that use
@@ -154,7 +154,7 @@ The following is a minimal extension:
.CS
#include <tcl.h>
#include <stdio.h>
static int fooCmd(ClientData clientData,
static int fooCmd(void *clientData,
Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) {
printf("called with %d arguments\en", objc);
return TCL_OK;
@@ -188,7 +188,7 @@ switch $tcl_platform(platform) {
foo
.CE
.SH "SEE ALSO"
info sharedlibextension, package(n), Tcl_StaticPackage(3), safe(n)
info sharedlibextension, package(n), Tcl_StaticLibrary(3), safe(n)
.SH KEYWORDS
binary code, dynamic library, load, safe interpreter, shared library
'\"Local Variables:
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2018 by Peter Spjuth. All rights reserved.
'\" Copyright (c) 2018 Peter Spjuth. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2003 by Simon Geard. All rights reserved.
'\" Copyright (c) 2003 Simon Geard. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2006 by Donal K. Fellows. All rights reserved.
'\" Copyright (c) 2006 Donal K. Fellows. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+2 -1
View File
@@ -22,7 +22,8 @@ This command searches the elements of \fIlist\fR to see if one
of them matches \fIpattern\fR. If so, the command returns the index
of the first matching element
(unless the options \fB\-all\fR or \fB\-inline\fR are specified.)
If not, the command returns \fB\-1\fR. The \fIoption\fR arguments
If not, the command returns \fB\-1\fR or (if options \fB\-all\fR
or \fB\-inline\fR are specified) the empty string. The \fIoption\fR arguments
indicates how the elements of the list are to be matched against
\fIpattern\fR and must have one of the values below:
.SS "MATCHING STYLE OPTIONS"
+1 -1
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 2001 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\" Copyright (c) 2001 Kevin B. Kenny <kennykb@acm.org>. All rights reserved.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+3 -3
View File
@@ -1,7 +1,7 @@
'\"
'\" Copyright (c) 1993 The Regents of the University of California.
'\" Copyright (c) 1994-2000 Sun Microsystems, Inc.
'\" Copyright (c) 2005 by Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\" Copyright (c) 2005 Kevin B. Kenny <kennykb@acm.org>. All rights reserved
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -13,7 +13,7 @@
.SH NAME
mathfunc \- Mathematical functions for Tcl expressions
.SH SYNOPSIS
package require \fBTcl 8.5\fR
package require \fBTcl 8.5-\fR
.sp
\fB::tcl::mathfunc::abs\fR \fIarg\fR
.br
@@ -360,7 +360,7 @@ expr(n), fpclassify(n), mathop(n), namespace(n)
.nf
Copyright \(co 1993 The Regents of the University of California.
Copyright \(co 1994-2000 Sun Microsystems Incorporated.
Copyright \(co 2005, 2006 by Kevin B. Kenny <kennykb@acm.org>.
Copyright \(co 2005-2006 Kevin B. Kenny <kennykb@acm.org>.
.fi
'\" Local Variables:
'\" mode: nroff
+1 -1
View File
@@ -11,7 +11,7 @@
.SH NAME
mathop \- Mathematical operators as Tcl commands
.SH SYNOPSIS
package require \fBTcl 8.5\fR
package require \fBTcl 8.5-\fR
.sp
\fB::tcl::mathop::!\fR \fInumber\fR
.br
+2 -2
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1992-1999 by Karl Lehenbauer and Mark Diekhans
'\" Copyright (c) 2000 by Scriptics Corporation.
'\" Copyright (c) 1992-1999 Karl Lehenbauer & Mark Diekhans
'\" Copyright (c) 2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH memory n 8.1 Tcl "Tcl Built-In Commands"
+2 -2
View File
@@ -11,7 +11,7 @@
.SH NAME
msgcat \- Tcl message catalog
.SH SYNOPSIS
\fBpackage require Tcl 8.7\fR
\fBpackage require tcl 8.7\fR
.sp
\fBpackage require msgcat 1.7\fR
.sp
@@ -219,7 +219,7 @@ As an example, the user may prefer French or English text. This may be configure
.PP
.VS "TIP 499"
.TP
\fB::msgcat:mcloadedlocales subcommand\fR ?\fIlocale\fR?
\fB::msgcat::mcloadedlocales subcommand\fR ?\fIlocale\fR?
.
This group of commands manage the list of loaded locales for packages not setting a package locale.
.PP
+1 -1
View File
@@ -12,7 +12,7 @@
my, myclass \- invoke any method of current object or its class
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBmy\fI methodName\fR ?\fIarg ...\fR?
\fBmyclass\fI methodName\fR ?\fIarg ...\fR?
+1 -1
View File
@@ -12,7 +12,7 @@
next, nextto \- invoke superclass method implementations
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBnext\fR ?\fIarg ...\fR?
\fBnextto\fI class\fR ?\fIarg ...\fR?
+1 -1
View File
@@ -12,7 +12,7 @@
oo::object \- root class of the class hierarchy
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::object\fI method \fR?\fIarg ...\fR?
.fi
+32 -1
View File
@@ -72,7 +72,7 @@ indicate that the opened channel should be configured as if with the
reading or writing of binary data.
.PP
In the second form, \fIaccess\fR consists of a list of any of the
following flags, all of which have the standard POSIX meanings.
following flags, most of which have the standard POSIX meanings.
One of the flags must be either \fBRDONLY\fR, \fBWRONLY\fR or \fBRDWR\fR.
.TP 15
\fBRDONLY\fR
@@ -453,6 +453,12 @@ application are competing for the console at the same time. If the command
pipeline is started from a script, so that Tcl is not accessing the console,
or if the command pipeline does not use standard input or output, but is
redirected from or to a file, then the above problems do not occur.
.PP
Files opened in the
.QW \fBa\fR
mode or with the \fBAPPEND\fR flag set are implemented by seeking immediately
before each write, which is not an atomic operation and does not carry the
guarantee of strict appending that is present on POSIX platforms.
.RE
.TP
\fBUnix\fR\0\0\0\0\0\0\0
@@ -527,6 +533,19 @@ Note that the equivalent options exist on Unix, but are on the serial channel
type.
.VE "8.7, TIP 160"
.SH "EXAMPLES"
Open a file for writing, forcing it to be created and raising an error if it
already exists.
.PP
.CS
set myNewFile [\fBopen\fR filename.txt {WRONLY CREAT EXCL}]
.CE
.PP
Open a file for writing as a log file.
.PP
.CS
set myLogFile [\fBopen\fR filename.log "a"]
fconfigure $myLogFile -buffering line
.CE
.PP
Open a command pipeline and catch any errors:
.PP
@@ -538,6 +557,18 @@ if {[catch {close $fl} err]} {
}
.CE
.PP
Open a command pipeline and read binary data from it. Note the unusual form
with
.QW |[list
that handles non-trivial edge cases with arguments that potentially have
spaces in.
.PP
.CS
set fl [\fBopen\fR |[list create_image_data $input] "rb"]
set binData [read $fl]
close $fl
.CE
.PP
.VS "8.7, TIP 160"
Read a password securely from the user (assuming that the script is being run
interactively):
+2 -2
View File
@@ -1,5 +1,5 @@
'\"
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
'\" Copyright (c) 1998-2000 Scriptics Corporation.
'\" All rights reserved.
'\"
.TH pkg::create n 8.3 Tcl "Tcl Built-In Commands"
@@ -29,7 +29,7 @@ This parameter specifies the name of the package. It is required.
This parameter specifies the version of the package. It is required.
.TP
\fB\-load \fIfilespec\fR
This parameter specifies a binary library that must be loaded with the
This parameter specifies a library that must be loaded with the
\fBload\fR command. \fIfilespec\fR is a list with two elements. The
first element is the name of the file to load. The second, optional
element is a list of commands supplied by loading that file. If the
+2 -2
View File
@@ -42,7 +42,7 @@ The default pattern is \fB*.tcl\fR and \fB*.[info sharedlibextension]\fR.
\fBPkg_mkIndex\fR will create a file \fBpkgIndex.tcl\fR in \fIdir\fR
with package information about all the files given by the \fIpattern\fR
arguments.
It does this by loading each file into a slave
It does this by loading each file into a child
interpreter and seeing what packages
and new commands appear (this is why it is essential to have
\fBpackage provide\fR commands or \fBTcl_PkgProvide\fR calls
@@ -109,7 +109,7 @@ the use of \fIauto_reset\fR, and therefore its use is discouraged.
.TP 15
\fB\-load \fIpkgPat\fR
The index process will pre-load any packages that exist in the
current interpreter and match \fIpkgPat\fR into the slave interpreter used to
current interpreter and match \fIpkgPat\fR into the child interpreter used to
generate the index. The pattern match uses string match rules, but without
making case distinctions.
See \fBCOMPLEX CASES\fR below.
+22 -7
View File
@@ -137,11 +137,26 @@ later, under \fBESCAPES\fR.
.TP 8
\fB^\fR
.
matches at the beginning of a line
matches at the beginning of the string or a line (according to whether
matching is newline-sensitive or not, as described in \fBMATCHING\fR,
below).
.TP
\fB$\fR
.
matches at the end of a line
matches at the end of the string or a line (according to whether
matching is newline-sensitive or not, as described in \fBMATCHING\fR,
below).
.RS
.PP
The difference between string and line matching modes is immaterial
when the string does not contain a newline character. The \fB\eA\fR
and \fB\eZ\fR constraint escapes have a similar purpose but are
always constraints for the overall string.
.PP
The default newline-sensitivity depends on the command that uses the
regular expression, and can be overridden as described in
\fBMETASYNTAX\fR, below.
.RE
.TP
\fB(?=\fIre\fB)\fR
.
@@ -293,12 +308,12 @@ treatment is as if the enclosing delimiters were
.QW \fB[.\fR \&
and
.QW \fB.]\fR .)
For example, if \fBo\fR and \fB\[^o]\fR are the members of an
For example, if \fBo\fR and \fB\(^o\fR are the members of an
equivalence class, then
.QW \fB[[=o=]]\fR ,
.QW \fB[[=\[^o]=]]\fR ,
.QW \fB[[=\(^o=]]\fR ,
and
.QW \fB[o\[^o]]\fR \&
.QW \fB[o\(^o]\fR \&
are all synonymous. An equivalence class may not be an endpoint of a range.
.RS
.PP
@@ -431,7 +446,7 @@ commonly-used character classes:
.TP
\fB\ew\fR
.
\fB[[:alnum:]_]\fR (note underscore)
\fB[[:alnum:]_\eu203F\eu2040\eu2054\euFE33\euFE34\euFE4D\euFE4E\euFE4F\euFF3F]\fR (including punctuation connector characters)
.TP
\fB\eD\fR
.
@@ -443,7 +458,7 @@ commonly-used character classes:
.TP
\fB\eW\fR
.
\fB[^[:alnum:]_]\fR (note underscore)
\fB[^[:alnum:]_\eu203F\eu2040\eu2054\euFE33\euFE34\euFE4D\euFE4E\euFE4F\euFF3F]\fR (including punctuation connector characters)
.RE
.PP
Within bracket expressions,
+13
View File
@@ -322,6 +322,19 @@ invocation (usually \fBfconfigure\fR or \fBchan configure\fR) will appear to
have thrown this error. Any exception beyond \fBerror\fR (e.g.,\ \fBbreak\fR,
etc.) is treated as and converted to an error.
.RE
.TP
\fIcmdPrefix \fBtruncate\fR \fIchannelId length\fR
.
This \fIoptional\fR subcommand handles changing the length of the
underlying data stream for the channel \fIchannelId\fR. Its length
gets set to \fIlength\fR.
.RS
.PP
If the subcommand throws an error the command which caused its
invocation (usually \fBchan truncate\fR) will appear to have thrown
this error. Any exception beyond \fBerror\fR (e.g.,\ \fBbreak\fR,
etc.) is treated as and converted to an error.
.RE
.SH NOTES
Some of the functions supported in channels defined in Tcl's C
interface are not available to channels reflected to the Tcl level.
+59 -51
View File
@@ -11,17 +11,17 @@
.SH NAME
safe \- Creating and manipulating safe interpreters
.SH SYNOPSIS
\fB::safe::interpCreate\fR ?\fIslave\fR? ?\fIoptions...\fR?
\fB::safe::interpCreate\fR ?\fIchild\fR? ?\fIoptions...\fR?
.sp
\fB::safe::interpInit\fR \fIslave\fR ?\fIoptions...\fR?
\fB::safe::interpInit\fR \fIchild\fR ?\fIoptions...\fR?
.sp
\fB::safe::interpConfigure\fR \fIslave\fR ?\fIoptions...\fR?
\fB::safe::interpConfigure\fR \fIchild\fR ?\fIoptions...\fR?
.sp
\fB::safe::interpDelete\fR \fIslave\fR
\fB::safe::interpDelete\fR \fIchild\fR
.sp
\fB::safe::interpAddToAccessPath\fR \fIslave\fR \fIdirectory\fR
\fB::safe::interpAddToAccessPath\fR \fIchild\fR \fIdirectory\fR
.sp
\fB::safe::interpFindInAccessPath\fR \fIslave\fR \fIdirectory\fR
\fB::safe::interpFindInAccessPath\fR \fIchild\fR \fIdirectory\fR
.sp
\fB::safe::setLogCmd\fR ?\fIcmd arg...\fR?
.SS OPTIONS
@@ -44,7 +44,7 @@ application or computer. Untrusted scripts are also prevented from
disclosing information stored on the hosting computer or in the
hosting application to any party.
.PP
Safe Tcl allows a master interpreter to create safe, restricted
Safe Tcl allows a parent interpreter to create safe, restricted
interpreters that contain a set of predefined aliases for the \fBsource\fR,
\fBload\fR, \fBfile\fR, \fBencoding\fR, and \fBexit\fR commands and
are able to use the auto-loading and package mechanisms.
@@ -53,39 +53,47 @@ No knowledge of the file system structure is leaked to the
safe interpreter, because it has access only to a virtualized path
containing tokens. When the safe interpreter requests to source a file, it
uses the token in the virtual path as part of the file name to source; the
master interpreter transparently
parent interpreter transparently
translates the token into a real directory name and executes the
requested operation (see the section \fBSECURITY\fR below for details).
Different levels of security can be selected by using the optional flags
of the commands described below.
.PP
All commands provided in the master interpreter by Safe Tcl reside in
All commands provided in the parent interpreter by Safe Tcl reside in
the \fBsafe\fR namespace.
.SH COMMANDS
The following commands are provided in the master interpreter:
The following commands are provided in the parent interpreter:
.TP
\fB::safe::interpCreate\fR ?\fIslave\fR? ?\fIoptions...\fR?
\fB::safe::interpCreate\fR ?\fIchild\fR? ?\fIoptions...\fR?
Creates a safe interpreter, installs the aliases described in the section
\fBALIASES\fR and initializes the auto-loading and package mechanism as
specified by the supplied \fIoptions\fR.
See the \fBOPTIONS\fR section below for a description of the
optional arguments.
If the \fIslave\fR argument is omitted, a name will be generated.
If the \fIchild\fR argument is omitted, a name will be generated.
\fB::safe::interpCreate\fR always returns the interpreter name.
.sp
The interpreter name \fIchild\fR may include namespace separators,
but may not have leading or trailing namespace separators, or excess
colon characters in namespace separators. The interpreter name is
qualified relative to the global namespace ::, not the namespace in which
the \fB::safe::interpCreate\fR command is evaluated.
.TP
\fB::safe::interpInit\fR \fIslave\fR ?\fIoptions...\fR?
\fB::safe::interpInit\fR \fIchild\fR ?\fIoptions...\fR?
This command is similar to \fBinterpCreate\fR except it that does not
create the safe interpreter. \fIslave\fR must have been created by some
other means, like \fBinterp create\fR \fB\-safe\fR.
create the safe interpreter. \fIchild\fR must have been created by some
other means, like \fBinterp create\fR \fB\-safe\fR. The interpreter
name \fIchild\fR may include namespace separators, subject to the same
restrictions as for \fBinterpCreate\fR.
.TP
\fB::safe::interpConfigure\fR \fIslave\fR ?\fIoptions...\fR?
\fB::safe::interpConfigure\fR \fIchild\fR ?\fIoptions...\fR?
If no \fIoptions\fR are given, returns the settings for all options for the
named safe interpreter as a list of options and their current values
for that \fIslave\fR.
for that \fIchild\fR.
If a single additional argument is provided,
it will return a list of 2 elements \fIname\fR and \fIvalue\fR where
\fIname\fR is the full name of that option and \fIvalue\fR the current value
for that option and the \fIslave\fR.
for that option and the \fIchild\fR.
If more than two additional arguments are provided, it will reconfigure the
safe interpreter and change each and only the provided options.
See the section on \fBOPTIONS\fR below for options description.
@@ -105,14 +113,14 @@ safe::interpConfigure $i0 \-delete {foo bar} \-statics 0
.CE
.RE
.TP
\fB::safe::interpDelete\fR \fIslave\fR
\fB::safe::interpDelete\fR \fIchild\fR
Deletes the safe interpreter and cleans up the corresponding
master interpreter data structures.
parent interpreter data structures.
If a \fIdeleteHook\fR script was specified for this interpreter it is
evaluated before the interpreter is deleted, with the name of the
interpreter as an additional argument.
.TP
\fB::safe::interpFindInAccessPath\fR \fIslave\fR \fIdirectory\fR
\fB::safe::interpFindInAccessPath\fR \fIchild\fR \fIdirectory\fR
This command finds and returns the token for the real directory
\fIdirectory\fR in the safe interpreter's current virtual access path.
It generates an error if the directory is not found.
@@ -120,14 +128,14 @@ Example of use:
.RS
.PP
.CS
$slave eval [list set tk_library \e
$child eval [list set tk_library \e
[::safe::interpFindInAccessPath $name $tk_library]]
.CE
.RE
.TP
\fB::safe::interpAddToAccessPath\fR \fIslave\fR \fIdirectory\fR
\fB::safe::interpAddToAccessPath\fR \fIchild\fR \fIdirectory\fR
This command adds \fIdirectory\fR to the virtual path maintained for the
safe interpreter in the master, and returns the token that can be used in
safe interpreter in the parent, and returns the token that can be used in
the safe interpreter to obtain access to files in that directory.
If the directory is already in the virtual path, it only returns the token
without adding the directory to the virtual path again.
@@ -135,7 +143,7 @@ Example of use:
.RS
.PP
.CS
$slave eval [list set tk_library \e
$child eval [list set tk_library \e
[::safe::interpAddToAccessPath $name $tk_library]]
.CE
.RE
@@ -168,10 +176,10 @@ Note that the safe interpreter only received an error message saying that
the file was not found:
.PP
.CS
NOTICE for slave interp10 : Created
NOTICE for slave interp10 : Setting accessPath=(/foo/bar) staticsok=1 nestedok=0 deletehook=()
NOTICE for slave interp10 : auto_path in interp10 has been set to {$p(:0:)}
ERROR for slave interp10 : /foo/bar/init.tcl: no such file or directory
NOTICE for child interp10 : Created
NOTICE for child interp10 : Setting accessPath=(/foo/bar) staticsok=1 nestedok=0 deletehook=()
NOTICE for child interp10 : auto_path in interp10 has been set to {$p(:0:)}
ERROR for child interp10 : /foo/bar/init.tcl: no such file or directory
.CE
.RE
.SS OPTIONS
@@ -187,7 +195,7 @@ This option sets the list of directories from which the safe interpreter
can \fBsource\fR and \fBload\fR files.
If this option is not specified, or if it is given as the
empty list, the safe interpreter will use the same directories as its
master for auto-loading.
parent for auto-loading.
See the section \fBSECURITY\fR below for more detail about virtual paths,
tokens and access control.
.TP
@@ -216,7 +224,7 @@ to load packages into its own sub-interpreters.
.TP
\fB\-deleteHook\fR \fIscript\fR
When this option is given a non-empty \fIscript\fR, it will be
evaluated in the master with the name of
evaluated in the parent with the name of
the safe interpreter as an additional argument
just before actually deleting the safe interpreter.
Giving an empty value removes any currently installed deletion hook
@@ -281,8 +289,8 @@ potential for information leakage about its directory structure.
To prevent this, commands that take file names as arguments in a safe
interpreter use tokens instead of the real directory names.
These tokens are translated to the real directory name while a request to,
e.g., source a file is mediated by the master interpreter.
This virtual path system is maintained in the master interpreter for each safe
e.g., source a file is mediated by the parent interpreter.
This virtual path system is maintained in the parent interpreter for each safe
interpreter created by \fB::safe::interpCreate\fR or initialized by
\fB::safe::interpInit\fR and
the path maps tokens accessible in the safe interpreter into real path
@@ -291,7 +299,7 @@ from gaining knowledge about the
structure of the file system of the host on which the interpreter is
executing.
The only valid file names arguments
for the \fBsource\fR and \fBload\fR aliases provided to the slave
for the \fBsource\fR and \fBload\fR aliases provided to the child
are path in the form of
\fB[file join \fItoken filename\fB]\fR (i.e. when using the
native file path formats: \fItoken\fB/\fIfilename\fR
@@ -320,26 +328,26 @@ or be called
.PP
Each element of the initial access path
list will be assigned a token that will be set in
the slave \fBauto_path\fR and the first element of that list will be set as
the \fBtcl_library\fR for that slave.
the child \fBauto_path\fR and the first element of that list will be set as
the \fBtcl_library\fR for that child.
.PP
If the access path argument is not given or is the empty list,
the default behavior is to let the slave access the same packages
as the master has access to (Or to be more precise:
the default behavior is to let the child access the same packages
as the parent has access to (Or to be more precise:
only packages written in Tcl (which by definition cannot be dangerous
as they run in the slave interpreter) and C extensions that
provides a _SafeInit entry point). For that purpose, the master's
\fBauto_path\fR will be used to construct the slave access path.
In order that the slave successfully loads the Tcl library files
as they run in the child interpreter) and C extensions that
provides a _SafeInit entry point). For that purpose, the parent's
\fBauto_path\fR will be used to construct the child access path.
In order that the child successfully loads the Tcl library files
(which includes the auto-loading mechanism itself) the \fBtcl_library\fR will be
added or moved to the first position if necessary, in the
slave access path, so the slave
\fBtcl_library\fR will be the same as the master's (its real
path will still be invisible to the slave though).
In order that auto-loading works the same for the slave and
the master in this by default case, the first-level
sub directories of each directory in the master \fBauto_path\fR will
also be added (if not already included) to the slave access path.
child access path, so the child
\fBtcl_library\fR will be the same as the parent's (its real
path will still be invisible to the child though).
In order that auto-loading works the same for the child and
the parent in this by default case, the first-level
sub directories of each directory in the parent \fBauto_path\fR will
also be added (if not already included) to the child access path.
You can always specify a more
restrictive path for which sub directories will never be searched by
explicitly specifying your directory list with the \fB\-accessPath\fR flag
@@ -352,8 +360,8 @@ to synchronize its \fBauto_index\fR with the new token list.
.SH "SEE ALSO"
interp(n), library(n), load(n), package(n), source(n), unknown(n)
.SH KEYWORDS
alias, auto\-loading, auto_mkindex, load, master interpreter, safe
interpreter, slave interpreter, source
alias, auto\-loading, auto_mkindex, load, parent interpreter, safe
interpreter, child interpreter, source
'\" Local Variables:
'\" mode: nroff
'\" End:
+1 -1
View File
@@ -12,7 +12,7 @@
self \- method call internal introspection
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBself\fR ?\fIsubcommand\fR?
.fi
+1 -1
View File
@@ -12,7 +12,7 @@
oo::singleton \- a class that does only allows one instance of itself
.SH SYNOPSIS
.nf
package require TclOO
package require tcl::oo
\fBoo::singleton\fI method \fR?\fIarg ...\fR?
.fi
+1 -1
View File
@@ -1,6 +1,6 @@
'\"
'\" Copyright (c) 1996 Sun Microsystems, Inc.
'\" Copyright (c) 1998-1999 by Scriptics Corporation.
'\" Copyright (c) 1998-1999 Scriptics Corporation.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Loaded 100 of 604 files, more files were not shown because too many files have changed in this diff. Show more