From a8fa16272675ebcc957d7bf6fb1d31cf2397b933 Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 6 Jul 2020 20:34:31 +0000 Subject: Bump to 8.6.11 for release. --- README.md | 2 +- generic/tcl.h | 4 ++-- library/init.tcl | 2 +- unix/configure | 2 +- unix/configure.in | 2 +- unix/tcl.spec | 2 +- win/configure | 2 +- win/configure.in | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3b192a5..32d687b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # README: Tcl -This is the **Tcl 8.6.10** source distribution. +This is the **Tcl 8.6.11** source distribution. You can get any source release of Tcl from [our distribution site](https://sourceforge.net/projects/tcl/files/Tcl/). diff --git a/generic/tcl.h b/generic/tcl.h index 458072a..61b38e3 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -51,10 +51,10 @@ extern "C" { #define TCL_MAJOR_VERSION 8 #define TCL_MINOR_VERSION 6 #define TCL_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TCL_RELEASE_SERIAL 10 +#define TCL_RELEASE_SERIAL 11 #define TCL_VERSION "8.6" -#define TCL_PATCH_LEVEL "8.6.10" +#define TCL_PATCH_LEVEL "8.6.11" /* *---------------------------------------------------------------------------- diff --git a/library/init.tcl b/library/init.tcl index e6964e0..1841170 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -16,7 +16,7 @@ if {[info commands package] == ""} { error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]" } -package require -exact Tcl 8.6.10 +package require -exact Tcl 8.6.11 # Compute the auto path to use in this interpreter. # The values on the path come from several locations: diff --git a/unix/configure b/unix/configure index 7d40237..702914b 100755 --- a/unix/configure +++ b/unix/configure @@ -1335,7 +1335,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu TCL_VERSION=8.6 TCL_MAJOR_VERSION=8 TCL_MINOR_VERSION=6 -TCL_PATCH_LEVEL=".10" +TCL_PATCH_LEVEL=".11" VERSION=${TCL_VERSION} EXTRA_INSTALL_BINARIES=${EXTRA_INSTALL_BINARIES:-"@:"} diff --git a/unix/configure.in b/unix/configure.in index 2a66cb1..572fb48 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -25,7 +25,7 @@ m4_ifdef([SC_USE_CONFIG_HEADERS], [ TCL_VERSION=8.6 TCL_MAJOR_VERSION=8 TCL_MINOR_VERSION=6 -TCL_PATCH_LEVEL=".10" +TCL_PATCH_LEVEL=".11" VERSION=${TCL_VERSION} EXTRA_INSTALL_BINARIES=${EXTRA_INSTALL_BINARIES:-"@:"} diff --git a/unix/tcl.spec b/unix/tcl.spec index e050a30..1758836 100644 --- a/unix/tcl.spec +++ b/unix/tcl.spec @@ -4,7 +4,7 @@ Name: tcl Summary: Tcl scripting language development environment -Version: 8.6.10 +Version: 8.6.11 Release: 2 License: BSD Group: Development/Languages diff --git a/win/configure b/win/configure index cc5a3fc..1f91cf0 100755 --- a/win/configure +++ b/win/configure @@ -1312,7 +1312,7 @@ SHELL=/bin/sh TCL_VERSION=8.6 TCL_MAJOR_VERSION=8 TCL_MINOR_VERSION=6 -TCL_PATCH_LEVEL=".10" +TCL_PATCH_LEVEL=".11" VER=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION TCL_DDE_VERSION=1.4 diff --git a/win/configure.in b/win/configure.in index d1b2b20..0de00b3 100644 --- a/win/configure.in +++ b/win/configure.in @@ -14,7 +14,7 @@ SHELL=/bin/sh TCL_VERSION=8.6 TCL_MAJOR_VERSION=8 TCL_MINOR_VERSION=6 -TCL_PATCH_LEVEL=".10" +TCL_PATCH_LEVEL=".11" VER=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION TCL_DDE_VERSION=1.4 -- cgit v0.12 From d6d134614f5ad673d2c922464c11375a502efafa Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Thu, 9 Jul 2020 10:14:50 +0000 Subject: First bunch of changes. Please review! --- changes | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/changes b/changes index 090846f..258706a 100644 --- a/changes +++ b/changes @@ -8945,3 +8945,47 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich) => http 2.9.1 - Released 8.6.10, Nov 21, 2019 - details at http://core.tcl-lang.org/tcl/ - + +2019-12-03 (bug)[3cd9bea1e6] Corner case in surrogate handling (nijtmans) + +2019-12-09 (new)[2cf1202807] Add tcltest::(EvalTest|CleanupTest) (pooryorick, sebres) + +2019-12-12 (new)[23016a5299] Add 3 libtommath functions to stub table (nijtmans) + +2019-12-23 (bug)[ce3b9f2b04] compilation errors with clang, windows msys2 (nijtmans) + +2019-12-27 (bug)[1de6b0629e] number parser fails handling int overflow in exponents (kbk) + +2020-01-04 (bug)[9128866ec8] tis-620 encoding fails to load (pooryorick) + +2020-01-13 (bug)[0b9332722a] Support utf-8 on Windows console (jedlička) + +2020-01-17 (bug)[8cd2fe7474] "unload" command bug, when handling multiple libs (berc) + +2020-01-17 (bug)[5d989f9ba3] Seg fault in lsort for large list length (sebres) + +2020-01-30 (bug)[1f9f6b8596] Reset WSAGetLastError()/errno in case of earlier error (nijtmans) + +2020-01-30 (bug)[968255386e] windows: avoid create of legacy error-vars on init phase (sebres) + +2020-02-21 (bug)[da235271f1] [info hostname] on Windows is limited to max NetBIOS name length (apnadkarni) + +2020-02-25 (bug)[df73151114] release references when setting a class's superclasses fails (dkf) + +2020-02-26 (bug)[cc5c355ced] Make dde/reg compilable with C++ compiler. -> 1.4.3/1.3.5 (nijtmans) + +2020-03-04 (bug)[3a5bf9c4ee] WideSeekProc/Close2Proc() implemented for all internal channels (nijtmans) + +2020-03-05 (new)[341689c2ff] Update to Unicode-13 (nijtmans) + +2020-03-06 (new)[7f2b0f5d2d] Remove SetIndexFromAny (dgp) + +2020-03-16 (bug)[8f89e2e059] Windows: environment is not reflected properly, special characters (sebres, nijtmans) + +2020-03-27 (bug)[767e070d35] Tcl_GetRange/Tcl_GetUniChar do not validate index inputs (nijtmans) + +2020-03-28 (bug)[8edfcedfa0] binary encode base64 explodes multi-byte wrapchars (dgp) + +2020-03-31 (bug)[b8e82d293b] accepted -maxlen value breaks uuencode round trip (dgp) + +- Released 8.6.11, Aug ??, 2020 - details at http://core.tcl-lang.org/tcl/ - -- cgit v0.12 From 222c4855b0af7a4a2c83d8c8d5975df081f6088a Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 24 Jul 2020 20:24:08 +0000 Subject: Some additions to changes. --- changes | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/changes b/changes index 258706a..d6ba2e9 100644 --- a/changes +++ b/changes @@ -8986,6 +8986,15 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich) 2020-03-28 (bug)[8edfcedfa0] binary encode base64 explodes multi-byte wrapchars (dgp) -2020-03-31 (bug)[b8e82d293b] accepted -maxlen value breaks uuencode round trip (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-09 (bug)[085913] Tcl_DStringAppendElement # quoting precision (dgp) + *** POTENTIAL INCOMPATIBILITY *** + - Released 8.6.11, Aug ??, 2020 - details at http://core.tcl-lang.org/tcl/ - -- cgit v0.12 From f95a679be0ffe3951af4918b6420aea0fa1449f7 Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 11 Dec 2020 19:21:55 +0000 Subject: make dist --- unix/tclConfig.h.in | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/unix/tclConfig.h.in b/unix/tclConfig.h.in index 2aa3bb8..ce9c8d0 100644 --- a/unix/tclConfig.h.in +++ b/unix/tclConfig.h.in @@ -4,9 +4,6 @@ #ifndef _TCLCONFIG #define _TCLCONFIG -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - /* Is gettimeofday() actually declared in ? */ #undef GETTOD_NOT_DECLARED @@ -222,10 +219,10 @@ /* Is 'struct stat64' in ? */ #undef HAVE_STRUCT_STAT64 -/* Define to 1 if `st_blksize' is a member of `struct stat'. */ +/* Define to 1 if `st_blksize' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE -/* Define to 1 if `st_blocks' is a member of `struct stat'. */ +/* Define to 1 if `st_blocks' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLOCKS /* Define to 1 if you have the header file. */ @@ -366,9 +363,6 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME -/* Define to the home page for this package. */ -#undef PACKAGE_URL - /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -447,17 +441,9 @@ /* Should we use vfork() instead of fork()? */ #undef USE_VFORK -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN /* Are Darwin SUSv3 extensions available? */ #undef _DARWIN_C_SOURCE @@ -512,7 +498,7 @@ /* Define to `int' if does not define. */ #undef pid_t -/* Define to `unsigned int' if does not define. */ +/* Define to `unsigned' if does not define. */ #undef size_t /* Define as int if socklen_t is not available */ -- cgit v0.12 From 07071f7ba643537c23983cbc1972276df53ee1c1 Mon Sep 17 00:00:00 2001 From: dgp Date: Tue, 22 Dec 2020 16:34:09 +0000 Subject: Repair flaws exposed by debugging test run. --- tests/chanio.test | 4 ++-- tests/safe.test | 3 +++ tests/socket.test | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/chanio.test b/tests/chanio.test index 28da530..5381a88 100644 --- a/tests/chanio.test +++ b/tests/chanio.test @@ -6497,10 +6497,10 @@ test chan-io-50.5 {testing handler deletion vs reentrant calls} -setup { set u recursive lappend z "del calling recursive" set timer [after 50 lappend z timeout] - set mode [test servicemode 1] + set mode [testservicemode 1] vwait z after cancel $timer - test servicemode $mode + testservicemode $mode lappend z "del after update" } } diff --git a/tests/safe.test b/tests/safe.test index 1c27c1e..e4c3442 100644 --- a/tests/safe.test +++ b/tests/safe.test @@ -174,6 +174,8 @@ test safe-4.6 {safe::interpDelete, indirectly} -setup { # A replacement test using example files is "safe-9.8". # Tests 5.* test the example files before using them to test safe interpreters. +unset -nocomplain path + test safe-5.1 {example tclIndex commands, test in parent interpreter} -setup { set tmpAutoPath $::auto_path lappend ::auto_path [file join $TestsDir auto0 auto1] [file join $TestsDir auto0 auto2] @@ -1659,6 +1661,7 @@ test safe-16.8 {Bug 3529949: defang ~user in paths used by AliasGlob (2)} -setup # cleanup set ::auto_path $SaveAutoPath unset SaveAutoPath TestsDir PathMapp +unset -nocomplain path rename mapList {} rename mapAndSortList {} ::tcltest::cleanupTests diff --git a/tests/socket.test b/tests/socket.test index b590fc7..0dfff53 100644 --- a/tests/socket.test +++ b/tests/socket.test @@ -1841,7 +1841,7 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} { set ::count [expr {$maxIter / 4 * 3 - 1}]; # bypass 3/4 iterations } } - tcltest::DebugPuts 1 "== test \[$::localhost\]:$port $testmode ==" + tcltest::DebugPuts 2 "== test \[$::localhost\]:$port $testmode ==" set ::parent [thread::id] # helper thread creating async connection and initiating transfer (detach) to parent: set ::helper [thread::create] @@ -1869,7 +1869,7 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} { } # parent proc commiting transfer attempt (attach) and checking acquire was successful: proc transf_parent {fd args} { - tcltest::DebugPuts 1 "** trma / $::count ** $args **" + tcltest::DebugPuts 2 "** trma / $::count ** $args **" thread::attach $fd if {"parent-close" in $::testmode} {;# to test close during connect set ::count $::count @@ -1896,7 +1896,7 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} { break } if {[incr ::count] >= $maxIter} break - tcltest::DebugPuts 1 "** iter / $::count **" + tcltest::DebugPuts 2 "** iter / $::count **" thread::send -async $::helper [list iteration nr $::count] } update @@ -1905,7 +1905,7 @@ proc transf_test {{testmode transfer} {maxIter 1000} {maxTime 10000}} { catch {after cancel $tout} if {$srvsock ne {}} {close $srvsock} if {[info exists ::helper]} {thread::release -wait $::helper} - tcltest::DebugPuts 1 "== stop / $::count ==" + tcltest::DebugPuts 2 "== stop / $::count ==" unset -nocomplain ::count ::testmode ::parent ::helper } } -- cgit v0.12 From 89fe396bd3eb6648ccf6c6163450d868c1cb8431 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 24 Dec 2020 20:27:00 +0000 Subject: changes file updates WIP --- changes | 66 ++++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/changes b/changes index 1c2eb2f..89d4941 100644 --- a/changes +++ b/changes @@ -8946,45 +8946,42 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich) - Released 8.6.10, Nov 21, 2019 - details at http://core.tcl-lang.org/tcl/ - -2019-12-03 (bug)[3cd9bea1e6] Corner case in surrogate handling (nijtmans) +2019-12-03 (bug)[3cd9be] Corner case in surrogate handling (nijtmans) -2019-12-09 (new)[2cf1202807] Add tcltest::(EvalTest|CleanupTest) (pooryorick, sebres) +2019-12-09 (new) Add tcltest::(Setup|Eval|Cleanup|)Test (coulter,sebres) +=> tcltest 2.5.2 -2019-12-12 (new)[23016a5299] Add 3 libtommath functions to stub table (nijtmans) +2019-12-12 (new) Add 3 libtommath functions to stub table (nijtmans) -2019-12-23 (bug)[ce3b9f2b04] compilation errors with clang, windows msys2 (nijtmans) +2019-12-23 (bug)[ce3b9f] compilation errors with clang, windows msys2 (nijtmans) -2019-12-27 (bug)[1de6b0629e] number parser fails handling int overflow in exponents (kbk) +2019-12-27 (bug)[1de6b0] [expr 1e2147483648] => 0.0 (kbk) -2020-01-04 (bug)[9128866ec8] tis-620 encoding fails to load (pooryorick) +2020-01-04 (bug)[912886] tis-620 encoding fails to load (coulter) -2020-01-13 (bug)[0b9332722a] Support utf-8 on Windows console (jedlička) +2020-01-13 (bug)[0b9332] Win: support system encoding init to utf-8 (jedlička) -2020-01-17 (bug)[8cd2fe7474] "unload" command bug, when handling multiple libs (berc) +2020-01-17 (bug)[8cd2fe] [unload] corrupted list of loaded packages (berc) -2020-01-17 (bug)[5d989f9ba3] Seg fault in lsort for large list length (sebres) +2020-01-17 (bug)[5d989f] segfault in lsort for large list length (sebres) -2020-01-30 (bug)[1f9f6b8596] Reset WSAGetLastError()/errno in case of earlier error (nijtmans) +2020-01-30 (bug) Reset WSAGetLastError()/errno in channel close (nijtmans) -2020-01-30 (bug)[968255386e] windows: avoid create of legacy error-vars on init phase (sebres) +2020-02-17 (bug) Win: avoid create of legacy error-vars on init phase (sebres) -2020-02-21 (bug)[da235271f1] [info hostname] on Windows is limited to max NetBIOS name length (apnadkarni) +2020-02-25 (bug) release refs when setting class's superclasses fails (dkf) -2020-02-25 (bug)[df73151114] release references when setting a class's superclasses fails (dkf) +2020-02-26 (bug) C++ compiler compatibility for registry and dde (nijtmans) +=> registry 1.4.3 +=> dde 1.3.5 -2020-02-26 (bug)[cc5c355ced] Make dde/reg compilable with C++ compiler. -> 1.4.3/1.3.5 (nijtmans) +2020-03-05 (new) Update to Unicode-13 (nijtmans) -2020-03-04 (bug)[3a5bf9c4ee] WideSeekProc/Close2Proc() implemented for all internal channels (nijtmans) +2020-03-16 (bug)[8f89e2] Win: env var encoding, env-2.5 (sebres, nijtmans) -2020-03-05 (new)[341689c2ff] Update to Unicode-13 (nijtmans) +2020-03-27 (bug)[767e07] Tcl_Get(Range|UniChar) validate index inputs (nijtmans) -2020-03-06 (new)[7f2b0f5d2d] Remove SetIndexFromAny (dgp) - -2020-03-16 (bug)[8f89e2e059] Windows: environment is not reflected properly, special characters (sebres, nijtmans) - -2020-03-27 (bug)[767e070d35] Tcl_GetRange/Tcl_GetUniChar do not validate index inputs (nijtmans) - -2020-03-28 (bug)[8edfcedfa0] binary encode base64 explodes multi-byte wrapchars (dgp) +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 @@ -8993,16 +8990,24 @@ See RFC 2045 2020-03-31 (bug)[b8e82d] some -maxlen values break uuencode round trip (dgp) *** POTENTIAL INCOMPATIBILITY *** -2020-04-09 (bug)[085913] Tcl_DStringAppendElement # quoting precision (dgp) +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-27 (bug)[45ca23] [string tolower] inconsistency (dgp) +2020-04-16 (bug)[5e6346] Tcl_UtfPrev handling of overlong sequences (dgp) -2020-04-30 (bug)[da2352] [info hostname] on Windows is limited to max NetBIOS name length (oehlmann) +2020-04-27 (bug)[45ca23] [string tolower] inconsistency (dgp) -2020-05-07 (bug)[b2816a] Tcl_NumUtfChars counts wrong at end of malformed string (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) @@ -9036,7 +9041,7 @@ See RFC 2045 2020-09-17 (bug)[835c93] TIP #525 only implemented for non-singleproc case (nijtmans) -2020-09-19 (bug)[b9ecf3] [uplevel $list], [uplevel 1 $list] and generation of string representations (pouryorick) +2020-09-19 (bug)[b9ecf3] [uplevel $list], [uplevel 1 $list] and generation of string representations (pooryorick) 2020-09-29 (bug)[0063cb] check http::geturl -headers parameter to be a dict (oehlmann, nijtmans) @@ -9048,4 +9053,7 @@ See RFC 2045 2020-10-22 (bug)[c97593]: Usage of gnu_printf in latest mingw-w64 (nijtmans) -- Released 8.6.11, Nov ??, 2020 - details at http://core.tcl-lang.org/tcl/ - + + + +- Released 8.6.11, Dec 31, 2020 - details at http://core.tcl-lang.org/tcl/ - -- cgit v0.12 From 74c730ab62f21e90c2840ffd6cf59d3ff6082795 Mon Sep 17 00:00:00 2001 From: dgp Date: Sat, 26 Dec 2020 18:42:09 +0000 Subject: Suppress testing of known bug only when it is present. Allow tests that pass. --- tests/utf.test | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/utf.test b/tests/utf.test index ab98294..99d4c36 100644 --- a/tests/utf.test +++ b/tests/utf.test @@ -1281,7 +1281,25 @@ test utf-19.1 {TclUniCharLen} -body { test utf-20.1 {TclUniCharNcmp} ucs4 { string compare [string range [format %c 0xFFFF] 0 0] [string range [format %c 0x10000] 0 0] } -1 -test utf-20.2 {[4c591fa487] TclUniCharNcmp/TclUtfNcmp} knownBug { +test utf-20.2 {[4c591fa487] TclUniCharNcmp/TclUtfNcmp} ucs2 { + set one [format %c 0xFFFF] + set two [format %c 0x10000] + set first [string compare $one $two] + string range $one 0 0 + string range $two 0 0 + set second [string compare $one $two] + expr {($first == $second) ? "agree" : "disagree"} +} agree +test utf-20.2.1 {[4c591fa487] TclUniCharNcmp/TclUtfNcmp} {utf16 knownBug} { + set one [format %c 0xFFFF] + set two [format %c 0x10000] + set first [string compare $one $two] + string range $one 0 0 + string range $two 0 0 + set second [string compare $one $two] + expr {($first == $second) ? "agree" : "disagree"} +} agree +test utf-20.2.2 {[4c591fa487] TclUniCharNcmp/TclUtfNcmp} ucs4 { set one [format %c 0xFFFF] set two [format %c 0x10000] set first [string compare $one $two] -- cgit v0.12 From e3f7327e2c0c6dea8d2556d819875495e16c1cb6 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 28 Dec 2020 14:46:50 +0000 Subject: TIP #587 follow-up: Looks like -encoding utf-8 still was missing in some places, only visible on Windows --- library/auto.tcl | 8 ++++---- library/init.tcl | 2 +- library/package.tcl | 2 +- library/tcltest/tcltest.tcl | 18 ++++++++++++++++++ tools/genStubs.tcl | 2 +- tools/tclZIC.tcl | 4 ++-- tools/uniParse.tcl | 2 +- 7 files changed, 28 insertions(+), 10 deletions(-) diff --git a/library/auto.tcl b/library/auto.tcl index 7c9f38c..2eacf8c 100644 --- a/library/auto.tcl +++ b/library/auto.tcl @@ -265,7 +265,7 @@ proc auto_mkindex {dir args} { auto_mkindex_parser::cleanup set fid [open "tclIndex" w] - fconfigure $fid -translation lf + fconfigure $fid -encoding utf-8 -translation lf puts -nonewline $fid $index close $fid cd $oldDir @@ -292,7 +292,7 @@ proc auto_mkindex_old {dir args} { set f "" set error [catch { set f [open $file] - fconfigure $f -eofchar \032 + fconfigure $f -encoding utf-8 -eofchar \032 while {[gets $f line] >= 0} { if {[regexp {^proc[ ]+([^ ]*)} $line match procName]} { set procName [lindex [auto_qualify $procName "::"] 0] @@ -311,7 +311,7 @@ proc auto_mkindex_old {dir args} { set f "" set error [catch { set f [open tclIndex w] - fconfigure $f -translation lf + fconfigure $f -encoding utf-8 -translation lf puts -nonewline $f $index close $f cd $oldDir @@ -404,7 +404,7 @@ proc auto_mkindex_parser::mkindex {file} { set scriptFile $file set fid [open $file] - fconfigure $fid -eofchar \032 + fconfigure $fid -encoding utf-8 -eofchar \032 set contents [read $fid] close $fid diff --git a/library/init.tcl b/library/init.tcl index b25a318..c5b9705 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -442,7 +442,7 @@ proc auto_load_index {} { continue } else { set error [catch { - fconfigure $f -eofchar \032 + fconfigure $f -encoding utf-8 -eofchar \032 set id [gets $f] if {$id eq "# Tcl autoload index file, version 2.0"} { eval [read $f] diff --git a/library/package.tcl b/library/package.tcl index 7df9fe4..5f0795f 100644 --- a/library/package.tcl +++ b/library/package.tcl @@ -409,7 +409,7 @@ proc pkg_mkIndex {args} { } set f [open [file join $dir pkgIndex.tcl] w] - fconfigure $f -translation lf + fconfigure $f -encoding utf-8 -translation lf puts $f $index close $f } diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl index 7dc75d7..aebc6e5 100644 --- a/library/tcltest/tcltest.tcl +++ b/library/tcltest/tcltest.tcl @@ -399,6 +399,9 @@ namespace eval tcltest { } default { set outputChannel [open $filename a] + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $outputChannel -encoding utf-8 + } set ChannelsWeOpened($outputChannel) 1 # If we created the file in [temporaryDirectory], then @@ -443,6 +446,9 @@ namespace eval tcltest { } default { set errorChannel [open $filename a] + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $errorChannel -encoding utf-8 + } set ChannelsWeOpened($errorChannel) 1 # If we created the file in [temporaryDirectory], then @@ -785,6 +791,9 @@ namespace eval tcltest { variable Option if {$Option(-loadfile) eq {}} {return} set tmp [open $Option(-loadfile) r] + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $tmp -encoding utf-8 + } loadScript [read $tmp] close $tmp } @@ -1330,6 +1339,9 @@ proc tcltest::DefineConstraintInitializers {} { ConstraintInitializer stdio { set code 0 if {![catch {set f [open "|[list [interpreter]]" w]}]} { + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $f -encoding utf-8 + } if {![catch {puts $f exit}]} { if {![catch {close $f}]} { set code 1 @@ -2177,6 +2189,9 @@ proc tcltest::test {name description args} { set testFile [file normalize [uplevel 1 {info script}]] if {[file readable $testFile]} { set testFd [open $testFile r] + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $testFd -encoding utf-8 + } set testLine [expr {[lsearch -regexp \ [split [read $testFd] "\n"] \ "^\[ \t\]*test [string map {. \\.} $name] "] + 1}] @@ -2885,6 +2900,9 @@ proc tcltest::runAllTests { {shell ""} } { if {[catch { incr numTestFiles set pipeFd [open $cmd "r"] + if {[package vsatisfies [package provide Tcl] 8.7-]} { + fconfigure $pipeFd -encoding utf-8 + } while {[gets $pipeFd line] >= 0} { if {[regexp [join { {^([^:]+):\t} diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl index bc0d700..3f4632d 100644 --- a/tools/genStubs.tcl +++ b/tools/genStubs.tcl @@ -258,7 +258,7 @@ proc genStubs::rewriteFile {file text} { } set in [open ${file} r] set out [open ${file}.new w] - fconfigure $out -translation lf + fconfigure $out -translation lf -encoding utf-8 while {![eof $in]} { set line [gets $in] diff --git a/tools/tclZIC.tcl b/tools/tclZIC.tcl index 52b86ea..901814f 100755 --- a/tools/tclZIC.tcl +++ b/tools/tclZIC.tcl @@ -1263,7 +1263,7 @@ proc writeZones {outDir} { # Write the data to the information file set f [open $fileName w] - fconfigure $f -translation lf + fconfigure $f -translation lf -encoding utf-8 puts $f "\# created by $::argv0 - do not edit" puts $f "" puts $f [list set TZData(:$zoneName) $data] @@ -1316,7 +1316,7 @@ proc writeLinks {outDir} { # Write the file set f [open $fileName w] - fconfigure $f -translation lf + fconfigure $f -translation lf -encoding utf-8 puts $f "\# created by $::argv0 - do not edit" puts $f $ifCmd puts $f $setCmd diff --git a/tools/uniParse.tcl b/tools/uniParse.tcl index 90d249a..aec5864 100644 --- a/tools/uniParse.tcl +++ b/tools/uniParse.tcl @@ -177,7 +177,7 @@ proc uni::main {} { puts "shift = $shift, space = $size" set f [open [file join [lindex $argv 1] tclUniData.c] w] - fconfigure $f -translation lf + fconfigure $f -translation lf -encoding utf-8 puts $f "/* * tclUniData.c -- * -- cgit v0.12 From 3fdc07941a4dfabf22c2a2cd4ee8385809eac3e3 Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 28 Dec 2020 15:12:20 +0000 Subject: update changes --- changes | 57 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/changes b/changes index 89d4941..d779b89 100644 --- a/changes +++ b/changes @@ -9011,49 +9011,66 @@ See RFC 2045 2020-05-11 (bug)[d402ff] Win32 potential crash when using main() (werner) -2020-05-13 (bug)[81242a] Documentation for Tcl_UtfAtIndex() is incorrect (nijtmans) +2020-05-13 (bug)[81242a] revised documentation for Tcl_UtfAtIndex() (nijtmans) + *** POTENTIAL INCOMPATIBILITY *** -2020-05-13 (bug)[ed2980] Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytes (nijtmans) +2020-05-13 (bug)[ed2980] Tcl_UtfToUniChar reads > TCL_UTF_MAX bytes (nijtmans) + *** POTENTIAL INCOMPATIBILITY *** -2020-06-23 (bug)[41c985] library/init.tcl adds nonsense to auto_path in Safe Base interpreters (kjnash) +2020-06-02 (bug) prevent segfault in parser (sebres) -2020-06-24 (bug)[f70ce1] zlib transform issue, multi-stream inflate ignores streams after first (sebres) +2020-06-21 (bug)[f81bec] http POST a binary file (alakendu,nash) +=> http 2.9.2 -2020-07-09 (bug)[a1bd37] clock (free)scan of ISO 8601 timestamp with literal T behaves strange (sebres) +2020-06-23 (bug)[41c985] auto_path nonsense in Safe Base (nash) -2020-07-10 (bug)[501974] FreeScan resp. Oldscan does not recognize positive time zone offset (sebres) +2020-06-24 (bug)[f70ce1] zlib multi-stream inflate acts only on first (sebres) -2020-07-15 (bug)[3c6e47] Performance degradation by compiled "lappend" command (sebres) +2020-07-09 (bug)[a1bd37] [clock scan] new ISO format (clock-34.(19-24)) (sebres) + *** POTENTIAL INCOMPATIBILITY *** -2020-07-16 (bug)[5bbd04] Fix index underflow (schwab) +2020-07-10 (bug)[501974] [clock scan] +time zone (clock-34.(53-68)) (sebres) + *** POTENTIAL INCOMPATIBILITY *** -2020-07-25 (bug)[20dccf] htons-related test fails on Mac OSX Catalina (10.15) (nijtmans) +2020-07-15 (bug)[3c6e47] compiled [lappend] performance, avoid copy (sebres) -2020-07-27 (bug)[cb0373] The http::geturl -keepalive option does not work as described in the man page (kjnash) +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] calling an imported alias in a deletion trace causes Tcl to cycle (sebres) +2020-08-10 (bug)[29e884] cmd resolution cycle (namespace-57.0) (coulter,sebres) -2020-08-12 (bug)[e87000] crash for "fconfigure stdout" in Win32 (werner, nijtmans) +2020-08-12 (bug)[e87000] Tcl_BadChannelOption tolerate NULL (werner,nijtmans) -2020-08-31 (TIP #581) Master/Slave (nijtmans) +2020-08-31 (TIP #581) disfavor Master/Slave terminolgy (nijtmans) +=> opt 0.4.8 2020-09-11 (bug)[3bc0f4] UBSan complains about body.chars[] usage (nijtmans) -2020-09-17 (bug)[835c93] TIP #525 only implemented for non-singleproc case (nijtmans) +2020-09-17 (bug)[835c93] Support TIP 525 exit code for -singleproc 1 (nijtmans) +=> tcltest 2.5.3 -2020-09-19 (bug)[b9ecf3] [uplevel $list], [uplevel 1 $list] and generation of string representations (pooryorick) +2020-09-25 (new) force -eofchar \032 when evaluating library scripts (nijtmans) + *** POTENTIAL INCOMPATIBILITY *** -2020-09-29 (bug)[0063cb] check http::geturl -headers parameter to be a dict (oehlmann, nijtmans) +2020-09-29 (bug)[0063cb] http::geturl -headers must be dict (oehlmann,nijtmans) -2020-10-09 (bug)[014ade] Misleading error message when using "-path" multiple times with "glob" (nijtmans) +2020-10-19 (bug)[cb4582] Update install-sh script (stu,nijtmans) -2020-10-09 (bug)[53d515] Typo in interp.n (stu) +2020-10-22 (bug)[c97593] Usage of gnu_printf in latest mingw-w64 (nijtmans) -2020-10-19 (bug)[cb4582] Update install-sh script to latest version (stu, nijtmans) +2020-10-26 (new)[48898a] improve error message consistency (stu) + *** POTENTIAL INCOMPATIBILITY *** -2020-10-22 (bug)[c97593]: Usage of gnu_printf in latest mingw-w64 (nijtmans) +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/ - -- cgit v0.12 From 2d63680be39b94b6cdd710729293e496864890bd Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Tue, 29 Dec 2020 22:21:20 +0000 Subject: Fix [43d371ac19]: Usage of exit() without including in unix/configure --- unix/configure | 1 + 1 file changed, 1 insertion(+) diff --git a/unix/configure b/unix/configure index 150e02f..2a9ed83 100755 --- a/unix/configure +++ b/unix/configure @@ -2799,6 +2799,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -- cgit v0.12